私は並べ替えたいジキルにコレクションがあります。タイトルによる並べ替えはもちろん簡単です。LiquidとJekyllで変更された変数でソート
<ul>
{% for note in site.note | sort: "title" %}
<li>{{note.path | git_mod }}: {{ note. title }}</li>
{% endfor %}
</ul>
日付で並べ替えたい。しかし、コレクションには日付がないので、アイテムのパスを取得し、Gitで最後に変更された時刻を取得するカスタムのLiquidフィルターがあります。上記のコードでは、パスをgit_mod
に渡すことがわかります。リストをプリントアウトすると、最後に修正された正しい時刻が得られ、完全な日付なので、これが機能することを確認できます。 (実際には、date_as_string
にも渡します)
Liquidはそれについて知りません。その値は、site.note
コレクションの各項目に既に入っている値なので、値で並べ替えることはできません。その値でどのようにソートできますか?私はこのような何かを考えていたが、それは動作しません:
<ul>
{% for note in site.note | sort: path | date_mod %}
<li>{{note.path | git_mod }}: {{ note. title }}</li>
{% endfor %}
</ul>
私も試した変種のように:これらの{% for note in site.note | sort: (note.path | git_mod) %}
なしエラーをスローしませんが、それらのどれもがいずれかの動作しません。
ありがとうございました。それはうまくいった。 'jekyll build --incremental'は再構築後の日付を失うようですが、これは確かにこの答えの誤りではありません。 –