把博客程序从 typecho 换成了 Hexo

为什么要换掉typecho


之前白嫖的学生机要到期了,是时候给博客换个归宿了。
博客原本的程序是 typecho 现在换到了 Hexo . 为什么呢?免费服务香啊!

现在所有用到的服务,只有这个域名是花钱的。

具体是那些呢

博客程序:Hexo
评论程序:Twikoo
托管服务:Github + Vercel + Netlify + Cloudflare Pages(已经毙了,会自动去掉结尾html,无法手动设置)
CDN:腾讯云 + 阿里云 + 又拍云

源码托管在 Github 的私有仓库,提交后由 Vercel 和 Netlify 自动编译出静态网站,腾讯云CDN源站设置 Vercel 和 Netlify 相互热备,然后Github Action自动刷新CDN缓存资源。


记录一下迁移过程

备份 typecho 的文章数据

这里用到的是 Export2Hugo 插件导出所有文章。
不过插件内写的都是 exec .一般用PHP都屏蔽了这种命令,只能小改一下啦。
打开Action.php改第29行的$dir直接改成一个当前能访问的绝对地址。
正常前台现在点击备份,会在这个目录生成所有的文章啦~

备份 typecho 的评论数据

评论用的 TypechoToHexo 插件导出。

为什么文章不用这个呢?最开始用的也是这个插件,导出的有些问题……

评论导出还挺好使的。

导出单页评论需要修改 comments_page.php 里的 $url$cid,由多少个单页就需要导出几次

导出 json 的文件可以直接在 Twikoo 里导入,兼容 Valine 格式

需要优化的地方

博客之前地址用的都是自定义slug,所以需要修改 Hexo 的permalink: read/:uri.html (刚好slug是内置变量,无法自定义,只能改个命名用uri)

所有之前主题使用的自定义内部链接要修改成通用链接……

导出的图片需要修改URL

导出的评论内表情都是::QQ:Y:qq1::这种类型的,需要手动转成<img>标签的图片存储,不过之前和现在都是兼容OwO格式,转换起来还是很方便。
然后修改OwO的链接,又可以用上之前的表情啦~


写在最后

好久没有管博客了。等有空写几篇(水几篇)文章分享如何搭建这些服务吧