En passant raw Markdown pour Jade
Je suis en train de jouer avec mon premier Node.js Express application, et comme chaque programmeur sait, la première chose que vous devez construire lors de l'essai d'un nouveau cadre est un blog! De toute façon, je voudrais écrire les articles en Markdown et puis l'afficher dans la vue. J'ai vu que Jade permet de ce fait à l'intérieur de la vue elle-même, à l'aide de filtres, mais je ne peux pas obtenir que le travail.
Pour simplifier la situation, voici un exemple de ce dont je parle.
//app.js
res.render("article", {
md : "Hello World!\n\n*Woo*"
});
//article.jade
section
:markdown
#{md}
Mais, que les sorties de ce: <section><h1>{md}</h1></section>
... ce n'est pas la substitution dans les variables que j'ai passé.
Puis j'ai essayé ceci:
//article.jade
section
:markdown
!{md}
Et la sortie est ceci:
<section><p>Hello World!
*Woo*</p></section>
Donc, maintenant, ce n'est pas l'analyse de la démarque!
J'ai été en mesure d'obtenir ce travail par l'analyse de la démarque dans le app.js
fichier, puis en passant le code HTML pour l'afficher à l'écran, mais je ne sais pas, cela semble un peu messier.
Est-il un moyen de faire passer des variables en Jade filtres?
- Avez-vous jamais trouver une bonne solution pour cela?
- Juste pour compléter pourquoi cela ne fonctionne pas hors de la boîte, les Filtres sont exécutés au moment de la compilation, ce qui signifie qu'ils ne peuvent pas soutenir la dynamique de contenu. Comme le dit l'avertissement sur cette page: jade-lang.com/reference/filters
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire avec une fonction passée en jade de nœud:
Puis la passer dans le point de vue local:
Rendre ensuite dans le jade vue par l'appel de la fonction:
Le nœud du module
node-markdown
est obsolète. Le marqué est avancé nouvelle version. Vous pouvez essayer comme ceciÀ l'intérieur de votre routeur
À l'intérieur de votre modèle jade
Je ne pense pas que jade pouvez faire hors de la boîte. Une façon d'accomplir ce qui peut se sentir un peu plus propre que le pré-rendu de la minoration est de créer une fonction d'assistance appelé
markdown
qui prend un abattement chaîne de caractères et renvoie le code HTML. Ensuite, vous pourriez faire quelque chose commeLa minoration de la fonction doit être inclus dans le
locals
de données lorsque vous effectuez le rendu du modèle jade et peut utiliser directement un abattement de la bibliothèque de convertir la syntaxe markdown en HTML.:markdown
filtre, mais ne l'a pas choisi pour fournir un mécanisme de chargement externe Démarque des fichiers dans ce filtre? ಠ_ಠSi vous utilisez Scalate de Jade du soutien vous pouvez entrer:
Vous pouvez également importer des fichiers externes avec: