我有一个这样的文件夹:
tutorials/ ├── machine_learning │ └── scikit_learn │ ├── index.html │ └── _post │ └── 2014-09-22-my-title.md └── web_design ├── index.html └── _post └── 2010-02-11-my-title.md
我希望jekyll列出/ tutorials / machine_learning / scikit_learn / _post中的所有帖子。怎么做?
我试过了site.categories.tutorials.machine_learning.scikit_learn。它不起作用。
感谢。
答案 0 :(得分:1)
杰基尔的魔术类别。
任何帖子都会在类别数组中添加文件夹层次结构名称。
我们有两个帖子:
发布一个将位于 folder1 类别中。
发布两个将位于 folder1 和文件夹 2个类别中。
了解我们的文件夹层次结构,我们可以选择合适的级别
<ul>
{% for post in site.categories["folder1"] %}
<li>{{ post.title }}</li>
{% endfor %}
</ul>
这是一个简单的用例。
现在,让我们假设我们有一个层次结构:
.
├── steel
│ ├── brands
│ │ └── _posts
│ │ └── 2014-01-27-steel-brands.md
│ └── objects
│ └── _posts
│ └── 2014-01-27-steel-objects.md
└── wood
├── brands
│ └── _posts
│ └── 2014-01-27-wood-brands.md
└── objects
└── _posts
└── 2014-01-27-wood-objects.md
如果我们想要木制品,我们不能简单地在 site.categories [“对象”] 中循环,因为我们也会收到帖子来自钢铁对象。
为了只获得木制物品,我们可以这样做:
<ul>
{% for post in site.categories["objects"] %}
{% if post.categories contains "wood" %}
<li>{{ post.title }}</li>
{% endif %}
{% endfor %}
</ul>
注意:始终使用 post.categories 。从不使用 post.category ,这是错误的。