静态博客与动态博客
静态博客和动态博客是两种不同类型的博客系统。
区别
静态博客是把所有的博客文章预先生成好的静态页面,并存储在服务器上。当用户请求访问某篇博客时,服务器会直接返回对应的静态页面,不需要动态生成。 因此,静态博客通常比较快,安全性也较高,但是缺点是不能提供动态内容,例如评论功能,数据统计功能等。 不过我们可以想办法做到无后端的模拟动态的行为,比如说 Valine 就是一个无后端的评论系统。
动态博客则是在用户请求时才动态生成博客页面。动态博客通常可以提供更多的功能,例如评论,数据统计,分类标签等。 但是,动态博客的响应速度较慢,安全性也较低,因为每次请求都需要从数据库中动态生成博客页面。
流行框架
静态博客的流行框架有: Jekyll、 Hexo 和 Hugo
动态博客的流行框架有: Typecho、 WordPress 和 zblog
选择
我只是打算整理好笔记,以供自己以后翻阅以及分享给其他人查阅,并不想折腾后端,因此选择了免费的方案: 选一个静态博客框架 + Github Pages 部署。
Hexo
最初我选择的是 Hexo,他使用 nodejs 作为编译所用语言(因为静态博客最后都得编译成静态的html类型), 选用的 Next 主题,参见:Hexo
但是感觉编译起来有点难受,我是把博客源文件单独上传到一个仓库:
https://github.com/hebohang/HebohangWebsiteHexo
每次调用 Hexo 指令再去部署的。主要是每次编译需要花一点时间,不过已经挺快了,知道我遇见了 Hugo。
Hugo
Hugo 使用 go 作为编译所用语言,静态型编程语言就是飞快,基本上所见即所得了, 选用的 Stack 主题,参见:Hugo
Jekyll
Jekyll 我暂时没有尝试过,听说构建时间比较慢,但是似乎有加速方法?
但是看到一个主题 chirpy,演示Demo: https://chirpy.cotes.page/
尤其是这个 Categories 的设计让我觉得很不错。