在 YAML Front Matter 变量中使用液体标签
Posted
技术标签:
【中文标题】在 YAML Front Matter 变量中使用液体标签【英文标题】:Using liquid tags in YAML Front Matter variables 【发布时间】:2014-04-18 23:42:36 【问题描述】:是否可以在 YAML Front Matter 变量中使用 Liquid 标签?
例如,如果 test.html 包含:
---
variable: "Date: % date: '%D' %"
---
page.variable
然后 Jekyll 将生成以下 HTML:
Date: % date: '%D' %
而不是类似的东西:
Date: 03/13/14
基本上我希望处理 YAML Front Matter 变量中的 Liquid 标签。
【问题讨论】:
你能解决这个问题吗?我也卡在这里了。 不,我必须重组我的页面以避免 Front Matter 变量中出现流动标签。在我看来,这个限制无法解决。 Include jekyll / liquid template data in a YAML variable? 的可能重复项 【参考方案1】:听起来您正在尝试将格式化的日期存储在变量中,因此您无需在每次使用时重新格式化日期。
您可以在前面的内容下方添加一个 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.
【讨论】:
这是否适用于覆盖现有变量?我希望我的title
成为Updated list as of $YEAR
,并让它进入title
会去的所有地方。以上是关于在 YAML Front Matter 变量中使用液体标签的主要内容,如果未能解决你的问题,请参考以下文章
Jekyll 教程——Front Matter & YAML