我们知道Jekyll可以使用像前面这样的前面的物质变量tags,categories然后用它们来访问它们site.tags并site.categories使用液体迭代它们.现在我的问题是我无法使用像author(因为site.authors)这样的自定义前端变量这样做,因为Jekyll不会以列表格式存储它.这使得分页非常困难.
我看过的每个解决方案即
需要我硬编码的作者列表来_config.yml或其他一些.yml(即_data/authors.yml).这里的问题是我没有使用固定的作者列表.作者列表需要更新,当我在服务器运行时输入带有前端标签author: exampleAuthor或作者列表的另一篇文章(如每个帖子的多个作者,当前只能使用categories和tags也可以).它可以很好地处理标签和类别,但不能像作者那样使用自定义标签.
最简单的解决方案是使用一个site.authors列表进行迭代,然后使用ruby插件扩展它.
我没有找到一个为我提供解决方案的插件,并认为这是一个常见的问题,我可能不是第一个拥有的.
然后,我在写我自己的红宝石插件(这是很难在它自己的,因为缺少文档.也许我是哑巴谷歌,但资源,我发现那里非常有限,根本不足以引导您完成整个过程)但必须有一个原因,为什么这么难做,使得所有现有的解决方案都需要对作者列表进行硬编码.yml(或者.json,大多数人.yml因某种原因而去).
这样做是出于对我的问题,因为我只想在与它的作者姓名职位扔后来和操纵.yml(我的印象中yml,一旦启动了服务器,如文件不会被编译_config.yml,正确我,如果我错了)会适得其反,因为它需要你重新启动服务器来编译它们.
甚至非常高级的插件,如jekyll-paginate-v2(我成功地用标签和类别对帖子进行分页)也没有解决方案,因为这个问题描述了.他被建议滥用类别变量按作者分页,这是一种绝望的解决方法.
我已经找到了可以用集合完成的建议,但这似乎不可行.主要是由于它们的实现性质:
它们需要对作者列表进行硬编码(同样,我不希望这样.我没有固定的作者列表.所有作者信息都必须来自前面 -在/_posts目录.md文件中的问题)到目前为止,我看不到如何使用集合.但是我愿意接受建议.
编辑:我在Jekylls github页面上发现了这个过时的问题,其中强调人们正在尝试做同样但无济于事.这在过去4年中是否可行?