最近换了台 Apple M2 电脑,整个软件都进行重装,Hexo 年久失修,在设置的时候出现很多警告 ⚠️,看了一下日志主要原因是以前版本依赖的 node 版本太低了,还有相关依赖库因为太旧有不少安全漏洞,查了一下 Hexo 最新发布的为 7.3 版本 ,于是打算整体迁移一下。
安装 Hexo 7.3
首先 Hexo 的安装可以用 brew 了。使用 brew install hexo
安装,安装好之后 Hexo 在 /opt/homebrew/Cellar/hexo/7.3.0
下。
使用 Hexo 的如下指令完成建站
1 | hexo init blog |
当前环境配置如下:
1 | hexo: 7.3.0 |
基本配置
资源迁移:建完站之后,把之前的文章(source/_posts)和静态资源(例如图片 source/images)都迁移过去。
如果博客有映射自己的域名,记得把 CNAME 文件也迁移一下
配置主题:由于我定制过 Next 主题,就直接把旧项目的主题直接拷贝到新项目的 themes/next 目录即可。如果是第一次建站需要在 themes 目录下把 Next clone 下来:
1 | git clone https://github.com/next-theme/hexo-theme-next.git next |
配置 _config.yml
主题为 next:
1 | theme: next |
配置语言:在 _config.yml
中更新博客语言配置,默认为英语
1 | language: zh-CN |
配置链接风格:修改 _config.yml
的 permalink 生成格式,这里配置成短链风格,如下内容:
1 | # 默认风格 |
配置分类
这步配置可以参考[这个帖子](https://tohugo.com/2021/01/26/工具配置/Hexo 添加分类及标签(在 Next 主题下)/)
打开命令行,进入博客项目所在的文件夹下,执行以下命令
1 | hexo new page categories |
成功会有提示
1 | INFO Created: ~/path_to_blog/source/categories/index.md |
这样我们就创建好了分类页面了。但是这个时候主题还不会识别这个页面为分类页;所以我们需要编辑这个新建的页面,让主题识别这个页面,并自动为这个页面显示分类。
编辑 index.md
在文件中添加 type: “categories”
1 | --- |
配置标签
同理 配置 tags
1 | hexo new page tags |
成功会有提示
1 | INFO Created: ~/path_to_blog/source/tags/index.md |
编辑 index.md
在文件中添加 type: “tags”
1 | --- |
安装插件
站内搜索
安装 hexo-generator-searchdb
插件
1 | npm install hexo-generator-searchdb --save |
在 _config.yml
中添加配置:
1 | # search |
字数统计
安装 npm install hexo-word-counter
插件 , 参考
1 | npm install hexo-word-counter |
Disqus
要在 Hexo 博客中使用 Next 主题集成 Disqus 评论系统,请按照以下步骤进行配置:
注册 Disqus 并获取短名称:
- 前往 Disqus 官网注册一个账户,并创建一个新的站点。
- 创建站点后,会分配一个
shortname
,这是你在 Next 主题中配置 Disqus 的关键。
配置 Next 主题:
- 打开你的 Hexo 博客的 Next 主题配置文件,路径通常是
/Users/ruofeng/Documents/git_repo/hexo_blog/themes/next/_config.yml
。 - 找到
disqus
设置部分并启用它。
示例配置:
1
2
3
4# Disqus comments
disqus:
enable: true
shortname: your_disqus_shortname将
your_disqus_shortname
替换为你在 Disqus 上获得的shortname
。- 打开你的 Hexo 博客的 Next 主题配置文件,路径通常是
重新部署博客 & 集成验证:
确保保存配置文件后,在 Hexo 根目录中执行以下命令重新生成和部署博客:1
hexo clean && hexo g -d
打开你的博客页面,检查文章页底部是否显示了 Disqus 评论区域。
发布插件
然后需要在 blog 根目录下安装以下插件:
1 | npm install hexo-deployer-git --save |
因为我在 config.yml
中配置好了 deploy 信息:
1 | # Deployment |
常用命令
1 | # 发布新文章 |
需要注意,如果改了文件发布的话,要先 hexo g
,然后再 hexo d
。