在Jekyll中自动为每个类别创建一个页面

时间:2018-02-16 00:55:17

标签: ruby jekyll categories jekyll-extensions

如何在Jekyll中自动为每个类别创建页面?

示例:

帖子的网址:https://UsrNm.github.io/Category1/Category2/2018/02/16/Post1.html

我希望当我去链接时:https://UsrNm.github.io/Category1/Category2/

获取类别Category1Category2

中的所有帖子

或当我去链接时:https://UsrNm.github.io/Category2/

仅获取Category2类别中的所有帖子

2 个答案:

答案 0 :(得分:0)

您无法自动执行此操作。

嗯,你有两个选择:

Jekyll方式和hackish方式。

以纯Jekyll方式,您需要为每个类别手动创建页面,即使您有多个类别的帖子也是如此。请注意,Jekyll没有动态路由。

以hackish方式,你可以使用Javascript来读取url中的参数并显示/隐藏所需的内容。想法是渲染所有帖子(默认隐藏)并在其上创建标识符,正确的方法是添加html属性data-category=cat1并说你有这样的网址 /category?categories=cat1,cat2。然后,您可以从URL获取类别,并在javascript中添加逻辑,以显示实际位于该类别中的逻辑。

希望有所帮助

答案 1 :(得分:0)

你可以使用 gem jekyll-archives 来做这种工作,它是 jekyll 的一个插件。

或者,如果您想手动执行此操作,您可以阅读此guide

你可以看到my site

的例子

提示:Github Pages 不支持此功能。因此,如果您想在 Github 页面上部署它,您可以将站点转换为静态文件并仅将 _site 目录推送到存储库,这已在 here :)

中提到