按类别分组

时间:2017-09-20 05:14:09

标签: jekyll liquid

我的jekyll项目中有以下集合:

portfolio
|- portrait
|-- daniel.md
|-- george.md
|- nature
|-- national-park.md
|- food
|-- lasagna.md
|-- buritto.md
|-- pizza.md

我想要的是渲染一个投资组合页面按类别分组我的投资组合[例如:肖像,自然和食物]。

我只是设法将我的投资组合渲染到一个平坦的水平:

<ul>
  {% assign portfolio = site.portfolio %}
  {% for entry in portfolio %}
  <li class="item">
    <h4 class="post-title">{{ entry.title }}</h4>
  </li>
  {% endfor %}
 </ul>

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我已在每个降价文件的前端添加了类别名称:

---
category: portrait
---

然后,我已经改变了我的流量:

{% assign category = site.portfolio | group_by: 'category' %}
{% for item in category %}
  <!-- This is the category name -->
  <h2>{{item.name}}</h2>
  <ul>
    <!-- filter the categories, selecting only the current category in the loop -->
    {% assign portfolio = site.portfolio | where: 'category', item.name %} 
    {% for entry in portfolio %}
    <li class="item">
      <h4 class="post-title">{{ entry.title }}</h4>
    </li>
    {% endfor %}
  </ul>
{% endfor %}

有没有其他方法不使用前面的内容,而是使用我的收藏夹中文件夹的名称?