Vorbei an rohen Markdown-text in Jade
Ich bin Herumspielen mit meinem ersten Node.js Express Anwendung, und wie jeder Programmierer weiß, ist die erste Sache, die Sie bauen sollten beim testen einen neuen Rahmen ist ein blog! Wie auch immer, ich möchte die Artikel schreiben in Markdown und dann machen Sie es in der Ansicht. Ich sah, dass Jade dies geschieht in der view selbst, die Verwendung von filtern, aber ich kann nicht, dass die Arbeit.
Die Lage zu vereinfachen, hier ein Beispiel von was ich spreche.
//app.js
res.render("article", {
md : "Hello World!\n\n*Woo*"
});
//article.jade
section
:markdown
#{md}
Aber, dass die Ausgänge dieses: <section><h1>{md}</h1></section>
... es ist nicht zu ersetzen-in der Variablen, die ich übergeben habe, um es.
Dann habe ich versucht, dieses:
//article.jade
section
:markdown
!{md}
Und die Ausgabe ist:
<section><p>Hello World!
*Woo*</p></section>
So, jetzt ist es nicht das Parsen von markdown!
War ich in der Lage zu bekommen dies funktioniert, indem das Parsen von markdown in der app.js
- Datei und übergeben Sie die HTML-Ansicht für die Anzeige, aber ich weiß nich, das scheint mir ein bisschen messier.
Gibt es eine Möglichkeit zur übergabe von Variablen in Jade-Filter?
- Haben Sie jemals finden eine gute Lösung für dieses?
- Nur zur Ergänzung, warum das nicht funktioniert out of the box, werden die Filter ausgeführt werden zur compile-Zeit, d.h. Sie unterstützen keine dynamischen Inhalte. Wie sagt der Warnung auf diese Seite: jade-lang.com/reference/filters
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie dies mit einer Funktion übergeben jade von Knoten:
Dann geben Sie in die Ansicht, wie ein local:
Dann machen Sie es in die jade view durch Aufruf der Funktion:
Dem Knoten Modul
node-markdown
ist veraltet. Die markiert ist die neue, erweiterte version. Sie können versuchen, wie dieseIn Ihrem router
In Ihrem jade-Vorlage
Ich glaube nicht, dass jade können dies tun, aus der box. Ein Weg, um es zu erreichen, dass vielleicht das Gefühl, etwas sauberer als pre-rendering der markdown ist eine Hilfsfunktion erstellen namens
markdown
nimmt eine markdown-string und gibt HTML. Dann könnte man etwas tun, wieDen markdown-Funktion, sollte in der
locals
Daten, wenn Sie machen die jade-template und kann direkt mit einem markdown-Bibliothek zur Konvertierung des markdown-syntax zu HTML.:markdown
- filter, aber nicht einen Mechanismus bereitstellen, der laden externe Markdown-Dateien in diesem filter? ಠ_ಠWenn Sie Scalate Jade-Unterstützung können Sie:
Können Sie auch importieren Sie externe Dateien mit: