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: "<", "<" | replace: ">", ">" }}</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: "<", "<" | replace: ">", ">" }}</code></pre>