Как на самом деле использовать Markdown с Meteor
Я работаю над проектом с Meteor, и я хочу, чтобы он использовал markdown, и было очень приятно видеть, что есть пакет, который можно сделать с помощью.
Итак, у меня метеор добавил вскрытие, это сработало, и теперь я могу сделать что-то вроде
{{#markdown}}
#This is a header
this is a paragraph
{{/markdown}}
и все работает отлично. Но теперь я хочу на самом деле поставить там что-то более интересное. Первая мысль заключалась в том, чтобы синхронизировать его с текстовым полем. Я попробовал три вещи. Во-первых, я пробовал это:
$('.preview').html('{{#markdown}}'+$('#text').val()+'{{/markdown}}');
Где .preview - это div, который я хочу отобразить html, а #text - это текстовое поле, где кто-то печатает. Это не работает, но это просто показывает {{#markdown}} и прочее.
Затем я попытался просто настроить div следующим образом:
<div class="preview">
{{#markdown}}
{{/markdown}}
</div>
И добавьте к нему:
$('.preview').html('#Is this an H1?');
или
$('.preview').append('*is this italics?*');
Но опять же, он просто показал текст, а не html.
Наконец, я пробовал жесткую кодировку в разделе уценки, но это явно не сработало. Такие вещи, как
<div class="preview">
{{#markdown}}
<div class="previewInner">
</div>
{{/markdown}}
</div>
или
<div class="span6 preview">
{{#markdown}}
{{>innerPreview}}
{{/markdown}}
</div>
Итак, в основном, я пробовал все, о чем я могу думать, и ничто из этого не делает то, что я хочу. Я попробовал еще несколько вещей, но думаю, что вы поняли эту идею. Как я должен использовать это?
Это легко: просто поместите свою метку в теги {{#markdown}}... {{markpoint}}.
Ответы
Ответ 1
Все внутри уценки считается уценкой, поэтому убедитесь, что вы это сделали:
{{#markdown}}{{>innerPreview}}{{/markdown}}
Вместо
{{#markdown}}
{{>innerPreview}}
{{/markdown}}
jquery не работает, потому что {{markdown}}
отображается до того, как DOM вставлен на место.
Вместо этого используйте сеанс
Template.hello.markdown_data = function() {return Session.get("markdown_data")});
Затем ваш шаблон
{{#markdown}}{{{markdown_data}}}{{/markdown}}
Затем сохраните свой документ с меткой в
Session.set("markdown_data","<your markdown data>");