hexo的默认永久链接是在_config.yml里的配置permalink: :year/:month/:day/:title/。这种默认配置有个很不能接受的缺点,文件名为中文,会导致url链接里面出现中文,如果网站托管在gitlab的话,链接里出现中文会导致网页打不开。这次我来介绍一个比较方便好用的解决方案hexo-abbrlink插件。

安装步骤

安装hexo-abbrlink插件

1
npm install hexo-abbrlink --save

abbrlink

修改站点配置文件
打开博客根目录下的_config.yml文件 修改permalink配置

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

接下来重新部署后,可以看到我们的文章路径变成了 /posts/xxxxx.html了。

说明 生成的链接出现undefined查看这里

可选算法和进制

  • crc16 & hex
  • crc16 & dec
  • crc32 & hex
  • crc32 & dec

配置完成后所生成链接如下

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

模板文件修改(自选)
在博客所在的文件夹里,搜索文件夹scaffolds,找到模板文件post.md
推荐修改成的格式:

1
2
3
4
5
title: {{ title }}
date: {{ date }}
comments: true
categories:
tags: