Jekyll:将数据分配给收集?

时间:2016-02-12 23:45:45

标签: jekyll

如何将yml定义的数据链接到我的集合?

我更愿意将所有关于“项目”的数据保存在.yml文件中,如下所示:

---
- id: project-A
- title : Fancy project A

---
- id: project-B
- title : Fancy project-B

...我有一个集合“项目”。 我可以遍历我的yml定义的项目:
{% for case in site.data.projects | sort: 'order' %}

但是一旦在相应的“项目”页面上,我如何访问site.data.projects定义的数据?无论如何,我可以告诉Jekyll用这些数据来增加收藏吗?

1 个答案:

答案 0 :(得分:2)

如果我了解您,您可以使用where过滤器。

{% assign related_project = site.data.projects | where: 'id', page.slug %}

然后遍历related_project。使用' page.slug'假设你的slug与你的ID匹配。 Slug也仅在Jekyll 3.1中提供,所以如果您使用的是早期版本,则必须构建slug(使用' url'并拉出部分路径)。

这是我所知道的最有效的方式,但也有其他方式。