杰基尔:液体过滤器" cgi_escape"返回某些变量的错误

时间:2015-09-25 22:25:06

标签: jekyll shopify liquid

简短版本:您是否设法在{{ page.title | cgi_escape }}部分使用了{% include %}之类的内容?

详情如下:

我有一部分是我这样使用的:

{% include mainContainer.html %}

工作正常。然后,在那部分中,尝试显示一些液体变量:

{{ page.title }}显示标题。

{{ page.content }}显示内容。

{{ page.content | cgi_escape }}显示内容,但已转义。

{{ page.title | cgi_escape }}根本不起作用。创建以下错误:

Liquid Exception: undefined method `encoding' for nil:NilClass 

{{ page.content }}之外,我收到任何{{ page }}变量(类别,标题等)的错误,但所有这些变量都显示正常的而不是过滤器。另外,{{ page.title | cgi_escape }}在......呃......内容和#39;中工作正常。布局的一部分(我不知道该怎么称呼它 - {{ content }}部分)。我似乎只得到{% include %}

的错误

1 个答案:

答案 0 :(得分:1)

没关系。构建失败了,因为使用{% include mainContainer.html %}的一些页面没有front matter,因此没有page.title(或其他)。显然,如果变量未设置,Liquid会愿意{{ page.title }}通过,而不是{{ page.title | cgi_encode }}