我正在使用 Meteor 做一个项目,我希望它使用 markdown,很高兴看到有一个包可以用来做这件事。
所以我添加了 meteor showdown,它起作用了,现在我可以做类似的事情了
{{#markdown}}
#This is a header
this is a paragraph
{{/markdown}}
而且效果很好。但现在我想把更有趣的东西放在那里。首先想到的是将其与文本区域同步。我尝试了三件事。首先,我尝试了这个:
$('.preview').html('{{#markdown}}'+$('#text').val()+'{{/markdown}}');
其中 .preview 是我希望 html 显示在其中的 div,#text 是某人正在键入的文本区域。但这不起作用,它只是显示 {{#markdown}} 和东西。
接下来,我试着像这样设置 div:
<div class="preview">
{{#markdown}}
{{/markdown}}
</div>
并添加:
$('.preview').html('#Is this an H1?');
或
$('.preview').append('*is this italics?*');
但同样,它只显示文本,而不是 html。
最后,我尝试将一些东西硬编码到 markdown 部分,但这显然行不通。像
这样的事情<div class="preview">
{{#markdown}}
<div class="previewInner">
</div>
{{/markdown}}
</div>
或
<div class="span6 preview">
{{#markdown}}
{{>innerPreview}}
{{/markdown}}
</div>
所以基本上,我已经尝试了所有我能想到的方法,但没有一个能达到我想要的效果。我尝试了更多的东西,但我想你明白了。我该如何使用它?
It's easy: just put your markdown inside {{#markdown}} ... {{/markdown}} tags.
最佳答案
markdown 中的所有内容都被视为 markdown,因此请确保您这样做:
{{#markdown}}{{>innerPreview}}{{/markdown}}
代替
{{#markdown}}
{{>innerPreview}}
{{/markdown}}
jquery 无法工作,因为 {{markdown}}
在 DOM 就位之前呈现。
改为使用 session
Template.hello.markdown_data = function() {return Session.get("markdown_data")});
然后是你的模板
{{#markdown}}{{{markdown_data}}}{{/markdown}}
然后将你的markdown文档存入
Session.set("markdown_data","<your markdown data>");
关于javascript - 如何在 Meteor 中实际使用 Markdown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17030845/