同时支持置顶和隐藏文章的 hexo 生成器插件
hexo-generator-index-custom
支持置顶与隐藏文章的 Hexo 首页生成器插件。
在官方的首页生成器的基础上添加了使用 top
置顶文章和 hide
隐藏文章的功能。
与其他插件的区别
hexo-generator-index-pin-top
在官方版本的 hexo-generator-index 的 PR #51 前,大多数人置顶文章的方法是使用 hexo-generator-index-pin-top 插件。
hexo-generator-index-pin-top 插件支持置顶文章,但是不支持隐藏文章。
- [x] 置顶文章
- [ ] 隐藏文章
在翻源码的时候还发现了 该插件无法更改文章排序方式,排序方式固定为文章更新时间倒序。
hexo-generator-index2
在国内可以搜索到的大多数隐藏文章的教程是通过修改主题的渲染方式来实现的。
(Hexo的Butterfly下如何隐藏部分文章不在首页显示 - 张洪Heo)
这个方法有一个缺点,隐藏掉的文章也会占用页面的渲染个数,如果隐藏的文章过多,会影响第一页的观感。
hexo-generator-index2 支持隐藏指定 tag/categories 的文章,但是不支持直接置顶文章。
issues #12 中提到的置顶方法较为繁琐
- [ ] 置顶文章
- [x] 隐藏文章
- [x] 显示指定的文章
hexo-generator-index
官方提供的 hexo-generator-index 支持置顶文章(PR #51 版本后),但是不支持隐藏文章。
且官方的置顶方式为:在文章配置中添加 sticky
属性,而大多数主题渲染置顶标签的方式是读取文章中的 top
属性。
使用 hexo-generator-index-pin-top 的用户也是使用的 top
属性控制置顶。
- [x] 置顶文章(但是不支持
top
) - [ ] 隐藏文章
使用方法
安装
首先卸载掉已经安装的 generator-index 类插件,然后安装本插件。
1 | $ npm uninstall hexo-generator-index |
配置
hexo-generator-index-custom 是直接 fork 官方的 hexo-generator-index 的,所以配置方式与官方的一样。
配置说明取自官方文档
在 _config.yml 中新增或修改如下配置:
1 | index_generator: |
- path: Root path for your blog’s index page.
- default: “”
- per_page: Posts displayed per page.
- default:
config.per_page
as specified in the official Hexo docs (if present), otherwise10
0
disables pagination
- default:
- order_by: Posts order.
- default: date descending
- pagination_dir: URL format.
- default: ‘page’
awesome-page
makes the URL ends with ‘awesome-page/‘ for second page and beyond.
所有的配置均与官方首页生成器一样,不必修改。
使用
在文章开头的配置中添加 sticky
或 top
参数,可以置顶文章。
sticky
的优先级比 top
高,故所有使用 sticky
都会排在 top
之前。
其值可以是 true
或数字,数字越大,文章排在越前面。
1 |
|
1 |
|
在文章开头的配置中添加 hide
参数,可以隐藏文章。
1 |
|
已知 Bug
隐藏的文章会占用总文章数量,会影响分页数量(尾页)。
真不想修了,将就用用 欢迎 PR 修复
v1.0.1 已修复(光速修复)
Others
TopImg Photo by Immo Wegmann on Unsplash