我一直在使用
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
构建失败了.谢谢你的帮助!
解决方法
在我的网站上我使用
{{ page.date | date: "%d %B %Y" }}
2012年12月26日
有关额外阅读,请参阅这些链接:
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}将以月份的完整形式写出月份,例如.十一月不是十一月
资源