2015-05-14 9 views
10

Ich habe eine Jekyll-Website, mit Posts geschrieben in Markdown mit dem Kramdown-Parser.Jekyll Raw HTML in Post

Ich möchte etwas rohes HTML innerhalb der Post hinzufügen. Wenn ich jedoch versuche, den HTML-Code hinzuzufügen, parst er ihn als Markdown (indem er beispielsweise < zu &lt; ändert).

Ich habe versucht:

  • den HTML-Code in einem eigenen Absatz Hinzufügen.
  • Einschließlich einer .html Datei.
  • Hinzufügen von markdown="0" zum HTML-Tag (auch ausprobiert 1).
  • Einrücken (und Wrapping in Triple Back-Tick) mit allen oben genannten.
  • Verwendung von Raw-Tags

Beispiel von dem, was ich habe:

Some **markdown** `here` 

<iframe src="asd"></iframe> 

More *markdown*. 

Der iframe ausgegeben werden soll als HTML, Text nicht analysiert.

Ich verwende Github-Seiten, daher sind Jekyll-Erweiterungen nicht optional.

Antwort

8

Der HTML-Code wurde ignoriert, da einige Tag-Attribute keine Anführungszeichen hatten. Zum Beispiel width=500 sollte width="500" sein

Nichts anderes wurde benötigt. Der HTML-Code befindet sich in eigenen Absätzen ohne Einrückung und wird analysiert.

5

Für andere als Referenz, um sicherzustellen, dass Kramdown RAW HTML nicht verarbeitet/analysiert, kann das Attribut markdown="0" hinzugefügt werden. Dadurch wird sichergestellt, dass der Kramdown-Parser den Block des HTML-Tags nicht berührt.

Beispiel:

Input Markdown: - hello

Output HTML: 

      <ul> 
      <li>hello</li> 
      </ul> 

Mit dem Attribut markdown = "0":

Input markdown: <div markdown = "0"> - hello </div>

Output HTML: <div markdown = "0"> - hello </div>

Vom Kramdown documentation (Tipp: Ihr Browser für das Schlüsselwort ‚raw‘ aussehen finden verwenden, um abspringen zu entsprechenden Abschnitten):

Wenn ein HTML-Tag ein Attribut Abschlag = „0“ hat, dann wird der Tag als roh analysiert HTML-Block.

Wenn ein HTML-Tag ein Attribut markdown = "1" hat, wird der Standardmechanismus für die Syntaxanalyse in diesem Tag verwendet. Wenn ein HTML-Tag ein Attribut markdown = "block" hat, dann wird der Inhalt des Tags als Block-Level-Elemente analysiert.

Wenn ein HTML-Tag ein Attribut markdown = "span" hat, dann wird der Inhalt von der Tag als Elemente der Bereichsebene analysiert.

Auch alle allgemeinen XML-Tags werden als rohe HTML-Blöcke geparst.

+0

Wie gesagt, das hat eigentlich nicht funktioniert, ich vermute es würde aber typischerweise mit dem "ungültigen" HTML korrigiert werden. –