使用Jekyll创建一个网站,其中包含一个子目录用于博客,并具有分页内容。

4
我正在使用Jekyll创建一个网站,其中主页(jekyllsiteblogpaginated.com/index.html)不显示任何博客内容。此外,我希望为博客创建一个子目录,在该子目录的主页(jekyllsiteblogpaginated.com/blog/index.html)中以分页的方式显示博文。
我已经在这里推送了我的示例http://bpatra.github.io/jekyllsiteblogpaginated。Github存储库可以在这里找到。
您可以在存储库分支中看到,我尝试过几种方法:创建一个带有index.html文件的子目录blog,或直接将blog.html文件添加到根级别。我还尝试利用paginate_path选项,但无论如何,分页器始终为空。
这个问题类似于这个问题,该用户在评论中表示他最终使用了一个插件。我想避免使用插件,因为我的网站将托管在github页面上。
1个回答

18
我成功了!
1 - 在config.yml中添加
paginate_path: "/blog/page:num"

2 - 在您的代码中:

{% for post in paginator.posts %}

而非

{% for post in paginated.posts %}

第三点-最后一个微妙的问题。如Jekyll变量文档底部所示。

Paginator变量可用性

这些仅在索引文件中可用,但它们可以位于子目录中,例如/blog/index.html。

因此,通过将blog.html重命名为blog/index.html,您最终可以为博客获取有效的分页。

Et voilà!


哦,谢谢你,是分页器(paginated/paginator)出了问题。 - Benoit Patra
@david-jacquel 谢谢,我在寻找一种更简单的替代我的现有分页方法时偶然发现了这个,它完美地解决了我的问题。 - user997225

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接