自己折腾了下 Hexo 的 next 主题. 给 post 添加了字段 type. 为了避免下次崩了的时候, 我会对着自己写的代码一脸懵逼, 简单记录下……
本文基于 hexo-theme-next version 5.
首页分页
预期效果: 在首页不显示 post 中 type 为 book 的文章
思路: 修改首页的分页, 过滤掉 type 为 book 的文章.
具体实现:
参考 hexo-generator-index , 在 next 的 scripts 下, 添加文件 customIndexPagination.js, 内容如下:
var pagination = require('hexo-pagination'); |
分类排序
预期效果: 同一个 category 中, 所有 type 为 book 的 post 按照指定字段排序后再分页.这里按照 ranked 字段来排序 posts.
思路: 找到 page下对应的category, 按照 ranked 字段排序后, 调用 slice 实现分页.
具体实现:
next version 5 的模板用的是swig 语法, swig已经多年不维护, 这个用起来还是折腾的.很多ES6语法不支持. 等后续有时间再折腾, 目前凑合用用swig….
修改 layout/category.swig, 在 Section部分, 添加如下代码:
<section id="posts" class="posts-collapse"> |
逻辑很简单, 主要调用 slice 来得到当前分页中的posts.
其中 site.categories 调用了findOne来查找当前页面的category, 参考的是 warehouse.
OK.