Подтвердить что ты не робот

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

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

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

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

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

Этот раздел полностью удаляет раздел {{name}}, потому что он считает его ссылкой на переменную жидкости.

Я также пробовал это:

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

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

Я даже пробовал это:

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

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

Итак, как в мире я могу это решить?

4b9b3361

Ответ 1

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

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

Ответ 2

Вы можете использовать {% raw %}, чтобы гарантировать, что контент не изменен Jekyll:

{% 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 %}

Ответ 3

С jekyll код:

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

Ответ 4

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

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

Ответ 5

Для будущих ссылок: использование простых {% raw %} и {% endraw %} - только второе лучшее решение, так как они показаны, если вы посмотрите Markdown на обычном github.com.

Лучший способ - поместить {% raw %} и {% endraw %} в комментарии HTML:

<!-- {% raw %} -->
something with curlky brackets like { this } and { that }
<!-- {% endraw %} -->

Из-за HTML-комментариев Github воспринимается как комментарий. На страницах Github необработанные теги предотвратят разбор фигурных скобок между тегами.