Templates 在液体模板中输出文字大括号

Templates 在液体模板中输出文字大括号,templates,liquid,Templates,Liquid,我试图从液体模板中输出以下内容: {{ example }} 显然,Liquid将其视为名为example的变量,并尝试进行替换。我试图找出如何输出实际的大括号 到目前为止,我发现了一种有效的方法,但它非常丑陋: {{ '{example'|prepend:'{' }}}} 是的,我告诉过你这很恶心 以下是我尝试过的其他事情: {{{ example }}} # outputs '}' {{{{ example }}}} # outputs '}}' \{\{ example \

我试图从液体模板中输出以下内容:

{{ example }}
显然,Liquid将其视为名为
example
的变量,并尝试进行替换。我试图找出如何输出实际的大括号

到目前为止,我发现了一种有效的方法,但它非常丑陋:

{{ '{example'|prepend:'{' }}}}
是的,我告诉过你这很恶心

以下是我尝试过的其他事情:

{{{ example }}}     # outputs '}'
{{{{ example }}}}   # outputs '}}'
\{\{ example \}\}   # outputs '\{\{ example \}\}'

这里有什么建议吗?

如何使用数字HTML实体
{
}{
}
的code>——假设这是作为HTML输出的

编辑:请原谅,我对liquid不太熟悉(因此这可能是非常错误的),但是您能否将您的
{{example}}
特殊值指定给变量并输出该值?可能是这样的:

{% assign special = '{{ example }}' %}
{{ special }}
您还可以使用:


这是我唯一能做的事。摘自:


我之所以需要它,是因为我想从mustache模板中引用
site
全局变量。

您可以转义HTML,例如在
{var}
中,您可以使用
\{var\}
,这样luquid就不会处理它了。

在格式化一个受保护的代码块时,我想同时使用花括号和尖括号,所以我最终采用了以下模式:

{% capture code %}{% raw %}line 1
line 2
line 3
{% endraw %}{% endcapture %}

<pre><code>{{ code | replace: "<", "&lt;" | replace: ">", "&gt;" }}</code></pre>
{%capture code%}{%raw%}第1行
第2行
第3行
{%endraw%}{%endcapture%}
{{code | replace:,''}

不幸的是,输出最终将在标记内,因此使用实体将不起作用。@Fortes我更新了我的答案:您能将带大括号的字符串分配给变量并输出它吗?呃,这是在Liquid本身中显示Liquid语法的唯一方法吗?我试图在一个用液体生成的页面上显示一个完整的模板,但现在它被搞得一团糟。没有什么比{{{noparsefromhere}}…{{{noparsetohere}}}更好的了吗?@cringe我同意——应该有办法。但我恐怕不是液体方面的专家!例如,您是否可以将整个子模板(希望按原样显示)加载到模板变量中(不进行解析),并在主模板中显示您的变量?还是仍然被解析?@w3d-Hm,这听起来像是一种方法。。。我还不知道是否可以加载整个模板。但我认为,以源代码格式提供实际模板并直接链接到它更容易。除了下面投票最多的“raw/endraw”答案外,还可以查看提供注释类型解决方案的“”。这是否回答了您的问题\{\{在液体中不起作用。它将同时输出斜杠和大括号。这应该是公认的答案。以下内容在脚本模板中对我非常有效:
moneyFormat:{%raw%}${{amount\u no\u decimals}}{%endraw%}
这就是答案!
{{ "{{ this " }}}}
{% capture code %}{% raw %}line 1
line 2
line 3
{% endraw %}{% endcapture %}

<pre><code>{{ code | replace: "<", "&lt;" | replace: ">", "&gt;" }}</code></pre>