hexo首页隐藏部分文章

hexo-icon

做博客网站的时候,想搞一些花里胡哨的东西,例如某些福利、妹子图、日记,但是又不想放在首页,影响气质,怎么办呢?人真是复杂的动物啊。

hexo默认是会把所有文章按照时间顺序排列,分页展示。百度上查到一个黑科技,直接改模板引擎,增加一个显示隐藏的标记位,渲染的时候判断,如果为hide就隐藏。参考链接:http://itfriends.xyz/2018/06/12/Hexo-%E8%AE%BE%E7%BD%AE%E9%A6%96%E9%A1%B5%E9%9A%90%E8%97%8F%E6%8C%87%E5%AE%9A%E6%96%87%E7%AB%A0/#more

这种方式有一个bug:文章是隐藏了,但是分页计数仍然计算。假设首页十篇文章都设置隐藏,那首页就是空白的一页,而不会显示第二页的文章。这怎么能忍,果断放弃。

后来又在Hexo插件库找到一个产生首页的插件,自带过滤功能,hexo-generator-index2

使用非常简单。

第一步,安装hexo-generator-index2

在博客目录下打开终端,输入以下命令

1
2
$ npm install hexo-generator-index2 --save
$ npm uninstall hexo-generator-index --save

修改hexo的配置文件

打开hexo博客根目录下的_config.yml
添加以下内容,过滤分类或者标签为hide的文章

1
2
3
4
5
6
7
8
# index2 generator是否包含官方的hexo-generator-index,默认true(包含)
index2_include_index: true
index2_generator:
per_page: 8
order_by: -date # 按发布时间排序
exclude:
- tag hide # 不包含标签为hide的文章
- category hide # 不包含分类为hide的文章

参考

https://github.com/Jamling/hexo-generator-index2/blob/master/README_zh.md