使用哈希值配置Hexo永久url固定地址
AI-摘要
切换
Zero GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
使用哈希值配置Hexo永久url固定地址
Kay以下是具体步骤:
1. 安装 hexo-abbrlink
插件
首先,确保安装了 hexo-abbrlink
插件:
1 | npm install hexo-abbrlink --save |
2.配置 Hexo 自动生成哈希值
安装必要的模块
如果还没有安装
crc
模块,请先安装:1
npm install crc
创建 Hexo 插件脚本
在
scripts
目录(如果没有,请创建一个)下创建一个新文件generate-crc32.js
,并将以下内容复制到该文件中:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30const fs = require('fs');
const path = require('path');
const matter = require('gray-matter');
const crc32 = require('crc').crc32;
hexo.extend.filter.register('before_generate', function() {
const postsDir = path.join(hexo.source_dir, '_posts');
fs.readdir(postsDir, (err, files) => {
if (err) {
console.error('Error reading posts directory:', err);
return;
}
files.forEach(file => {
const filePath = path.join(postsDir, file);
const content = fs.readFileSync(filePath, 'utf8');
const { data, content: postContent } = matter(content);
// 生成 crc32 哈希值
const hash = crc32(data.title).toString(16);
data.abbrlink = hash;
const newContent = matter.stringify(postContent, data);
fs.writeFileSync(filePath, newContent, 'utf8');
console.log(`Generated CRC32 for ${file}: ${hash}`);
});
});
});配置
_config.yml
在 Hexo 的
_config.yml
文件中添加或更新以下配置:1
2
3abbrlink:
alg: crc32 # 使用 crc32 算法
rep: hex # 生成的链接格式为 16 进制配置永久链接格式:
1
permalink: posts/:abbrlink.html
重新生成站点
现在,每次运行
hexo generate
或hexo server
时,Hexo 都会在生成内容之前自动执行脚本,生成并添加哈希值到文章的front-matter
中。运行以下命令来清理并重新生成站点:
1
2hexo clean
hexo generate然后部署:
1
hexo deploy
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果