Ich verwende Jekyll, um eine Dokumentationssite zu erstellen, auf der ich versuche, Code zu dokumentieren, der eine Lenker-ähnliche Syntax enthält. Zum Beispiel {{foo}}
. Das Problem ist, dass Jekyll flüssige Etiketten verwendet. Egal was ich mache, meine doppelten Curlys werden vom Flüssigkeitsprozessor herausgerissen.
Übrigens verwende ich kramdown als Markdown-Prozessor.
Hier habe ich etwas ausprobiert:
{% highlight html linenos %}
Hello, my name is {{name}}.
{% endhighlight %}
Dieser entfernt den Abschnitt {{name}} vollständig, da er der Meinung ist, dass es sich um einen Verweis auf eine flüssige Variable handelt.
Ich habe auch folgendes versucht:
{% highlight html linenos %}
Hello, my name is \{\{name\}\}.
{% endhighlight %}
In diesem Fall versuche ich, den geschweiften Klammern zu entkommen, aber das Ergebnis ist, dass die Schrägstriche in die Seite gerendert werden.
Ich habe es sogar ausprobiert:
{% highlight html linenos %}
Hello, my name is <span>{</span>{name}}.
{% endhighlight %}
Zugegeben, dieser war ziemlich dumm. In diesem Fall wird das span-Tag in die Seite gerendert, da ich die Syntax als html angegeben habe (was es sein muss).
Wie in aller Welt kann ich das lösen?
Sie suchen nach dem {% raw %}
-Tag.
{% raw %}
Hello, my name is {{name}}.
{% endraw %}
Sie können {% raw %}
verwenden, um sicherzustellen, dass der Inhalt von Jekyll nicht geändert wird:
{% raw %}
This is inserted literally: {{foo}}
{% endraw %}
Beachten Sie jedoch, dass dies kein Codeblock ist. Sie benötigen zusätzliche Code-Formatierungen, damit Ihr Inhalt als Code gerendert wird:
{% raw %}
I'm a code block, because I'm indented by 4 spaces
{% endraw %}
{% raw %}
```handlebars
I'm a code block that contains {{handlebars}}
with highlighting.
```
{% endraw %}
Bei Jekyll lautet der Code:
{% highlight html%}
{% raw %}
<h2> {{ user.name.first | uppercase }}</h2>
<p> {{ user.email }}</p>
{% endraw %}
{% endhighlight %}
Das funktioniert in jekyll :
{%raw%}{{thing}}{%endraw%}
Für zukünftige Referenzen: Die Verwendung von {% raw %}
und {% endraw %}
ist nur die zweitbeste Lösung, da diese angezeigt werden, wenn Sie den Markdown auf normalem github.com nachschlagen.
Der beste Weg ist, {% raw %}
und {% endraw %}
in HTML-Kommentare einzufügen:
<!-- {% raw %} -->
something with curlky brackets like { this } and { that }
<!-- {% endraw %} -->
Aufgrund der HTML-Kommentare wird es von Github als Kommentar gesehen. In Github-Seiten verhindern die Raw-Tags das Parsen der geschweiften Klammern zwischen den Tags.