Hexo使用Abbrlink生成文章固定链接


本文介绍如何使用 Abbrlink 插件生成形如 http://id.github.io/posts/38175.html 的 Hexo 文章固定编号链接。

Hexo 默认的静态 url 格式是::year/:month/:day/:title,也就是按照年、月、日、文章标题来生成固定链接的。如:http://id.github.io/2022/11/23/hello-world

使用 Abbrlink 插件可以使每篇文章都有一个唯一的编号,并将文章的链接用这个编号唯一区别,这样链接中不会出现中文,也不会因为修改文章的日期而导致链接的改变。

首先我们先安装插件,在博客根目录中打开命令行,输入以下命令:

1
npm install hexo-abbrlink --save

修改根目录下的 _config.yml 文件,修改文件中的 permalink: 配置项,且添加一个配置项 abbrlink:,修改后的结果如下:

1
2
3
4
permalink: posts/:abbrlink.html  # 此处可以自己设置,也可以直接使用 /:abbrlink.html
abbrlink:
alg: crc16 #算法:crc16(default) and crc32
rep: dec #进制:dec(default) and hex

其中,alg 属性表示算法,目前支持 crc16crc32 算法,默认值是 crc16rep 表示形式,即生成的链接可以是十六进制格式也可以是十进制格式,默认值是十进制格式,示例如下:

1
2
3
4
5
6
7
8
9
crc16 & hex
https://id.github.io/posts/3ab8.html
crc16 & dec
https://id.github.io/posts/28591.html

crc32 & hex
https://id.github.io/posts/23ab1cd3.html
crc32 & dec
https://id.github.io/posts/5471416323.html

注意:在生成之前就要改好算法和形式,不然后面再改的话会导致链接不统一。