WordPress 迁移至 Hexo
小窝复活计划
因为某些不可抗力,近一年没有再管理过 blog
回来的时候发现图全裂了(草
一看原因是 jsdelivr 加速的图会自动将域名跳转至 https://raw.githubusercontent.com/
服务器到期了,我打算转 Hexo 作为 blog 框架
开始折腾
安装 Hexo
首先在本地部署 Hexo
要求的环境 git
和 node.js
因为开发需要早就安装好了,所以直接开始安装 Hexo
1 | npm install -g hexo-cli |
1 | hexo init <folder> |
提前安装好 hexo-migrator-wordpress
插件
1 | npm install hexo-migrator-wordpress --save |
转换 WordPress 中的文章数据
拿出之前备份好的 WordPress 网站数据(备份很重要)
用一点奇怪的办法在本地跑起来
在 WordPress 仪表盘中导出数据(工具 → 导出 → 导出文章或所有) 版本: 5.3
导出的是一个 xml 文件
1 | hexo migrate wordpress <导出的xml文件> |
稍等片刻,文章就会转换成 .md
文件,都在 /source/_posts/
目录
由于数据格式的差异,该方法并不能完美转换成功
包括但不限于图片404、文章异常等
修复文章需要折腾不少时间
然后配置好 _config.yml
、主题和仓库
1 | hexo server #开启预览服务器 http://localhost:4000/ |
1 | hexo g #生成静态文件 |
迁移评论(LeanCloud)
导出评论
导出评论有两种方法
一种是用上面的方法,导出的是
xml
(所有内容已经包含评论了)另外一种方法就是从数据库中直接导出表
wp_comments
我是用了第二种,直接把表导出为 json
格式
1 | [ |
评论系统选用 Waline
它的数据结构是这样的
1 | [ |
转换评论格式
因为我没有在网上找到这种可以转换格式的工具,所以就用 C# 简单写了一个
代码已经在 github 开源
https://github.com/BluesDawn576/WordPress2Valine
转换完成后将 json
文件导入到 LeanCloud
Class名称为 Comment
然后就是折腾时间(指修复表情包
趣事
我只想拿个数据
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 BDの小窝!
评论