Как избежать ярких тегов шаблона?

Это звучит очень просто, однако я не мог найти его нигде в документах. Как написать {% this %} в шаблоне liquid без его обработки движком?

Ответ 1

Для будущих поисковиков есть способ избежать без плагинов, используйте следующий код:

{{ "{% this " }}%}

и для тегов, чтобы избежать {{ this }}, используйте:

{{ "{{ this " }}}}

Для этого есть также jekyll-плагин, который делает его намного проще: https://gist.github.com/1020852

Исходный тег для jekyll. Хранит жидкость от разбора текста между {% raw%} и {% endraw%}

Ссылка

Ответ 2

можно отключить двигатель обработки жидкости с помощью тега raw:

{% raw  %}
{% this %}
{% endraw %}

отобразит

{% this %}

Ответ 3

BTW:

Если вы хотите отобразить {{ "{% this " }}%} в Jekyll, вы можете сделать следующее:

{{ "{{ " }}"{{ "{% this" }} " }}{{ "}}%}

Чтобы выйти из {{ "{{ this " }}}}, используйте:

{{ "{{ " }}"{{ "{{ this" }} " }}{{ "}}}}

Ответ 4

Вы можете избежать жидких тегов в постах Jekyll, используя {% raw%} {% endraw%} т.е.

{% raw %}
  {% for post in site.posts %}
     {{ post.content }}
  {% endfor %}

{% endraw %}

будет производить

  {% for post in site.posts %}
     {{ post.content }}
  {% endfor %}

Ответ 5

Существует еще один вариант: использовать специальные коды символов HTML для замены фигурных скобок на соответствующие коды:

  • замените каждый { на & # 123;
  • замените каждый } на & # 125;

Подробнее об этом решении см. http://www.tikalk.com/devops/curly_brances_workaround/

Ответ 6

Я нашел всемогущий способ отображения любого текста с фигурными фигурными скобками. Вы можете назначить простой текст переменной и отобразить ее.

{% assign var = "{{ sth }}" %}
{{ var }}

Ответ 7

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

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

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

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

Ответ 8

Я попробовал {% raw %} что-то {% endraw %},

и {{ "{% this " }}%}. Но они оба не работают.

наконец, мой рабочий ответ {{ "{%" xxx }} something }}.

Мой код:

{{ "{%" }} extends 'xadmin/base_site.html' %}
{{ "{%" }} block nav_form %}
    <h3>{{ "{{" }} title }}</h3>
    {{ "{%" }} for i in context1 %}
        <p>{{ "{{" }} i }}</p>
    {{ "{%" }} endfor %}
{{ "{%" }} endblock %}