博客已经跑了三年多,一直用的是 WordPress。它像一辆自动挡的 SUV:后台一键点火,随时随地都能写。可惜 PHP 这头“发动机”有点喝油,2 核 0.5 G 的小水管云服务器常被踩得喘粗气。恰好前阵子沉迷 Markdown,干脆把车子换成 Hexo 这辆纯电小钢炮,再把车牌(域名)换成 moel.top,轻装上阵。
挑主题时一眼相中了一个可爱而现代的 Hexo 主题Kratos-Rebirth,官方贴心地准备了“整车出厂”模板仓库,直接 git clone 到 Windows 本地,再用他们力荐的 pnpm 装依赖——pnpm i 一条命令,3 秒完成“上牌手续”。
车有了,旧行李得搬。我总不能手动把就原有博客系统里面的文章一篇一篇转换成md文件,手动复制粘贴会把手写断,就想着能不能自动化转换成hexo博客文章,不过好在hexo官方是给出了WordPress迁移Hexo的教程,Hexo 官方提供了 migrator 插件,照文档执行:
1 | npm install hexo-migrator-wordpress --save |
结果迎面报错:
1 | Cannot read properties of null (reading 'matches') |
把报错交给AI,AI回复说我本地使用的是最新版本的node.js,存在不兼容的情况,于是将Node.js卸载掉,安装一个老版本,问题依旧。我怀疑是淘宝镜像源没有这个包,更换多个镜像源故障依旧,实在没办法了。最后,我把目光放在Kratos-Rebirth官方推荐的pnpm这个包管理工具,我在想,pnpm或许有hexo-migrator-wordpress这个软件包,于是
1 | pnpm install hexo-migrator-wordpress |
它成功了!居然一次点亮!官方插件秒变“搬家小哥”,一口气把文章、摘要、发布时间全打包成 Markdown,只剩分类标签需要手动微调。
旧域名准备退役,图片也不能丢。顺手把 wp-content/uploads 整体同步到自建图床,批量替换链接,再改 _config.yml 里的一些具体配置。hexo clean && hexo g && hexo d,新站瞬热上线。
熄火,看一眼仪表盘——内存占用从原来的 60 % 掉到 10 %,访问速度秒开。WordPress 的庞然身躯正式退场,Hexo 的小巧身躯接上接力棒。博客搬家完成,收工。
当然,目前的博客的背景图和banner图还是主题模版自带的,不过我已经找画师约稿一个背景图了,未来banner图我也打算日后约画师更换掉,——先卖个关子,等下次更新一起开箱,敬请期待!