【发布时间】:2016-08-01 13:27:08
【问题描述】:
我在 GitHub 页面上使用 Jekyll,我希望有这样的分层类别:
- 动物 -> 哺乳动物 -> 猫 -> _posts -> housecat.md, tiger.md
- 动物 -> 哺乳动物 -> 狗 -> _posts -> poodle.md, doberman.md
- 动物 -> 爬行动物 -> 蜥蜴 -> _posts -> iguana.md, chameleon.md
我希望用户能够访问 /animals 并查看每个类别的每个帖子的列表。但是如果他们去/animals/mammals,他们只会看到哺乳动物。如果他们去/animals/mammals/cats,那么他们只会看到猫。
我知道我可以手动执行此操作,例如,将 index.html 文件放在每个目录中,然后循环通过 site.categories.mammals 或 site.categories.cats。
但这似乎有点太暴力了,我希望有更好的方法。如果我想更改显示列表的方式,我必须在每个子类别中进行更改。当子类别共享名称时,我也会遇到问题,例如 /ABC/XYZ/_posts/one.md 和 /DEF/XYZ/_posts/two.md。
我尝试关注this 文章,该文章使用一个主要的category.html 页面循环通过page.category:
{% for post in site.categories.[page.category] %}
<h2><a href=""></a></h2>
<p></p>
{% endfor %}
然后每个index.html 文件都使用它作为它的布局。这几乎可行,但似乎仅限于一个类别,而不是多个层次类别。
在为分层类别创建列表时,是否有一种不那么暴力的方法?
【问题讨论】:
-
你考虑过写一个生成器插件吗?
-
@wasthishelpful 我真的不确定这意味着什么。我也在使用 GitHub 页面,所以我受到它们允许的限制。
-
@wasthishelpful 谢谢,但我真的很想让它与 GitHub Pages 完全兼容。如果我的选择只是手动执行或不兼容,我将手动执行。
-
在 google 上快速搜索后,在这种情况下,在 github 上拥有 2 个存储库似乎是一种“通常”的方式:1 个 repo 最终私有用于带有插件的源和带有生成页面的源.但如果你不想破解 github 的限制,我理解你的立场
标签: jekyll liquid github-pages