【问题标题】:create a page for each category automatically in Jekyll在 Jekyll 中自动为每个类别创建一个页面
【发布时间】:2018-02-16 00:55:17
【问题描述】:

如何在 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 类别中的所有帖子

【问题讨论】:

    标签: ruby jekyll categories jekyll-extensions


    【解决方案1】:

    您无法自动执行此操作。

    嗯,你有两个选择:

    Jekyll 方式和 hackish 方式。

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

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

    希望有帮助

    【讨论】:

      【解决方案2】:

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

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

      可以看my site的例子

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-23
        • 1970-01-01
        • 1970-01-01
        • 2014-02-18
        • 2016-07-18
        • 2017-03-30
        相关资源
        最近更新 更多