说明

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

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

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

安装和配置

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

bash
1
npm install hexo-hide-posts --save

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

yaml
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 就可以启用该功能。

markdown
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

这样配置就成功啦!