2015-09-25 68 views
0

簡短版本:您是否設法在{% include %} -ed部分中使用類似{{ page.title | cgi_escape }}的東西?Jekyll:液體過濾器「cgi_escape」返回某些變量的錯誤

詳細情況如下:

我有一個部分,我用像這樣:

{% 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 }}在...呃......'內容'部分的佈局(我不知道該怎麼稱呼它 - {{ content }}部分)中工作正常。我只是似乎得到錯誤{% include %}

+0

可能重複[Jekyll錯誤「液體異常:未定義方法\編碼'nil:NilClass在\ _layouts/post.html 「](http://stackoverflow.com/questions/31571150/jekyll-error-liquid-exception-undefined-method-encoding-for-nilnilclass-in) –

回答

1

沒關係。該版本失敗,因爲使用{% include mainContainer.html %}的幾頁沒有任何front matter,因此沒有page.title(或其他)。顯然,Liquid願意讓{{ page.title }}通過,如果變量沒有設置,但不是{{ page.title | cgi_encode }}