Hexo生成文章永久链接

Hexo的文章url默认是年/月/日/标题的格式,这个格式有下面几个缺点。

  • 文章日期和标题变化后url就变了,不利于SEO和分享,因为你改了个标题,分享给我的链接用不了,挺尴尬;
  • 中文的标题会被转码,这样URL就会变长,且不好看,给别人一个这样https://kapdkapu.gitee.io/2021/01/11/%e3%80%90%e7%bd%91%e7%ab%99%e5%88%86%e4%ba%ab%e3%80%91%e4%b8%89%e4%b8%aa%e6%97%a0%e8%81%8a%e7%9a%84%e7%bd%91%e7%ab%99/的链接,总是不太舒坦。

那么就让hexo-abbrlink来帮你解决这两个问题吧。

安装

通过以下命令安装。

1
npm install hexo-abbrlink --save

配置

进入HEXO主配置文件_config.yml,找到permalink配置项,修改成如下样式:

1
2
3
4
5
# permalink: :year/:month/:day/:title/
permalink: p/:abbrlink.html
abbrlink:
alg: crc32
rep: hex

下面来解释下这几个配置项:

  • 自定义变量,如果不需要的话可以去掉,那样就是permalink: :abbrlink.html这样了;
  • alg是算法,取值:crc16或者crc32
  • rep是进制,取值 dec或者hex

algrep不同组合的话,生成的链接样式也是不一样的,如下所示,根据自己需要配置。

1
2
3
4
5
6
7
8
9
10
11
crc16 & hex
https://post.zz173.com/posts/66c8.html

crc16 & dec
https://post.zz173.com/posts/65535.html

crc32 & hex
https://post.zz173.com/posts/8ddf18fb.html

crc32 & dec
https://post.zz173.com/posts/1690090958.html

到了这里已经配置完成了,剩下的就是hexo三连击了:hexo cleanhexo ghexo s查看效果了。
还有一个变化就是你会发现sourse/_posts里面的每篇文章都多了一行abbrlink: 3208472285,这就是每篇文章的固定连接。这样不管以后我们怎么变更标题,使用多少中文,文章的url永远都是md文件里面的这个值了。


Hexo生成文章永久链接
http://example.com/p/1814739561.html
作者
KAPU
发布于
2021年3月1日
许可协议
TURE