无法通过自定义jekyll集合进行分组

时间:2014-10-03 09:14:47

标签: filter group-by jekyll liquid

我正在尝试将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" => [#]}]

我做错了什么?这是因为我正在使用自定义集合吗?

感谢。

1 个答案:

答案 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%}