如何逃避液体模板标签?

Att*_* O. 82 templates liquid

这听起来很容易,但我无法在文档中的任何地方找到它.如何{% this %}在没有引擎处理的情况下写入液体模板?

Eti*_*nne 113

可以使用raw标签禁用液体处理引擎:

{% raw  %}
{% this %}
{% endraw %}
Run Code Online (Sandbox Code Playgroud)

会显示

{% this %}
Run Code Online (Sandbox Code Playgroud)

  • 看起来一年前在核心引擎中添加了`raw`标签.请参阅https://github.com/Shopify/liquid/commits/master/lib/liquid/tags/raw.rb (5认同)
  • 但是,Github不支持此转义. (2认同)
  • @LeiMing看起来现在(可能是自[2013年5月](https://github.com/blog/1502-jekyll-turns-1-0)) (2认同)
  • 确认,它适用于GitHub页面.`raw`标签是[在Liquid 2.3.0中引入](https://github.com/jekyll/jekyll/issues/425),GitHub Pages目前正在使用[版本2.5.5](http:// pages. github.com/versions). (2认同)

Kha*_*din 110

对于未来的搜索,还有就是一种方式来逃避无插件,使用下面的代码:

{{ "{% this " }}%}
Run Code Online (Sandbox Code Playgroud)

对于标签,逃避{{ this }}使用:

{{ "{{ this " }}}}
Run Code Online (Sandbox Code Playgroud)

还有一个jekyll插件,这使它更容易:https://gist.github.com/1020852

杰基尔的原始标签.保持液体免于解析{%raw%}和{%endraw%}之间的文本

参考

  • 你不再需要一个插件来使用`{%raw%}`,对我来说它开箱即用,现在它在[文档]中(https://github.com/Shopify/liquid/wiki/Liquid-for -Designers#维基生) (8认同)
  • '{%raw%}`标记为+1.IDK就此而言.谢谢! (3认同)
  • 前几个建议对我不起作用,但使用 `raw` 可以:`{% raw %}{{ this }}{% endraw %}`。 (3认同)
  • 是否可以在 jekyll 中使用 ``` 而不是 {% 来转义代码? (2认同)

lei*_*ing 13

BTW:

如果要{{ "{% this " }}%}在Jekyll中显示,可以这样编码:

{{ "{{ " }}"{{ "{% this" }} " }}{{ "}}%}
Run Code Online (Sandbox Code Playgroud)

逃避{{ "{{ this " }}}}使用:

{{ "{{ " }}"{{ "{{ this" }} " }}{{ "}}}}
Run Code Online (Sandbox Code Playgroud)

  • 哈哈哈哈哈啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 (23认同)

小智 11

你可以使用{%raw%} {%endraw%}来逃避Jekyll帖子中的液体标签

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

{% endraw %}
Run Code Online (Sandbox Code Playgroud)

会产生

  {% for post in site.posts %}
     {{ post.content }}
  {% endfor %}
Run Code Online (Sandbox Code Playgroud)


yor*_*mmi 8

还有另一种选择:使用HTML特殊字符代码替换花括号及其匹配代码:

  • {替换每个{
  • }替换每个}

有关此解决方案的更多详细信息,请参阅:http: //www.tikalk.com/devops/curly_brances_workaround/