Używam Jekyll do tworzenia witryny z dokumentacją, w której próbuję udokumentować kod zawierający składnię podobną do kierownic. Na przykład {{foo}}
. Problem polega na tym, że Jekyll używa płynnych tagów i bez względu na to, co robię, moje podwójne loki są wyrywane przez procesor cieczy.
Nawiasem mówiąc, używam kramdown jako procesora przecen.
Oto coś, czego próbowałem:
{% highlight html linenos %}
Hello, my name is {{name}}.
{% endhighlight %}
Ten całkowicie usuwa sekcję {{name}}, ponieważ uważa, że jest to odniesienie do zmiennej cieczy.
Próbowałem też tego:
{% highlight html linenos %}
Hello, my name is \{\{name\}\}.
{% endhighlight %}
W tym przypadku próbuję uciec przed nawiasami klamrowymi, ale w rezultacie ukośniki są renderowane na stronie.
Próbowałem nawet tego:
{% highlight html linenos %}
Hello, my name is <span>{</span>{name}}.
{% endhighlight %}
Trzeba przyznać, że ten był całkiem głupi. W tym przypadku, ponieważ określiłem składnię jako html (a musi to być), tag span jest renderowany na stronie.
Więc jak na świecie mogę to rozwiązać?
{% raw %} {{...}} {% endraw %}
taki, jaki można znaleźć w poście na blogu omawiającym ten właśnie temat?Możesz użyć,
{% raw %}
aby upewnić się, że zawartość nie jest modyfikowana przez Jekyll:Należy jednak pamiętać, że nie jest to blok kodu . Będziesz potrzebować dodatkowego formatowania kodu, aby treść była renderowana jako kod:
źródło
{% raw %}{{ foo }}{% endraw %}
za każdym razem, więc przyjrzę się temu, co tutaj zrobiłeś.Kod Jekyll to:
źródło
Do przyszłych odniesień: używając zwykłego
{% raw %}
i{% endraw %}
jest to drugie najlepsze rozwiązanie, ponieważ są one wyświetlane, jeśli spojrzysz na Markdown na zwykłym github.com.Najlepszym sposobem jest umieszczanie
{% raw %}
i{% endraw %}
w komentarzach HTML:Ze względu na komentarze HTML jest on postrzegany przez Github jako komentarz. Na stronach Github surowe tagi zapobiegną parsowaniu nawiasów klamrowych między tagami.
źródło
Działa to w Jekyll :
źródło