我正在尝试将custom jekyll collection中的元素按其元数据(日期)之一的值进行分组。
所以,我正在做{% for elt in site.my_collection | group_by: "date" %}
,但它通常会循环遍历集合,就像我写的{% for elt in site.my_collection %}
一样。
更奇怪的是,如果我在我的模板{{ site.my_collection | group_by: "date" }}
中写字,那么它会正确显示分组的集合[{"name" => "day1", "items" => [#, #, #]}, {"name" => "day2", "items" => [#]}]
。
我做错了什么?这是因为我正在使用自定义集合吗?
感谢。
答案 0 :(得分:5)
你不能同时loop and sort/group
。
您必须assign and sort/group
然后 loop
这对于Jekyll元素(如页面,帖子或集合)来说都是如此。
{% assign collection = site.my_collection | group_by: "date" %}
{% for group in collection %}
<h3>{{ group.name | date: "%-d %B %Y" }}</h3>
<ul>
{% for item in group.items %}
<li>{{item.data}}</li>
{%endfor%}
</ul>
{%endfor%}