如何在Jekyll中拥有多个可迭代目录?

时间:2015-11-15 02:38:28

标签: markdown jekyll github-pages

在Jekyll中,帖子被编写并存储在_posts目录中。

创建帖子索引的Jekyll教程的一部分是:

<ul>
  {% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
    </li>
  {% endfor %}
</ul>

我想要的是拥有另一个带有文本文件的目录,并且能够创建一个&#34;索引&#34;喜欢帖子的那个。我需要的字段是titlecontent

我之所以不想使用posts是因为我已经在使用它们了。

这可行吗?

1 个答案:

答案 0 :(得分:1)

是的,你可以!

两个选项:collectionspage

两者在前面的内容中都可以有一个title变量,而content可以有<ul> {% for item in site.mycollection %} <li><a href="{{ site.baseurl }}{{ item.url }}">{{ item.title }}</a></li> {% endfor %} </ul>

集合

一旦你设置了你的集合(例如:mycollection),你只需用以下代码生成索引:

---
title: my page
mycustomvar: true
---

您可以使用可以使用自定义变量排序的页面,例如:

{% assign custompages = site.pages | where: "mycustomvar", 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> ,您将获得一个包含自定义变量设置为true的页面数组。

然后你必须在这个数组中循环以生成索引:

.