这听起来很容易,但是我在文档中的任何地方都找不到它。如何{% this %}
在不被引擎处理的情况下写成液体模板?
Answers:
对于未来的搜索,还有就是一种方式来逃避无插件,使用下面的代码:
{{ "{% this " }}%}
对于标签,可以逃避{{ this }}
使用:
{{ "{{ this " }}}}
还有一个jekyll插件,使它变得更加简单:https : //gist.github.com/1020852
jekyll的原始标签。避免在{%raw%}和{%endraw%}之间解析文本
raw
所做的:{% raw %}{{ this }}{% endraw %}
。
可以使用raw
标签禁用液体处理引擎:
{% raw %}
{% this %}
{% endraw %}
将显示
{% this %}
raw
标签已经在核心引擎一年前加入。见github.com/Shopify/liquid/commits/master/lib/liquid/tags/raw.rb
您可以使用{%raw%} {%endraw%}在Jekyll帖子中转义液态标签,即
{% raw %}
{% for post in site.posts %}
{{ post.content }}
{% endfor %}
{% endraw %}
将产生
{% for post in site.posts %}
{{ post.content }}
{% endfor %}
还有另一种选择:使用HTML特殊字符代码将大括号替换为其匹配的代码:
- 将每个{替换为{
- 将每个}替换为}
有关此解决方案的更多详细信息,请参见:http : //www.tikalk.com/devops/curly_brances_workaround/
就像这里提到的那样,普通的{% raw %}
并且{% endraw %}
仅是第二好的解决方案,因为如果您在普通的github.com上查找Markdown就会显示出来。
最好的方法是在HTML注释中放入{% raw %}
和{% endraw %}
:
<!-- {% raw %} -->
something with curlky brackets like { this } and { that }
<!-- {% endraw %} -->
由于HTML注释,Github将其视为注释。在Github页面中,原始标签将阻止解析标签之间的大括号。
我试过{% 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 %}