说明

有的时候,一些文章我们可能没有撰写完成,或者说严重过时了,考虑将其删除,但却又不确定是否要删除。此时就可以使用hexo-hide-posts插件来屏蔽这个文章。

被屏蔽的文章在归档、tag、首页、文章列表、sitemap中都不会出现,也不会被搜索引擎索引(前提是搜索引擎遵守no-index约定)。但如果你知道该文章的URL,则依旧能访问这篇文章。文章不会展示到文章列表中,但文章本身还是存在的

插件github页面:https://github.com/prinsss/hexo-hide-posts

安装和配置

在hexo站点配置目录下,用如下命令安装该插件

1
npm install hexo-hide-posts --save

安装完毕后,在hexo的配置文件_config.yml中进行初始化配置,注意不是主题的配置文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
hide_posts:
# 是否启用 hexo-hide-posts
enable: true

# 隐藏文章的 front-matter 标识,也可以改成其他你喜欢的名字
filter: hidden

# 为隐藏的文章添加 noindex meta 标签,阻止搜索引擎收录
noindex: true

# 设置白名单,白名单中的 generator 可以访问隐藏文章
# 常见的 generators 有:index, tag, category, archive, sitemap, feed, etc.
# allowlist_generators: []

# 设置黑名单,黑名单中的 generator 不可以访问隐藏文章
# 如果同时设置了黑名单和白名单,白名单的优先级更高
# blocklist_generators: ['*']

添加了这个配置后,在需要隐藏的文章的font-matter里面添加hidden: true就可以启用该功能。

1
2
3
4
5
6
7
---
title: 'Hidden Post'
date: '2021/03/05 21:45:14'
hidden: true
---

content...

在hexo配置目录下可以使用hexo hidden:list命令列出所有被隐藏的文章。

测试

本站的C++哈希博客我始终没有抽出时间去完成撰写,因为哈希相关的数据概念我已经很熟悉了,也没有相关去重新学习和记录。为了避免这篇写了一半的文章对后来的读者造成困扰,将其隐藏。

修改之前,搜索框里面能搜到这篇文章

image.png

添加了隐藏之后,这篇哈希的文章就找不到了(该文章发布日期是2022年9月20日)在归档和分类目录中看不到该文。

image.png

在sitemap.xml里面也搜索不到这篇文章的链接。

image.png

这样配置就成功啦!