我一直在使用Liquid extensions重新格式化基于Jekyll的网站上的日期,例如:
<p>{{ post.date | date_to_string }}</p>
这在我的index.html
页面中运行正常,该页面只收集最近的五篇帖子,然后逐个帖子进行迭代。但是,当我尝试在_layouts/base.html
模板中呈现此类日期时,这会失败。
我试过了:
{{ page.date | date_to_string }}
{{ page.title }}
无问题地工作,{{ page.date}}
在没有液体过滤器的情况下使用它时会渲染,例如输出2012-03-12 00:00:00 +0000
。
为什么date_to_string
过滤器会因{{ page.date }}
提供的输入而失败。我收到以下错误:
Liquid Exception: undefined method `strftime' for nil:NilClass in base
构建失败。谢谢你的帮助!
答案 0 :(得分:8)
在我的网站上,我使用
{{ page.date | date: "%d %B %Y" }}
它从降价文件中获取日期。并且呈现如下:
26 December 2012
请参阅以下链接以获取额外阅读:
How does Jekyll date formatting work?
http://liquid.rubyforge.org/classes/Liquid/StandardFilters.html#M000012
编辑:在评论部分回答您的问题:
如果你想使用date_to_string,你必须像这样调用它:
{{ site.time | date_to_string }}
还有{{ site.time | date_to_long_string }
将以完整的形式写出月份,例如。十一月不是十一月。
来源