Comment puis-je rendre markdown dans express.js modèle jade?
- Je utiliser l'express js cadre. J'ai un markdownified chaîne à partir de la base de données et souhaitez le rendre comme le HTML dans mon modèle jade. J'ai installé nœud-markdown et voulez le rendre de cette façon:
app.js
var md = require("node-markdown").Markdown;
modèle.jade
- each note in todo.notes
div= md(note.string)
Cependant, il n'a pas d'imprimer quoi que ce soit... des conseils?
Merci!
EDIT: résolu moi-même, juste oublié de le rapport de variable dans mon point de vue...
Je vous recommande de répondre à votre propre question. Avec une indication de la façon d'injecter md variable dans la vue.
allons le faire. merci 🙂
vous pouvez poster votre réponse sur la façon dont vous parvenu à ce résultat?
Pour les gens qui arrivent ici à 2016: Jade est maintenant Carlin
allons le faire. merci 🙂
vous pouvez poster votre réponse sur la façon dont vous parvenu à ce résultat?
Pour les gens qui arrivent ici à 2016: Jade est maintenant Carlin
OriginalL'auteur Tronic | 2011-06-15
Vous devez vous connecter pour publier un commentaire.
Il y a le concept de "filtres" qui exposent un "compilateur" ou "filtre" visiteur à une partie du modèle jade.
Découvrez: https://github.com/visionmedia/jade
filtres
:sass doit avoir sass.js installé
:moins doit avoir less.js installé
:markdown doit avoir markdown-js installé ou nœud-discount
:cdata
:coffeescript doit avoir coffee-script installé
Vous l'utilisez via cette syntaxe dans un modèle:
http://jade-lang.com/reference/filters/
Bien que cette réponse est correcte, il ne traite pas spécifiquement de répondre à la question depuis
Filters are compile time. This makes them fast but means they cannot support dynamic content.
OriginalL'auteur Josh
J'ai trouvé la solution moi-même:
Était le problème, j'ai oublié de passer le md variable dans mon point de vue. donc, ce que vous avez à faire pour obtenir le nœud-markdown module en cours d'exécution est la suivante:
app.js l'en-tête
app.js itinéraire (en passant le rapport de variable)
modèle.jade
j'ai compris pourquoi elle était sortie comme évadé html - je n'avais pas
div!= md(str)
pour garder le moteur de rendu de l'assainissement du html.si vous utilisez une variable, souvent, il pourrait être une bonne idée de l'écrire dans l'app.les habitants? de cette façon, vous pouvez simplement y accéder en tant que md à partir de votre point de vue aussi bien et ont l'habitude de les transmettre à chaque vue.
En fonction de votre rendu besoins, vous n'avez pas besoin de la
div
, il est possible d'utiliser simplement comme suit:!= md(note.string)
OriginalL'auteur Tronic
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
OriginalL'auteur Fizer Khan
Si vous utilisez Marqué, dans votre Jade fichier, vous pouvez faire quelque chose d'aussi simple que cela:
md is not a filter
OriginalL'auteur FilmiHero
Vous pouvez utiliser marqué, alors vous pouvez faire les instructions suivantes:
app.js
Maintenant, vous pouvez appeler la fonction à chaque fois que vous le souhaitez sur le modèle de jade, par exemple dans votre cas:
modèle.jade
OriginalL'auteur Eries Trisnadi