2014-02-28 14 views
6

ich Markdown in Jekyll v1.4.2 für Windows bin mit, und ich habe meinen derzeitigen Auszug Tag „< --excerpt ->“ gesetztJekyll/Markdown HTML-Kommentar-Tag Literale umgewandelt

Allerdings, wenn ich setzen Sie den Kommentar-Tag in meiner .markdown Datei wie folgt:

blog entry excerpt is here 
<!--excerpt--> 

blog entry continues 

Jekyll wandelt die < und> in dem Kommentar-Tags zu > und <, und der Kommentar zeigt in meinem letzten HTML-up, das wie folgt aussieht:

<p> blog entry excerpt is here &lt;!--excerpt&gt;</p> 
<p> blog entry continues</p> 

Funnily wird der Tag noch erkannt und Auszug arbeitet im Blog

Um den Tag als ein tatsächliches Kommentar, ich habe dies zu tun:

blog entry excerpt is here 

<!--excerpt--> 

blog entry continues 

das gibt mir:

<p> blog entry excerpt is here</p> 
<!--excerpt--> 
<p> blog entry continues</p> 

Ist das beabsichtigte Verhalten in Jekyll? Ich konnte mit diesem Problem keinen anderen finden und es dauerte Stunden, bis ich es herausgefunden hatte, also hoffe ich zumindest, dass es jemand anderem hilft.

Antwort

3

Es scheint, dass dies das beabsichtigte Verhalten für Jekyll und seinen Markdown-Prozessor ist. Per den Markdown specification for Paragraph elements ist

Ein Absatz einfach eine oder mehr aufeinanderfolgende Zeilen Text, getrennt durch eine oder mehr Leerzeilen.

Im Wesentlichen wurde Ihr Auszug als Teil des Absatzelements interpretiert. Wenn Sie die leere Zeile zwischen Ihrem Kommentar und der vorherigen Zeile hinzugefügt haben, wurde sie nach dem abschließenden Tag </p> eingefügt und erschien wie von Ihnen vorgesehen.

+1

Leider existiert "die" Markdown-Spezifikation nicht (siehe auch Jeff Atwoods [Die Zukunft von Markdown] (http://blog.codinghorror.com/the-future-of-markdown/)). In diesem Fall könnte man gut argumentieren, dass die ''-Syntax * inline * HTML ist und als solche" [t] muss man sie nicht vorschreiben oder abgrenzen, um anzuzeigen, dass Sie von Markdown zu HTML wechseln; Sie benutze einfach die Tags. " (nach der gleichen Spezifikation).Kommentare sind kein "Blocklevel-HTML-Element" und sollten daher keine Leerzeilen benötigen. – usr2564301

0

Verwenden Sie den Markdown-Parser redcarpet ... es ist viel für Fehlerverzeihung, so dass Sie HTML in .md-Dateien verwenden können. (Ohne die HTML-Markup zeigt, wo Sie wollen es nicht)

  1. cd Ihr/Projekt/dir
  2. gem install redcarpet
  3. bundle install
  4. folgende Zeile zu Gemfilegem 'redcarpet'
  5. add diese Linie zu Ihrem _config.ymlmarkdown: redcarpet

Dies hat für mich funktioniert, als ich HTML in .md verwenden wollte, aber das HTML-Markup selbst wurde in die Seite gerendert.

Hoffe, es funktioniert für Sie!