Экранирование двойных фигурных скобок внутри блока кода markdown в Jekyll

Я использую Jekyll для создания сайта документации, где я пытаюсь документировать некоторый код, содержащий синтаксис, подобный рулю. Например {{foo}}. Проблема в том, что Джекилл использует жидкие метки, и независимо от того, что я делаю, мои двойные завитки вырываются жидким процессором.

кстати, я использую kramdown в качестве процессора markdown.

вот что я пробовал:

{% highlight html linenos %}
  Hello, my name is {{name}}.
{% endhighlight %}

этот полностью удаляет раздел {{name}} потому что он думает, что это ссылка на переменную liquid.

Я также попытался это:

{% highlight html linenos %}
  Hello, my name is {{name}}.
{% endhighlight %}

в этом случае я пытаюсь избежать фигурных скобок, но в результате косые черты отображаются на странице.

Я даже попытался это:

{% highlight html linenos %}
  Hello, my name is <span>{</span>{name}}.
{% endhighlight %}

правда, это было довольно глупо. В этом случае, поскольку я указал синтаксис как html (который он должен быть), тег span отображается на странице.

так как в мире не может Я разрешу это?

4 ответов


Вы ищите {% raw %} тег.

{% raw %}
Hello, my name is {{name}}.
{% endraw %}

можно использовать {% raw %} обеспечить содержание неизмененной Джекилл:

{% raw %}
This is inserted literally: {{foo}}
{% endraw %}
обратите внимание, что это Не блок кода. Вам понадобится дополнительное форматирование кода, чтобы ваш контент отображался как код:
{% 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 %}

С помощью jekyll код:

{% highlight html%}
{% raw %}
     <h2> {{ user.name.first | uppercase }}</h2>
     <p> {{ user.email }}</p>
{% endraw %}
{% endhighlight %}

это работает в Джекил:

{%raw%}{{thing}}{%endraw%}