pagination - 如何使用 Github Pages 在 Jekyll 中对类别进行分页?
问题描述
Jekyll 转换 WordPress 博客的新手我正在尝试将分页添加到我的类别布局中。在_layouts
目录中,我创建了一个名为category.html的文件。我可以通过以下方式成功呈现特定类别:
类别.html:
---
layout: default
---
{% assign catName = page.title | string %}
{% for post in site.categories[catName] %}
<p>{{ post.title }}</p>
{% endfor %}
当我在遵循Jekyll 的分页文档后尝试对类别的帖子进行分页时:
{% for foobar in paginator.posts %}
<p>{{ foobar.title }}</p>
{% endfor %}
代码什么也不渲染。根据我的研究,Github Pages 限制了可以使用的插件,我无法验证是否允许使用jekyll-paginate-v2。
我的文件结构:
_config.yml:
plugins:
- jekyll-feed
## - jekyll-paginate-v2
- jekyll-paginate
exclude:
- Gemfile
- Gemfile.lock
collections:
category:
output: true
defaults:
scope:
path: ""
type: category
values:
layout: "category"
paginate: 1
paginate_path: "/page:num/"
宝石文件:
gem "github-pages", group: :jekyll_plugins
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.6"
## gem "jekyll-paginate-v2", "~> 1.7"
gem "jekyll-paginate"
end
研究:
对于 Github 页面上的 Jekyll 站点,如何为该类别创建分页以仅呈现该类别的帖子?这相当于 WordPress 的 category.php。
解决方案
Paginate 仅对所有帖子进行分页,而不是按类别或标签。
Paginate V2 甚至对集合也这样做。但是你不能在 Github 页面上运行这个插件(允许的插件)。
两种解决方案:
在分支中发布您的代码,在本地生成您的站点(或使用对开源项目免费的Travis 持续集成之类的服务)并在另一个分支中发布(或让您的 CI 发布)您生成的代码。
使用像Netlify这样的现代托管服务提供商,它允许您使用任何插件。
推荐阅读
- android-studio - 安卓工作室 3.1.2。AVD 不兼容的 HAX 模块版本 3,需要最低版本 4
- mysql - MySQL 能源系统建模数据库 EAV 设计
- python-2.7 - 过滤熊猫数据框无法返回字段中包含的值的记录
- wordpress - 注意:网站所有者已为您的用户角色禁用 Google Analytics(分析)跟踪
- r - ggplot2中斜率的线条颜色和宽度
- android - Android 应用程序崩溃,无法通过启动画面
- jquery - 在不使用 if else 的情况下获取两个日期中的较晚日期
- android - 可扩展 RecyclerView 中的 ListView 渲染缓慢
- android-jobscheduler - 如何在 jobInfo 中设置一个最长时间,以便在此时间之后取消作业?
- python - 删除笔画后如何删除单词,一个单词在文本文件中每个句子都很好一行