代码之家  ›  专栏  ›  技术社区  ›  blkpingu aaquib

如何对作者的文章进行分页

  •  6
  • blkpingu aaquib  · 技术社区  · 8 年前

    我想做的

    我们知道Jekyll可以使用像 tags 和 categories 然后用 site.tags 和 site.categories 用液体迭代它们。 现在我的问题是,我不能用像 author (如 site.authors )因为Jekyll不会以列表格式存储它。这使得它很难分页。

    问题

    我看过的所有解决方案,即

    要求我 硬编码作者列表 到 _config.yml 或者别的什么 .yml (即 _data/authors.yml ) 这里的问题是 我不使用固定的作者列表 . 当我在另一篇文章中添加前题标签时,作者列表需要更新。 author: exampleAuthor 或作者列表 类别 和 标签 同时),当服务器正在运行时。它可以很好地处理标签和类别,但不能处理像作者这样的自定义标签。

    最简单的解决方案是 网站作者 列表迭代并用Ruby插件扩展它。

    我还没有找到一个插件为我提供解决方案,我认为这是一个常见的问题,我可能不是第一个有。

    我试过的

    然后我开始编写自己的Ruby插件(由于缺乏文档,这很难单独编写)。也许我对谷歌没什么好说的,但是我发现资源非常有限,几乎不足以引导你完成整个过程),但一定有一个原因,为什么这么难做到这一点,使得所有现有的解决方案都需要在 YML (或) .json 但是大多数人都会 YML 出于某种原因)。

    这样做对我来说是不可能的,因为我只想在以后的文章中添加作者姓名,并操纵 YML (我觉得 yml 一旦服务器启动,文件就不会被编译,比如 _配置YML ,如果我错了请纠正我)会适得其反,因为需要重新启动服务器才能编译它们。

    即使是非常先进的插件 jekyll-paginate-v2 (我用它成功地按标签和类别对文章进行分页)没有解决方案 as this issue portrays . 有人建议他滥用类别变量,让作者分页,这是一种绝望的解决方法。

    我发现有人建议可以用收藏品来完成,但这似乎不可行。主要是由于其实施的性质: 他们需要对作者列表进行硬编码 (再说一遍,我不想那样。我没有固定的作者名单。所有的作者信息必须来自 /_posts 目录 .md 文件) 到目前为止,我还不知道如何处理收藏品。 但是我愿意接受建议。

    编辑: 我发现这个日期 issue on Jekylls github page 这突显出人们正试图做同样的事,但却无济于事。 在过去的4年中,这是否变得可行?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Cameron McEfee    8 年前

    在Jekyll帖子中添加作者很容易 收藏 . Here's a proof of concept for you . 具体来说,在 this commit 我加上你需要的一切。

    As for your question about pagination ,需要使用分页插件(paginate-v2很好),因为我相信内置分页只支持posts集合。