4

私はLiquid 拡張機能を使用して、Jekyll ベースのサイトで日付を再フォーマットしています。たとえば、次のようになります。

<p>{{ post.date | date_to_string }}</p>

これindex.htmlは、最新の 5 つの投稿を取得し、投稿ごとに反復する私のページでは正常に機能します。ただし、_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 }月を完全な形式で書き出すものもあります。11月ではなく11月。

ソース

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

于 2013-01-03T23:02:48.073 に答える