如何在 Jekyll 中拥有多个可迭代目录?
How to have multiple iterable directories in Jekyll?
在 Jekyll 中,帖子被写入并存储在 _posts
目录中。
创建帖子索引的 Jekyll 教程的一部分是:
<ul>
{% for post in site.posts %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
我想要的是拥有另一个包含文本文件的目录,并能够创建一个 "index" 类似于用于帖子的目录。我需要的字段是 title
和 content
.
我不想用posts
的原因是因为我已经在用了
这可行吗?
是的,你可以!
两个选项:collections or page
两者都可以在前面有一个title
变量,还有一个content
.
Collections
设置好 collection 后(例如:mycollection),您只需使用 :
生成索引
<ul>
{% for item in site.mycollection %}
<li><a href="{{ site.baseurl }}{{ item.url }}">{{ item.title }}</a></li>
{% endfor %}
</ul>
页数
您可以使用可以在前端使用自定义变量排序的页面,例如:
---
title: my page
mycustomvar: true
---
通过执行 {% assign custompages = site.pages | where: "mycustomvar", true %}
,您将获得包含设置为 true 的自定义变量的页面数组。
然后你只需要在这个数组中循环来生成你的索引:
{% assign custompages = site.pages | where: "mycustomvar", true %}
<ul>
{% for item in custompages %}
<li><a href="{{ site.baseurl }}{{ item.url }}">{{ item.title }}</a></li>
{% endfor %}
</ul>
在 Jekyll 中,帖子被写入并存储在 _posts
目录中。
创建帖子索引的 Jekyll 教程的一部分是:
<ul>
{% for post in site.posts %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
我想要的是拥有另一个包含文本文件的目录,并能够创建一个 "index" 类似于用于帖子的目录。我需要的字段是 title
和 content
.
我不想用posts
的原因是因为我已经在用了
这可行吗?
是的,你可以!
两个选项:collections or page
两者都可以在前面有一个title
变量,还有一个content
.
Collections
设置好 collection 后(例如:mycollection),您只需使用 :
生成索引<ul>
{% for item in site.mycollection %}
<li><a href="{{ site.baseurl }}{{ item.url }}">{{ item.title }}</a></li>
{% endfor %}
</ul>
页数
您可以使用可以在前端使用自定义变量排序的页面,例如:
---
title: my page
mycustomvar: true
---
通过执行 {% assign custompages = site.pages | where: "mycustomvar", true %}
,您将获得包含设置为 true 的自定义变量的页面数组。
然后你只需要在这个数组中循环来生成你的索引:
{% assign custompages = site.pages | where: "mycustomvar", true %}
<ul>
{% for item in custompages %}
<li><a href="{{ site.baseurl }}{{ item.url }}">{{ item.title }}</a></li>
{% endfor %}
</ul>