前言

hexo文章链接默认的生成规则是::year/:month/:day/:title是按照年、月、日、标题来生成的

比如默认生成:https://imszz.com/2020/07/21/hello-world/

非常不利于阅读,中文也可能出现乱码,也影响收录。

一种解决方案是:使用hexo-permalink-pinyin插件,将中文转英文,好像是有缺陷

另一种方案: 使用 hexo-abbrlink 插件, 生成短链,且链接不会因为更新次数过多出现改动

安装插件

1
cnpm install hexo-abbrlink --save

配置

修改根目录站点配置文件config.yml,改为:

1
2
3
4
5
#permalink: :year/:month/:day/:title/  # 注释或者删除
permalink: p/:abbrlink/ # 此处可以自己设置,也可以直接使用 :/abbrlink ,建议前面带目录,不然太乱
abbrlink:
alg: crc32 #算法: crc16(default) and crc32
rep: hex #进制: dec(default) and hex

生成的链接将会是这样的(官方样例):

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

crc16 & dec
https://post.zz173.com/p/65535.html
crc32 & hex
https://post.zz173.com/p/8ddf18fb.html

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

使用

在文章的 Front-matter 内会增加abbrlink 字段,值为生成的ID 。这个字段确保了在我们修改了Front-matter 内的博客标题title或创建日期date字段之后而不会改变链接地址。

1
2
3
4
5
6
7
8
9
---
title:
date:
categories:
-
tags:
-
abbrlink: #留空就好,会自动生成,并不会因下次更新文章而变动
---