Comment utilise-t-on Markdown avec Meteor

Je travaille sur un projet avec Meteor, et je veux qu'il utilise le markdown, et il était très agréable de voir qu'il y a un paquet pour le faire.

J'ai donc ajouté une confrontation, cela a fonctionné, et maintenant je peux faire quelque chose comme

{{#markdown}} #This is a header this is a paragraph {{/markdown}} 

Et cela fonctionne très bien. Mais maintenant, je veux mettre quelque chose de plus intéressant ici. La première pensée était de le synchroniser avec une zone de texte. J'ai essayé trois choses. D'abord, j'ai essayé ceci:

 $('.preview').html('{{#markdown}}'+$('#text').val()+'{{/markdown}}'); 

Où .preview est un div que je veux que html apparaisse et #text est la zone de texte où quelqu'un tape. Cela ne fonctionne pas, il montre simplement le {{#markdown}} et les choses.

Ensuite, j'ai essayé de configurer le div comme ceci:

 <div class="preview"> {{#markdown}} {{/markdown}} </div> 

Et ajoutez-le avec:

 $('.preview').html('#Is this an H1?'); 

ou

 $('.preview').append('*is this italics?*'); 

Mais encore une fois, il a simplement montré le texte, pas le html.

Enfin, j'ai essayé de coder des choses dans la section de réduction, mais cela ne fonctionnait tout simplement pas. Des choses comme

 <div class="preview"> {{#markdown}} <div class="previewInner"> </div> {{/markdown}} </div> 

ou

 <div class="span6 preview"> {{#markdown}} {{>innerPreview}} {{/markdown}} </div> 

Donc, fondamentalement, j'ai essayé tout ce que je peux penser et rien de ce que je veux. J'ai essayé quelques autres choses, mais je pense que vous avez l'idée. Comment suis-je censé utiliser cela?

C'est simple: mettez votre marque à l'intérieur des balises {{#markdown}} … {{/ markdown}}.

Tout à l'intérieur de la marge est considéré comme un marquage, alors assurez-vous de le faire:

 {{#markdown}}{{>innerPreview}}{{/markdown}} 

Au lieu de

 {{#markdown}} {{>innerPreview}} {{/markdown}} 

Le jquery ne fonctionnerait pas car {{markdown}} est rendu avant que le DOM ne soit mis en place.

Utilisez plutôt une session

 Template.hello.markdown_data = function() {return Session.get("markdown_data")}); 

Ensuite, votre modèle

 {{#markdown}}{{{markdown_data}}}{{/markdown}} 

Ensuite, enregistrez votre document de réduction dans

Session.set("markdown_data","<your markdown data>");