hexo将文章url变成永久链接方法

前言

之前一直是默认的日期加标题名做url,这样对于中文来说很致命,转换成url后特别长,不利于seo不说,一旦修改了文件名就找不到网页了。

安装hexo-abbrlink插件

在hexo当前目录打开cmd运行进行安装,终端挂上代理。

1
npm install hexo-abbrlink --save

安装时报错了,说我有一堆漏洞。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
up to date, audited 1376 packages in 4s

70 packages are looking for funding
run `npm fund` for details

54 vulnerabilities (7 low, 18 moderate, 17 high, 12 critical)

To address issues that do not require attention, run:
npm audit fix

To address all issues possible (including breaking changes), run:
npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

关掉检查就好了

1
npm set audit false

安装又出现提示阻碍我安装,据说是依赖的打赏捐赠提示,无语。

1
2
3
4
up to date in 3s

81 packages are looking for funding
run `npm fund` for details

后面加上--no-fund解决

1
npm install hexo-abbrlink --save --no-fund

输出

1
up to date in 3s

那就是安装成功了

修改hexo配置文件

hexo根目录下编辑_config.yml文件,查找关键词permalink
将以下默认的配置注释掉

1
permalink: :year/:month/:day/:title/

然后再下面添加

1
2
3
4
permalink: posts/:abbrlink/
abbrlink:
alg: crc16 #support crc16(default) and crc32
rep: hex #support dec(default) and hex

rep参数中默认dec就是纯数字,hex就是中英文,每个样式预览转github查看。

重新部署

然后清除掉之前abbrlink,这样才会帮你重新生成url,再重新生成页面运行hexo。

1
hexo clean && hexo g && hexo s

但是很奇怪,发现很多文章并没有修改,使用hexo clean --abbrlink也没生效,只能自己手动去每个文章里面把abbrlink那一行删掉重新保存才自动生成短url。

参考文献

Hexo-abbrlink生成唯一永久文章链接
npm install 会报错npm audit错误,会提示你有多少个漏洞需要结局,对应的包版本不应该低于多少等等问题。
run npm fund for details解决,前端开发:项目运行npm install 提示XXX …for funding run npm fund…的解决方法