Brzmi to bardzo łatwo, jednak nie mogłem go znaleźć nigdzie w dokumentacji. Jak mogę pisać {% this %}
w płynnym szablonie, bez przetwarzania go przez silnik?
Odpowiedzi:
Dla przyszłych poszukiwaczy, nie jest to sposób na ucieczkę bez wtyczek, należy użyć poniższy kod:
{{ "{% this " }}%}
a dla tagów, aby uniknąć {{ this }}
użycia:
{{ "{{ this " }}}}
Istnieje również wtyczka jekyll, która znacznie ułatwia to: https://gist.github.com/1020852
Surowy tag dla jekyll. Chroni płyn przed analizowaniem tekstu między {% raw%} a {% endraw%}
{% raw %}
, dla mnie działa po wyjęciu z pudełka, a teraz jest w dokumentacji
raw
tak: {% raw %}{{ this }}{% endraw %}
.
istnieje możliwość wyłączenia silnika przetwarzania cieczy za pomocą raw
tagu:
{% raw %}
{% this %}
{% endraw %}
wyświetli się
{% this %}
raw
tag został dodany rok temu w głównym silniku. Zobacz github.com/Shopify/liquid/commits/master/lib/liquid/tags/raw.rb
raw
Tag został wprowadzony w ciekłym 2.3.0 i GitHub Strony aktualnie używa wersji 2.5.5 .
Możesz uniknąć płynnych tagów w postach Jekyll za pomocą {% raw%} {% endraw%} ie
{% raw %}
{% for post in site.posts %}
{{ post.content }}
{% endfor %}
{% endraw %}
będzie produkować
{% for post in site.posts %}
{{ post.content }}
{% endfor %}
Jest jeszcze jedna opcja: aby użyć kodów znaków specjalnych HTML do zastąpienia nawiasów klamrowych pasującymi kodami:
- wymienić każdy { o -123;
- wymienić każdy } z & # 125;
Więcej informacji na temat tego rozwiązania można znaleźć pod adresem : http://www.tikalk.com/devops/curly_brances_workaround/
Znalazłem wszechmocny sposób na wyświetlanie dowolnego tekstu za pomocą nawiasów klamrowych. Możesz przypisać zwykły tekst do zmiennej i wyświetlić ją.
{% assign var = "{{ sth }}" %}
{{ var }}
Jak wspomniano tutaj również, proste {% raw %}
i {% endraw %}
są tylko drugim najlepszym rozwiązaniem, 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:
<!-- {% raw %} -->
something with curlky brackets like { this } and { that }
<!-- {% endraw %} -->
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.
Próbowałem {% raw %}
czegoś{% endraw %}
,
i {{ "{% this " }}%}
. Ale oboje nie działają.
wreszcie moja robocza odpowiedź brzmi
{{ "{%" xxx }} something }}
.
Mój kod:
{{ "{%" }} extends 'xadmin/base_site.html' %}
{{ "{%" }} block nav_form %}
<h3>{{ "{{" }} title }}</h3>
{{ "{%" }} for i in context1 %}
<p>{{ "{{" }} i }}</p>
{{ "{%" }} endfor %}
{{ "{%" }} endblock %}
Wynik:
{% extends 'xadmin/base_site.html' %}
{% block nav_form %}
<h3>{{ title }}</h3>
{% for i in context1 %}
<p>{{ i }}</p>
{% endfor %}
{% endblock %}