0%

Hexo 升级到 V7.3

最近换了台 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
2
3
hexo init blog
cd blog
npm install

当前环境配置如下:

1
2
3
4
hexo: 7.3.0
node:v22.11.0
npm:10.9.0
brew:4.4.2

基本配置

资源迁移:建完站之后,把之前的文章(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
2
3
4
5
# 默认风格
# permalink: :year/:month/:day/:title/

# 将文章 url 风格调整成短链风
permalink: posts/:abbrlink/

配置分类

这步配置可以参考[这个帖子](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
2
3
4
5
---
title: 分类
date: 2024-11-02 13:43:56
type: "categories"
---

配置标签

同理 配置 tags

1
hexo new page tags

成功会有提示

1
INFO  Created: ~/path_to_blog/source/tags/index.md

编辑 index.md 在文件中添加 type: “tags”

1
2
3
4
5
---
title: 标签
date: 2024-11-02 13:44:19
type: "tags"
---

安装插件

站内搜索

安装 hexo-generator-searchdb 插件

1
npm install hexo-generator-searchdb --save

_config.yml 中添加配置:

1
2
3
4
5
6
# search
search:
path: search.json
field: post
format: html
limit: 1000

字数统计

安装 npm install hexo-word-counter 插件 , 参考

1
2
npm install hexo-word-counter
hexo clean

Disqus

要在 Hexo 博客中使用 Next 主题集成 Disqus 评论系统,请按照以下步骤进行配置:

  1. 注册 Disqus 并获取短名称:

    • 前往 Disqus 官网注册一个账户,并创建一个新的站点。
    • 创建站点后,会分配一个 shortname,这是你在 Next 主题中配置 Disqus 的关键。
  2. 配置 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

  3. 重新部署博客 & 集成验证:
    确保保存配置文件后,在 Hexo 根目录中执行以下命令重新生成和部署博客:

    1
    hexo clean && hexo g -d

    打开你的博客页面,检查文章页底部是否显示了 Disqus 评论区域。

发布插件

然后需要在 blog 根目录下安装以下插件:

1
npm install hexo-deployer-git --save

因为我在 config.yml 中配置好了 deploy 信息:

1
2
3
4
5
6
7
# Deployment
deploy:
type: git
message: "Site updated: {{ now('YYYY-MM-DD HH:mm') }}"
repo:
github: git@github.com:wangruofeng/wangruofeng.github.io.git
branch: master

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 发布新文章
hexo new "My New Post"

# 预览
hexo s

# 生成文件到 public 目录
hexo g

# 发布到 Github Pages
hexo d

# 清除缓存
hexo clean

需要注意,如果改了文件发布的话,要先 hexo g ,然后再 hexo d