液体テンプレートタグをエスケープする方法


90

これはとても簡単に聞こえますが、ドキュメントのどこにも見つかりませんでした。エンジンで処理せず{% this %}に、液体テンプレートに書き込むにはどうすればよいですか?


回答:


121

将来サーチャーのために、そこにある下のコードを使用し、プラグインなしで脱出する方法は:

{{ "{% this " }}%}

タグの場合、{{ this }}使用をエスケープするには:

{{ "{{ this " }}}}

このためのjekyllプラグインもあります。これにより、非常に簡単になります。https://gist.github.com/1020852

ジキルの未加工タグ。{%raw%}と{%endraw%}の間のテキストを解析しないようにします

参照


1
参考までに、ありがとうございます。何らかの理由で、液体ドキュメントでこれを見つけることができませんでした。
Attila O.

8
使用するプラグインは不要になり{% raw %}ました。私にとってはそのまま使用でき、現在はドキュメントに含まれています
fregante

{%in jekyllの代わりに `` `でコードをエスケープすることは可能ですか?
Jas

3
最初のいくつかの提案は私にとってはうまくいきませんでしたが、使用するとrawうまくいきました:{% raw %}{{ this }}{% endraw %}
Yevgeniy Brikman、2015年

それは働いた、ありがとう...ここで実際の例を参照してくださいg14n.info/2014/08/moving-from-blogger-to-github-pages/#comments
Gianluca Casati

120

rawタグを使用して液体処理エンジンを無効にすることが可能です:

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

表示されます

{% this %}

以前はプラグインでした。それまでの間、コアエンジンに入りましたか?
Attila O.

5
raw1年前にコアエンジンにタグが追加されたようです。github.com/Shopify/liquid/commits/master/lib/liquid/tags/raw.rb
Etienne

2
ただし、このエスケープはGithubではサポートされていません。
12:29にレイミング

2
@LeiMingは現在のようです(おそらく2013年5月以降)
atomicules

2
確認、それはGitHubページで動作します。rawタグがされた液体2.3.0で導入し、GitHubのページは、現在使用しているバージョン2.5.5を
Enrico Campidoglio 2014年

13

ところで:

{{ "{% this " }}%}Jekyllで表示したい場合は、次のようにコーディングできます。

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

{{ "{{ this " }}}}使用を回避するには:

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

27
ははははははあああああああ
RobW 2013

13

Jekyllの投稿では、{%raw%} {%endraw%}を使用して液体タグをエスケープできます。

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

{% endraw %}

生成されます

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


4

中括弧でテキストを表示する万能の方法を見つけました。プレーンテキストを変数に割り当てて表示できます。

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

ありがとうございました!二重引用符または単一引用符をエスケープするのに便利です
JumpLink 2017年

1

ここでも述べように、普通のgithub.comでMarkdownを検索すると表示されるので、単純{% raw %}{% endraw %}2番目に最適なソリューションです。

最良の方法は置くことです{% raw %}し、{% endraw %}HTMLのコメントで:

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

HTMLコメントのため、Githubではコメントとして表示されます。Githubページでは、未加工タグはタグ間の中括弧の解析を防ぎます。


私はこの方法が好きです。なんらかの理由で、私の抜粋を台無しにしないからです。
Corstian Boerman

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.