1. 概览 换了电脑,hexo 一直没迁移。乘着周末,折腾一下。 幸好之前有一个记录可以参考一下:hexo安装过程  最新版本的 node 和 老版本的 hexo 有兼容性问题(hexo 官方说明 ),所以需要升级。
2. 过程 过程比较挫折,我就写最后的过程。 插件+主题等都需要重新安装和配置,网上都有教程。
2.1 安装 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 安装 node $ brew install node # 安装 hexo (如果按官方的安装方式,最新只能安装 4.x) $ brew install hexo # 查看 hexo 版本 $ hexo version INFO  Validating config hexo: 7.3.0 hexo-cli: 4.3.2 os: darwin 24.4.0 15.4.1 # 初始化新 hexo $ hexo init blog # 安装 git 提交插件 npm install hexo-deployer-git --save # 安装体积缩小插件(性能优化) npm install hexo-neat --save # 安装图片懒加载插件 npm install hexo-lazyload-image --save # 安装本地检索给你 npm install hexo-generator-searchdb 
2.2 迁移数据 把旧电脑的整个 blog 拷贝到新电脑。 然后把 source 目录迁移到新初始化( hexo init blog  这步 ) confi 相关的话就看新老都 diff,看着配置==
2.3 配置主题 1 $ git clone https://github.com/theme-next/hexo-theme-next themes/next 
然后在 blog 的站点配置里面修改主题 theme: next 其它的就在 next 的配置里面进行调整
2.4 配置检索 安装完 hexo-generator-searchdb 和主题之后。 需要在两个地方进行本地检索配置。
站点配置:./_config.yml 最后面添加
1 2 3 4 5 6 7 # search search:   path: search.xml   field: post   content: true   format: html   unescape: true 
主题配置:./themes/_config.yml 调整对应的值
1 2 3 4 5 6 7 8 9 10 11 12 13 # Local Search # Dependencies: https://github.com/theme-next/hexo-generator-searchdb local_search:   enable: true   # If auto, trigger search by changing input.   # If manual, trigger search by pressing enter key or search button.   trigger: auto   # Show top n results per article, show all results by setting to -1   top_n_per_article: 1   # Unescape html strings to the readable one.   unescape: true   # Preload the search data when the page loads.   preload: true 
这里有个小插曲 如果只修改 主题配置  右上角会有排版问题,但是 unescape 会生效。 如果同时改 站点配置  右上角排班恢复正常,但是 unescape 失效,体积增大。
2.5 迁移到 Cloudflare Cloudflare 也有 pages 的功能。原理是授权 github 给 Cloudflare 自动拉取部署。 迁移之前: hisen.me -> Cloudflare -> github.io 迁移之后: hisen.me -> Cloudflare
具体的操作过程:
登录 Cloudflare 找到 Worker 创建 Pages 导入现有 Git 存储库 授权(建议仅授权仓库) 保存并部署 可以设置域名(我这一步很顺利,因为之前就在用 Cloudflare CDN) 2.5.1 一次提交构建过程 提交:2025-07-19 16:12:08 构建:2025-07-19 16:12:40 耗时:8s
2.5.1.1 hexo 提交 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [main 5a25906] Site updated: 2025-07-19 16:12:08  601 files changed, 1271 insertions(+), 1195 deletions(-)  create mode 100644 20250719-hexo-upgrade-and-optimize/index.html  create mode 100644 archives/2025/07/index.html  create mode 100644 archives/2025/index.html  create mode 100644 tags/hexo/page/2/index.html Enumerating objects: 2105, done. Counting objects: 100% (2105/2105), done. Delta compression using up to 12 threads Compressing objects: 100% (644/644), done. Writing objects: 100% (1227/1227), 695.41 KiB | 3.16 MiB/s, done. Total 1227 (delta 583), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (583/583), completed with 264 local objects. To github.com:hisenyuan/hisenyuan.github.io.git    8ee58fc..5a25906  HEAD -> master branch 'main' set up to track 'git@github.com:hisenyuan/hisenyuan.github.io.git/master'. INFO  Deploy done: git 
2.5.1.2 Cloudflare 构建 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 16:12:24.762	Cloning repository... 16:12:25.822	From https://github.com/hisenyuan/hisenyuan.github.io 16:12:25.822	 * branch            5a259063ef0189af5c31801cfc15d90817c95c9b -> FETCH_HEAD 16:12:25.822 16:12:25.925	HEAD is now at 5a25906 Site updated: 2025-07-19 16:12:08 16:12:25.926 16:12:26.004 16:12:26.005	Using v2 root directory strategy 16:12:26.028	Success: Finished cloning repository files 16:12:27.685	Checking for configuration in a Wrangler configuration file (BETA) 16:12:27.686 16:12:28.794	No wrangler.toml file found. Continuing. 16:12:28.794	No build command specified. Skipping build step. 16:12:28.795	Note: No functions dir at /functions found. Skipping. 16:12:28.795	Validating asset output directory 16:12:31.586	Deploying your site to Cloudflare's global network... 16:12:33.708	Uploading... (34/635) 16:12:35.115	Uploading... (235/635) 16:12:35.117	Uploading... (435/635) 16:12:35.394	Uploading... (635/635) 16:12:35.394	✨ Success! Uploaded 601 files (34 already uploaded) (2.00 sec) 16:12:35.394 16:12:35.827	✨ Upload complete! 16:12:39.096	Success: Assets published! 16:12:40.432	Success: Your site was deployed! 
3. 注意事项 升级了 hexo 之后(之前是 3.x) 语法上有点变化,最大就是波浪号( ~ ),如果不带空格,那么即使换行了,也会被认为是删除线。
3.1 波浪线处理前 效果源码:
效果预览: 我是第一行 我是第二行
3.2 波浪线处理后 效果源码:
效果预览: 我是 ~ 第一行 我是 ~ 第二行