背景
做开发工作几年了,平时也有记录一些坑、经验的习惯,但是都是在个人的笔记上。最近有一个感觉越来越强烈:虽然内容记录都记录在了大象(印象笔记)和 Notion 中,但是依然不是自己的。能通过博客用自己的语言输出的内容,才算是真正掌握了。于是开始搞 Github Pages 搭建博客。
遇到的第一问题就是:如何选择博客引擎?众所周知,有时候最难的不是解决问题本身,而是做选择。
1 | 而是尽量找一种,最好是唯一种明显的解决方案 |
jeklly, hugo, hexo 如何选择?
jeklly, hugo, hexo 都是比较常见的静态博客引擎。一般搭建个人博客的时候会用到。
- Jekyll 是一个简单的静态博客引擎,它是用 Ruby 编写的。它支持 Markdown 和 Liquid 模板语言。GitHub Pages 默认使用 Jekyll 来构建静态博客。
- Hexo 是一个用 Node.js 编写的静态博客引擎。它支持 Markdown 和 EJS 模板语言。
- Hugo:是用Go语言编写的静态博客引擎,速度快,主题丰富,简单易用。
我的博客选择了 Hexo,记录一下决策过程。主要从语言、社区活跃度的角度出发。
- 为什么不用 Jeklly?因为是 Ruby 写的。最近几年个人越来越感觉,互联网上 Ruby 的声音少了。相对应的社区活跃度对比 Js、Go 等,会差一点。
- 为什么不用 Hugo?Hugo 在静态博客引擎中,算得上是后起之秀。开发社区比较活跃。但是考虑到博客更多是输出内容,美化、插件等,对于我来说能用就行,有解决方案就行。同时,因为是 Go 开发的,而我过往的开发经验在 Java、Kotlin 这块,对 Go 是零基础,没必要新开一个坑。Hugo 还有一个优势:编译速度快。在文章比较多的时候(100 以上)会比较明显。后续积累了比较多的内容后,可能会迁移到 Hugo,但是在此之前,还是聚焦在内容输出上。
相比之下,Hexo 的 NodeJs,开发社区比较活跃,资料多,有问题的话,在 Stack Overflow 里面也能搜到许多信息(面向 Stack Overflow 编程)。Js 语言跟 Java、Kotlin 也基本差不多,语言成本不高。
结论
所以,最终我选择了 Hexo(配合比较常用的 Next 主题)。并计划在输出内容很多构建速度慢的问题比较突出并且 Hugo 的主题已经发展的非常成熟的情况下,切换成 Hugo。