101 votes

Comment échapper aux balises de gabarit liquides ?

Cela semble très facile, mais je ne l'ai trouvé nulle part dans la documentation. Comment puis-je écrire {% this %} dans un liquide sans qu'il soit traité par le moteur ?

0 votes

Vous pouvez toujours commenter.

134voto

Etienne Points 1158

Il est possible de désactiver le moteur de traitement des liquides à l'aide de l'option raw étiquette :

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

s'affichera

{% this %}

0 votes

Je crois qu'il s'agissait d'un plug-in . A-t-il pénétré dans le moteur central entre-temps ?

5 votes

Il semble que le raw a été ajoutée il y a un an dans le moteur de base. Voir github.com/Shopify/liquid/commits/master/lib/liquid/tags/raw.rb

2 votes

Cependant, cet échappement n'est pas pris en charge par Github.

126voto

Khaja Minhajuddin Points 2797

Pour les futurs chercheurs, il existe est un moyen de s'échapper sans plugins, utilisez le code ci-dessous :

{{ "{% this " }}%}

et pour les étiquettes, pour s'échapper {{ this }} utiliser :

{{ "{{ this " }}}}

Il existe également un plugin Jekyll qui facilite grandement les choses : https://gist.github.com/1020852

La carte de crédit pour Jekyll. Conserve le liquide f et {% endraw %}

Référence

1 votes

Super, merci pour la référence. Pour une raison que j'ignore, je n'ai pas pu trouver cette référence dans la documentation sur les liquides.

10 votes

Vous n'avez plus besoin d'un plugin pour utiliser {% raw %} Pour ma part, il fonctionne dès sa sortie de la boîte et il est maintenant dans le système de gestion de la sécurité. les docs

2 votes

Le système de gestion de l'information de l'entreprise est un outil de gestion de l'information qui permet à l'entreprise de s'assurer de la qualité de ses services.

15voto

LeiMing Points 113

BTW :

Si vous souhaitez afficher {{ "{% this " }}%} dans Jekyll, vous pouvez coder comme ceci :

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

S'échapper {{ "{{ this " }}}} utiliser :

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

31 votes

Ha, ha hahahah ah aaaaahhh.

15voto

Ahmed Bouchefra Points 186

Vous pouvez échapper aux balises liquides dans les messages Jekyll en utilisant {% raw %} {% endraw %}, c'est-à-dire

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

{% endraw %}

produira

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

10voto

yorammi Points 2916

Il existe une autre option : utiliser les codes de caractères spéciaux HTML pour remplacer les accolades par les codes correspondants :

  • remplacer chaque { con {
  • remplacer chaque } con }

Pour plus de détails sur cette solution, voir : http://www.tikalk.com/devops/curly_brances_workaround/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X