博客从 wordpress 迁移到 hexo
主流的静态博客有 hexo 和 hugo等,我最终选择了 hexo。为什么不是 hugo?尽管 hugo 的渲染速度比 hexo 快太多,但是对于我来说,一年也产出不了多少文章,渲染速度不是最重要的,而且 hexo 好看的主题似乎比 hugo 要多一些。可能因为 hexo 是一群前端开发者开发和维护的,审美应该比 hugo 后端开发者要好。
我为什么选择静态博客
我在使用 wordpress 时总是喜欢折腾各种插件和主题,看到好看的主题价位合适了就买,文章没写几篇,钱花的倒是不少。其他的动态博客像 typehco / halo 基本上大同小异。主要也是不想折腾了,没啥意思。
静态博客的优点:
- 速度快,它直接返回生成好的静态文件。
- 没有后台,更安全。
- 部署简单,可以部署到托管平台、对象存储等。
- 使人更专注于内容本身的建设。
- Markdown 支持友好,可以自由选择喜欢的编辑器。
- 比较适合技术文章和个人博客。
- 可以使用 git 管理源文件,方便版本控制。
- 方便迁移。
静态博客的缺点也很明显,静态化本身就是它的缺点。
- 无评论系统和访问量统计,需要集成第三方或者自建服务。但网上可用的评论系统有很多,有的静态博客主题甚至支持好多种评论系统,你可以自由选择集成哪个评论系统。从某种角度来说,这也许并不是它的缺点。
- 对非技术用户不友好。
- 多台设备需要一致的环境。
- 一般情况下不能随时随地发布、修改文章。
- 搜索功能不能像动态博客那样传递关键词查询,而是将索引文件下载到客户端本地,随着文章越来越多,这个文件会越来越大。
hexo 网站源文件的多端同步问题
hexo 的文章一般是在本地编写的,如果有多台电脑,就涉及到多端同步问题,本想使用 github 私有仓库做同步,但是国内屏蔽了 github 的 22 端口,所以改为了使用 gitee 的私有仓库,而且速度很快,目前使用良好。但是国内的平台你懂得,总是那么不尽如人意,如果后期遇到问题了再考虑换其他平台。
hexo 部署到云服务器的问题
文章同步的问题解决了,但是部署 public
文件夹的问题又出现了,网上的很多 hexo 搭建教程都是说一键部署到 GitHub Pages 或其他托管平台,由于我的网站部署到了腾讯云服务器,所以需要想别的办法。经过一番搜索和研究,hexo 可以使用 rsync 工具和插件来做同步部署,经过一段时间的使用,它工作的很好。我在 这篇文章 中记录了如何使用 rsync 部署到云服务器。
hexo 引用图片问题
hexo 文章内使用本地图片是不现实的,所以一般是引用网络图片,这就需要使用别人的图床或自己搭建一个图床。但是数据还是放在自己手里比较放心,我目前使用的是腾讯云的 cos 配合 cdn 做了一个图床,因为 cdn 有很多节点,所以速度会非常快。如果你有自己的服务器,不妨试试自己动手使用开源的兰空图床搭建一个自用图床,缺点是不如 cdn 访问速度快。我在自己服务器上也搭建了一个,等 cdn 流量用完了再使用自己的图床。
使用习惯的改变
之前使用 wordpress 时,因为有后台管理的原因,直接在线上写文章,写好了发布就可以了。使用 hexo 之后,需要在本地写文章,发布时不仅要同步源文件,还要同步生成的静态文件,多了好多步骤和命令,不过对于程序员来讲不是什么大问题。