如何循环Jekyll集合中的类别

时间:2016-10-27 21:39:47

标签: jekyll liquid

我正在尝试遍历已添加到收集帖子的类别。对于默认的“帖子”部分,它就像:

一样简单
{% for category in site.categories %}
    {{ category }}
{% endfor %}

但我似乎无法让这个适用于我的收藏。我认为这将是:

{% for category in my_collection.categories %}
    {{ category }}
{% endfor %}

但这似乎不起作用。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

你可以像这样获取每个类别的名称:

{% for category in site.categories %}
   {{ category | first | strip_html }}
{% endfor %}

答案 1 :(得分:1)

对于任何需要这个答案的人...我已经设法通过将所有唯一的'my_collection'类别添加到数组然后循环遍历来解决这个问题。这是代码:

<!-- create categories array-->
{% assign categories_array = "" | split:"|" %}

<!--Add each unique 'my_collection' category to the array-->
{% for post in site.my_collection %}
    {% for category in post.categories %}
        {% assign categories_array = categories_array | push: category | uniq %}
    {% endfor %}
{% endfor %}

<!--Output the categories-->
{% for category in categories_array %}
    {{ category }}
{% endfor %}

答案 2 :(得分:0)

首先必须声明集合

{%a assign col  = site.COLLECTIONNAME %}

然后你可以在集合中循环

{% for cat in col %}
   {{ col.name }}
{% endfor %}