背景
在搭好博客之后,想把每天的日记,主要是短小的随想写到博客里。但是,我又不想让这些日记出现在首页,毕竟首页要放一些更加有价值的东西。于是,我就想把日记在首页隐藏起来,并且可以在另一个菜单内打开。我在知乎及github里搜索到了为数不多的方法,自己理解并整合了一下,暂且写在这里。
准备
- 已经初步配置好的Hexo框架
- Next主题
个人理解及思路
Next主题在处理博客时,会调用\themes\next\layout\index.swig
作为其首页的框架。在未进行配置时,此文件内会有以下语句:
1 | <section id="posts" class="posts-expand"> |
其中for循环的意思是,把_posts
下的所有文件都在首页进行展示。那么,如果不想让某些博客在首页被展示,只要加一个判断语句,把含有某关键字(比如说,标签)的博客屏蔽就可以了。而且这样做,博客仍然能在Archives/Tags等里面找到。
具体操作
我这里选择的关键字是标签Tags,把Tags为DIARY的博客过滤掉。
修改以上代码如下:
1 | <section id="posts" class="posts-expand"> |
注意,这里要再嵌套一个for循环用于检索tag。个人理解是,Tags是一个集合,包含了多个元素,故不能直接if post.tags !== 'DIARY'
。
然后,把你的日记的Tags改成DIARY,就不会在首页显示了。
把所有日记整合到一个菜单中
这里有知乎大神的现成的教程,点击传送门
弊端
如果某博客有多个标签,那么可能会导致其在首页多次显示。(本人未测试)