Isso parece muito fácil, mas não consegui encontrar em nenhum lugar dos documentos. Como posso escrever {% this %}
em um template líquido , sem que seja processado pelo motor?
Respostas:
Para futuros pesquisadores, não é uma maneira de escapar sem plugins, use o código abaixo:
{{ "{% this " }}%}
e para tags, para escapar do {{ this }}
uso:
{{ "{{ this " }}}}
Também existe um plugin jekyll para isso que torna tudo muito mais fácil: https://gist.github.com/1020852
Tag bruta para jekyll. Evita que o líquido analise o texto entre {% raw%} e {% endraw%}
{% raw %}
, para mim ele funciona fora da caixa e agora está nos documentos
raw
fiz: {% raw %}{{ this }}{% endraw %}
.
é possível desativar o mecanismo de processamento de líquidos usando a raw
tag:
{% raw %}
{% this %}
{% endraw %}
Exibirá
{% this %}
raw
tag foi adicionada há um ano no mecanismo principal. Consulte github.com/Shopify/liquid/commits/master/lib/liquid/tags/raw.rb
raw
tag foi introduzida no Liquid 2.3.0 e o GitHub Pages está usando a versão 2.5.5 .
Você pode escapar das tags líquidas nas postagens do Jekyll usando {% raw%} {% endraw%}, ou seja,
{% raw %}
{% for post in site.posts %}
{{ post.content }}
{% endfor %}
{% endraw %}
vai produzir
{% for post in site.posts %}
{{ post.content }}
{% endfor %}
Há outra opção: usar códigos de caracteres especiais HTML para substituir as chaves por seus códigos correspondentes:
- substitua cada { por & # 123;
- substitua cada } por & # 125;
Para obter mais detalhes sobre esta solução, consulte: http://www.tikalk.com/devops/curly_brances_workaround/
Eu encontrei uma maneira onipotente de exibir qualquer texto entre chaves. Você pode atribuir texto simples a uma variável e exibi-lo.
{% assign var = "{{ sth }}" %}
{{ var }}
Como mencionado aqui também, simples {% raw %}
e {% endraw %}
são apenas a segunda melhor solução, já que são mostrados se você procurar o Markdown em github.com normal.
A melhor maneira é colocar {% raw %}
e {% endraw %}
em comentários HTML:
<!-- {% raw %} -->
something with curlky brackets like { this } and { that }
<!-- {% endraw %} -->
Devido aos comentários em HTML, ele é visto pelo Github como um comentário. Nas páginas do Github, as tags brutas evitarão a análise das chaves entre as tags.
Eu tentei {% raw %}
algo {% endraw %}
,
e {{ "{% this " }}%}
. Mas ambos não funcionam.
finalmente, minha resposta útil é
{{ "{%" xxx }} something }}
.
Meu código:
{{ "{%" }} extends 'xadmin/base_site.html' %}
{{ "{%" }} block nav_form %}
<h3>{{ "{{" }} title }}</h3>
{{ "{%" }} for i in context1 %}
<p>{{ "{{" }} i }}</p>
{{ "{%" }} endfor %}
{{ "{%" }} endblock %}
O resultado:
{% extends 'xadmin/base_site.html' %}
{% block nav_form %}
<h3>{{ title }}</h3>
{% for i in context1 %}
<p>{{ i }}</p>
{% endfor %}
{% endblock %}