Jekyll 分页器不工作
Posted
技术标签:
【中文标题】Jekyll 分页器不工作【英文标题】:Jekyll Paginator not working 【发布时间】:2014-01-16 17:12:18 【问题描述】:我目前正在开发一个基于 jekyll 的主页,但无法进行分页。
<ul class="posts">
% for post in paginator.posts %
<li>
<span class="list_date"> post.date | date_to_string </span> » <span class="list_title"> post.title </span><br>
<span class="list_content"> post.content | strip_html | truncatewords:35</span>
<a href=" post.url ">more...</a>
</li>
% endfor %
</ul>
这是我的流动代码,在使用站点而不是分页器时效果很好。 同样在我的 _config.yml 我有这部分:
paginate: 2
paginator_path: "news/page:num"
由于 index.html 文件在 news 文件夹中
【问题讨论】:
【参考方案1】:我对@wsgeorge 的回答只有几分钱。假设你安装的是jekyll-paginate而不是jekyll-paginate-v2
记得将index.md
重命名为index.html
将paginate: true
添加到index.html
---
layout: home
paginate: true
---
添加关注_config.yaml
paginate: 5
paginate_path: ./page:num/
注意: .(句号)在./page:num/
路径中 - 这表明我的index.html
文件位于根目录(Gemfile 旁边/旁边的目录) .
【讨论】:
【参考方案2】:我在使用带有 --watch 自动重载功能的 Jekyll 时遇到了类似的问题。我的问题是配置没有自动更新:
Auto regeneration is not working with _config.yml?
手动重启 Jekyll 后,_config.yml 中关于分页的新配置已加载,分页器开始工作。
此外,您似乎在声明 paginator_path 而文档声明它应该被称为 paginate_path。
【讨论】:
感谢您的提示,这正是我的问题。 感谢您的提示。 --watch 也把我搞砸了。【参考方案3】:此问题已在version 2 of jekyll-paginator 中修复。现在你可以在任何刚运行的页面中使用分页器:
gem install jekyll-paginate-v2
【讨论】:
【参考方案4】:Jekyll 中的分页仅适用于 index.html 文件。 如果您的项目文件夹的根目录中有其他页面(例如 about.html、poems.html),分页将无法在其中工作。
要在 index.html 以外的其他页面中进行分页,请为该页面创建一个新文件夹(例如,poems/)并将原本的“poems.html”更改为“poems/index.html”。之后,_config.yml 中的“paginate_path”应该是 'paginate_path: "poems/page:num/"'。
我仍在调查这个问题。我的网站需要在多个页面上分页...... Jekyll 似乎不支持开箱即用的东西
【讨论】:
我昨天刚遇到这个问题。用 /blogs/index.html 替换 blogs.md 并修复。谢谢! 另请注意,不应有永久链接,如:permalink: /blog/
,在页面的 frontmatter 中指定。
很好的答案!现在在 jekyll 官方页面上也有解释:jekyllrb.com/docs/pagination以上是关于Jekyll 分页器不工作的主要内容,如果未能解决你的问题,请参考以下文章