Cela semble très simple, mais je ne l'ai trouvé nulle part dans la documentation. Comment puis-je écrire {% this %}
dans un modèle liquide , sans qu'il soit traité par le moteur?
Réponses:
Pour les futurs chercheurs, il existe un moyen de s'échapper sans plugins, utilisez le code ci-dessous:
{{ "{% this " }}%}
et pour les balises, pour éviter d' {{ this }}
utiliser:
{{ "{{ this " }}}}
Il existe également un plugin jekyll pour cela qui le rend beaucoup plus facile: https://gist.github.com/1020852
Balise brute pour jekyll. Empêche les liquides d'analyser le texte entre {% raw%} et {% endraw%}
{% raw %}
, pour moi cela fonctionne hors de la boîte et maintenant c'est dans la documentation
raw
fait: {% raw %}{{ this }}{% endraw %}
.
il est possible de désactiver le moteur de traitement des liquides à l'aide de la raw
balise:
{% raw %}
{% this %}
{% endraw %}
Affichera
{% this %}
raw
balise ait été ajoutée il y a un an dans le moteur principal. Voir github.com/Shopify/liquid/commits/master/lib/liquid/tags/raw.rb
raw
balise a été introduite dans Liquid 2.3.0 et GitHub Pages utilise actuellement la version 2.5.5 .
Vous pouvez échapper aux balises liquides dans les messages Jekyll en utilisant {% raw%} {% endraw%} ie
{% raw %}
{% for post in site.posts %}
{{ post.content }}
{% endfor %}
{% endraw %}
produira
{% for post in site.posts %}
{{ post.content }}
{% endfor %}
Il existe une autre option: utiliser des codes de caractères spéciaux HTML pour remplacer les accolades par ses codes correspondants:
- remplacez chaque { par & # 123;
- remplacez chaque } par & # 125;
Pour plus de détails sur cette solution, consultez: http://www.tikalk.com/devops/curly_brances_workaround/
J'ai trouvé un moyen omnipotent d'afficher n'importe quel texte avec des accolades. Vous pouvez affecter du texte brut à une variable et l'afficher.
{% assign var = "{{ sth }}" %}
{{ var }}
Comme il est mentionné ici aussi, plaine {% raw %}
et {% endraw %}
sont la deuxième meilleure solution puisque ceux -ci sont affichés si vous regardez le Markdown sur github.com normal.
Le meilleur moyen est de mettre {% raw %}
et {% endraw %}
dans les commentaires HTML:
<!-- {% raw %} -->
something with curlky brackets like { this } and { that }
<!-- {% endraw %} -->
En raison des commentaires HTML, Github le voit comme un commentaire. Dans les pages Github, les balises brutes empêcheront l'analyse des accolades entre les balises.
J'ai essayé {% raw %}
quelque chose {% endraw %}
,
et {{ "{% this " }}%}
. Mais ils ne fonctionnent pas tous les deux.
enfin, ma réponse de travail est
{{ "{%" xxx }} something }}
.
Mon code:
{{ "{%" }} extends 'xadmin/base_site.html' %}
{{ "{%" }} block nav_form %}
<h3>{{ "{{" }} title }}</h3>
{{ "{%" }} for i in context1 %}
<p>{{ "{{" }} i }}</p>
{{ "{%" }} endfor %}
{{ "{%" }} endblock %}
Le résultat:
{% extends 'xadmin/base_site.html' %}
{% block nav_form %}
<h3>{{ title }}</h3>
{% for i in context1 %}
<p>{{ i }}</p>
{% endfor %}
{% endblock %}