Jekyll 按类别显示集合

Jekyll display collection by category

我无法弄清楚如何按类别对集合的内容进行排序。我发现了一个关于如何按类别对帖子进行排序的非常相似的问题,但它似乎不适用于集合 Jekyll display posts by category

假设我有一个名为 'cars' 的集合,其中包含两个类别:'old' 和 'new'。如何只显示类别为 'old' 的汽车?

您可以像页面或帖子等任何其他对象一样对集合进行排序、分组或过滤。

_my_collection/mustang.md

---
category: 'old'
abbrev: tang
---
mustang content

_my_collection/corvette.md

---
category: 'new'
abbrev: vet
---
corvette content

过滤

{% assign newcars = site.my_collection | where: "category", "new" %}

正在排序

{% assign allcarssorted = site.my_collection | sort: "category" %}

分组

{% assign groups = site.my_collection | group_by: "category" | sort: "name" %}

这会将您的汽车分组,然后按类别的名称对组进行排序。

{% for group in groups %}
    {{ group.name }}
    {% for item in group.items %}
        {{item.abbrev}}
    {%endfor%}
{%endfor%}