Як уникнути рідких міток шаблону?


Відповіді:


121

Для майбутніх пошукачів є спосіб врятуватися без плагінів, використовуйте код нижче:

{{ "{% this " }}%}

а для тегів, щоб уникнути {{ this }}використання:

{{ "{{ this " }}}}

Для цього також існує плагін jekyll, що набагато полегшує: https://gist.github.com/1020852

Сирий тег для джекілу. Утримує рідину від синтаксичного аналізу тексту між {% raw%} та {% endraw%}

Довідково


1
Чудово, дякую за посилання. З якоїсь причини я не зміг знайти це в рідких документах.
Аттіла О.

8
Вам більше не потрібен плагін для використання {% raw %}, для мене він працює нестандартно, і тепер він є в документах
fregante

чи можна уникнути коду з `` замість {% в jekyll?
Jas

3
Перша пара пропозиції не працюють для мене, але з використанням rawзробили: {% raw %}{{ this }}{% endraw %}.
Євген Брикман

це спрацювало, дякую ... реальний приклад див. тут g14n.info/2014/08/moving-from-blogger-to-github-pages/#comments
Джанлука

120

можна відключити механізм переробки рідини за допомогою rawтегу:

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

відображатиметься

{% this %}

Я вважаю, що раніше це був плагін . Тим часом він потрапив у основний двигун?
Аттіла О.

5
Схоже, rawтег був доданий рік тому в основний движок. Дивіться github.com/Shopify/liquid/commits/master/lib/liquid/tags/raw.rb
Етьєн,

2
Однак ця втеча не підтримується Github.
leiming

2
@LeiMing Схоже, це зараз (ймовірно, з травня 2013 року )
atomicules

2
Підтверджено, це працює на сторінках GitHub. rawТег введений в рідини 2.3.0 і GitHub Pages в даний час використовується версія 2.5.5 .
Enrico Campidoglio

13

ДО:

Якщо ви хочете відображати {{ "{% this " }}%}в Jekyll, ви можете кодувати так:

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

Щоб уникнути {{ "{{ this " }}}}використання:

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

27
Ха, ха-ха-ха-ха, аааааааа.
RobW

13

Ви можете уникнути рідких міток у публікаціях Jekyll, використовуючи {% raw%} {% endraw%}, тобто

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

{% endraw %}

буде виробляти

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

10

Існує ще один варіант: використовувати спеціальні коди HTML для заміни фігурних дужок відповідними кодами:

  • замінити кожен { на & # 123;
  • замінити кожен } на & # 125;

Детальніше про це рішення див. На: http://www.tikalk.com/devops/curly_brances_workaround/


4

Я знайшов всемогутній спосіб відобразити будь-який текст фігурними дужками. Ви можете призначити змінний простому тексту та відобразити його.

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

Дякую! Корисно, щоб уникнути подвійних або одинарних лапок
JumpLink

1

Як уже згадувалося тут , прості {% raw %}і {% endraw %}є лише другим найкращим рішенням, оскільки вони відображаються, якщо ви шукаєте Націнку на звичайному github.com.

Кращий спосіб це поставити {% raw %}і {% endraw %}в коментарях HTML:

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

Завдяки коментарям HTML, Github розглядає їх як коментар. На сторінках Github сирі теги запобігають синтаксичному аналізу фігурних дужок між тегами.


Мені подобається цей метод, оскільки з якихось причин він не псується з моїми уривками.
Корстіан Боерман

0

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

Результат:

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.