4

我一直在使用Liquid 扩展来重新格式化我基于 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

并且构建失败。谢谢你的帮助!

4

1 回答 1

8

在我的网站上我使用

{{ page.date | date: "%d %B %Y" }}

它从降价文件中获取日期。并呈现如下:

26 December 2012

请参阅这些链接以获取更多阅读内容:

Jekyll 日期格式如何工作?

http://liquid.rubyforge.org/classes/Liquid/StandardFilters.html#M000012

编辑:在评论部分回答您的问题:

如果你想使用 date_to_string 你必须这样称呼它:

{{ site.time | date_to_string }}

还有{{ site.time | date_to_long_string }哪个将以完整的形式写出月份,例如。十一月不是十一月

来源

https://github.com/mojombo/jekyll/wiki/Liquid-Extensions

于 2013-01-03T23:02:48.073 回答