“ 三年 Typecho 沉淀,现在,回应您的等待”,我第一次看到这句话的时候,被它深深的吸引了,原生支持 Markdown 排版语法,支持 BAE/GAE/SAE 等各类云主机,于是我毫不犹豫地拥抱了它,随着时间流逝,我对它的喜爱,也慢慢的减少,为什么呢?

为什么要更换博客程序?

我平时是怎么写博文呢?一般是在有道云笔记,写完并校验文字后使用 Typecho 的后台管理界面进行发布。

一个偶然的机会,我接触到了 Hexo ,仿佛一见如故,找了几个Demo看了看效果,心生喜欢,想把博客也更换一下,但碍于时间关系,便搁置了。

昨天在搜索引擎寻找问题答案的时候,看到一个博客,主题很是喜欢,由于 Typecho 肯定是没有的,嗯,你没猜错,我是为了一个主题迁移到 Hexo 的。

其实 Typecho 的插件和模板还是比较少的,更新也比较慢,在Typecho 官网的更新日志可以看到,最后的版本是 17.10.30 ,在2017年10月29日发布,虽然这不是最重要的,我们自己也可以去折腾,但成本太高了。

另外还有一个原因,Typecho 是PHP + Mysql 实现的开源博客程序,意味着你需要云服务器来支撑,所以运行博客本身会产生费用,我原来每个月固定 30元 的虚拟主机和CDN流量费用支出,虽然不多,但小数怕长计不是?

Hexo 因为可以生成静态文件直接部署,你可以部署到Github Pages或者Coding Pages上,甚至是腾讯云、阿里云提供的OSS存储上。

并且支持 GitHub Flavored Markdown 的所有功能,另外它还拥有强大的插件系统,前端造轮子的速度了解一下?

你只需一条指令即可部署到 GitHub Pages 或其他网站,套用一句话:人生苦短,我用 Hexo。

为什么是 Hexo?

HexoHugo 我都有专门去了解,包括他们的插件、模板,部署等,其实都类似,Hugo在文章数量较多的时候,生成会比 Hexo 快不少,我主要看重的还是 Hexo 的生态,Hugo 上有一些主题也是从 Hexo 迁移过去的。

网上有很多关于 Hexo、Hugo、Jekyll的对比讨论,最重要的还是选一个适合自己的。

迁移过程

文章迁移

由于 Typecho 上的文章,是 Markdown 格式的,加上文章数量不多,所以迁移不存在问题,我采用的是手动复制文章内容到有道云笔记进行归类,然后使用 Hexo生成文章就好。

图片迁移

使用 Hexo 之后,意味着编写文章的时候,附带图片变得不太方便了,不过总归是有解决方法,我将之前存放 Typecho 博客的图片进行了打包下载并存放到本地。

另外我用 Python 编写了一个脚本,监听本地文件变更,新增图片会将图片推送到阿里云OSS上,还算比较方便。

部署上线

如何部署 Hexo 上线,我参考的是 Hexo的官方文档,网上有很多部署方案的文章和讨论,我选择的方案是,Hexo + Coding Pages + 阿里云OSS,这样基本上运行环境和图床就有了。

总的来说,很经济实惠,不需要特别的费用支出,阿里云OSS我花了9元钱买了一年 40GB的套餐,完全够用了。

关于图床我看过 七牛云 、 又拍云,但由于实名认证需要3天时间,嫌太麻烦没注册,由于时间比较赶,后来选了阿里云OSS,后面应该会考虑把图片迁移过去到七牛云。

对主题和插件进行修改

主题我选用的是 hexo-theme-even,很漂亮的一款主题,用户群体还蛮多的。

如何设置主题,你可以查看 hexo-theme-even帮助文档

下面是我博客中使用到的一些插件:

得益于 Hexo的生态和官方文档,只要有一些前端基础,我可以很轻松构建出我想要的个人博客,在站内搜索集成的时候,发生了一些意外,假设我将 pjax 开启的话,站内搜索有一定几率无法搜索,我Debug了大概半小时才发现是这个原因,后面有时间再优化。

我对主题和插件进行了一些调整,以满足我的需要,从 Typecho 迁移到 Hexo 我大概花了10小时,还算顺利,感谢为Hexo生态付出过贡献的每一个人。

总结

Hexo 超出了我的预期,出奇的好用,很庆幸,到今天我还是有一颗爱折腾的心。