前言
哈喽,各位小伙伴们,欢迎来到我的Hexo博客指南系列!今天我们要聊的是一个对于博客来说至关重要的话题——永久链接。
不知道你有没有遇到过这样的烦恼:在Hexo里写了一篇中文标题的文章,结果生成的链接又长又带编码,分享出去一点都不酷。别担心,今天就给大家介绍一个神器——hexo-abbrlink插件,让你的博客链接瞬间变得高大上!
Hexo 默认的永久链接是按照年、月、日和标题生成的(:year/:month/:day/:title/)。 这种方式对于英文标题还算友好,但一旦标题是中文,URL就会被编码成一长串令人费解的字符,非常不利于阅读和分享。
这时候,hexo-abbrlink就闪亮登场了!它是一个为Hexo博客设计的链接永久化解决方案,可以将你的文章链接转换成简短、唯一且永久的字符串。
hexo-abbrlink支持多种算法和进制,让你可以根据自己的喜好定制链接的样式。
| 算法 | 进制 | 生成链接示例 |
|---|---|---|
| crc16 | hex | https://example.com/posts/3ab2.html |
| crc16 | dec | https://example.com/posts/12345.html |
| crc32 | hex | https://example.com/posts/9a8b6c4d.html |
| crc32 | dec | https://example.com/posts/1690090958.html |
心动不如行动,让我们马上开始吧!
安装
安装hexo-abbrlink插件非常简单,你可以选择以下任意一种方式:
方法一:通过npm命令行安装
在你的Hexo博客根目录下,打开命令行工具,输入以下命令:
npm install hexo-abbrlink --save
方法二:修改package.json文件
打开你博客根目录下的package.json文件,在dependencies字段中添加以下内容:
"hexo-abbrlink": "^2.0.5"
然后重新执行一次npm install即可。
配置
安装完成后,我们需要修改一下站点的配置文件 _config.yml,它同样位于你的博客根目录下。
打开 _config.yml 文件,找到permalink字段,并进行如下修改:
# 文章的永久链接
permalink: :abbrlink/
# 或者你也可以自定义格式,比如:
# permalink: posts/:abbrlink.html
# abbrlink插件的配置
abbrlink:
alg: crc32 # 算法,支持 crc16 (默认) 和 crc32
rep: hex # 进制,支持 dec (默认) 和 hex
配置解析:
-
permalink: 这个字段定义了你文章链接的生成规则。在这里,我们将其设置为:abbrlink/,表示使用hexo-abbrlink插件生成的唯一ID作为链接。你也可以根据自己的喜好添加前缀,比如posts/:abbrlink.html,这样生成的链接就会是https://example.com/posts/abaf7e89.html的形式。 abbrlink: 这是hexo-abbrlink插件的专属配置项。-
alg: 用于指定生成链接的算法,crc32算法生成的链接会比crc16更长一些,但重复的可能性也更低。 -
rep: 用于指定链接的进制,hex表示十六进制,dec表示十进制。
-
配置完成后,当你执行 hexo g 命令生成博客时,hexo-abbrlink会自动在每篇文章的front-matter中添加一个abbrlink字段,并为其生成一个唯一的值。
可能会遇到的问题
问题: 配置完成后,发现以前的文章链接都变成了undefined,而新写的文章没有问题。
原因: 这是因为Hexo会缓存之前生成过的文章内容。
解决方案: 解决方法非常简单,只需要在重新生成博客之前,先清除一下缓存即可。在命令行中依次执行以下命令:
hexo clean
hexo g
hexo clean会清除掉之前生成的缓存文件,然后hexo g会重新生成所有文章,并为它们都加上唯一的abbrlink。
总结
通过使用hexo-abbrlink插件,我们成功地解决了Hexo博客中文链接过长和编码的问题,让我们的博客链接变得更加简洁、美观和永久。希望这篇教程对你有所帮助,快去给你的博客也换上酷炫的永久链接吧!