2014-03-13 40 views
19

是否可以在YAML前體變量中使用液體標籤?在YAML前體變量中使用液體標籤

例如,如果包含的test.html:

--- 
variable: "Date: {% date: '%D' %}" 
--- 
{{ page.variable }} 

然後傑基爾會生成以下HTML:

Date: {% date: '%D' %} 

,而不是像這樣:

Date: 03/13/14 

基本上我會就像YAML Front Matter變量中的Liquid標籤一樣被處理。

+0

你能解決這個問題?我也被困在這裏。 –

+1

不,我不得不重構我的頁面以避免前置變量中的液體標籤。在我看來,這個限制是無法解決的。 – gvas

+1

可能的重複[在YAML變量中包含jekyll/liquid模板數據?](http://stackoverflow.com/questions/14487110/include-jekyll-liquid-template-data-in-a-yaml-variable) – Howli

回答

2

這聽起來像是你想將一個格式化的日期存儲在一個變量中,所以你不必在每次使用它時重新格式化日期。

而不是在前端事件中過濾日期,您可以在前面的事項下添加一個Liquid捕獲語句。這將允許您將格式化的日期分配給一個變量,以便您可以在表達式中使用它。

--- 
title: Some sweet title 
layout: default 
date: 2014-9-17 # Could come from post's filename, but I put it here explicitly 
--- 
{% capture formatted_date %}{{ page.date | date: "%-d %B %Y" }}{% endcapture %} 

一旦你有你的新格式的日期變量,你可以使用它作爲任何地方的表達式:

{{ formatted_date }}輸出:17 September 2014

More on formatting the date itself.

+0

這項工作覆蓋現有的變量?我希望我的'title'是'$ YEAR'的更新列表,並且將它放到所有'title'去的地方。 –