前言

作为一个喜欢写作和分享的开发者,拥有自己的博客一直是我的追求。在这几年的博客搭建历程中,我先后尝试了Halo、Hexo和Hugo三个平台。今天想和大家分享一下我的选型历程,以及最终选择Hugo的原因。

我的博客平台探索历程

第一站:Halo - 从技术偏好到理性选择

我最早接触的博客平台是Halo。作为一个Java开发者,选择Halo似乎是理所当然的事情。

为什么最初选择Halo

技术栈的亲切感: 作为一名Java开发者,看到Halo是用Spring Boot开发的,第一反应是"这个我熟悉!"。当时天真地想着:

  • 既然是Java写的,我可以自己定制功能
  • 遇到问题可以直接看源码解决
  • 说不定还能贡献一些代码,参与开源项目

功能的完善性:

  • 后台管理系统 - 可视化的管理界面,对非技术用户友好
  • 主题丰富 - 社区提供了大量精美的主题
  • 插件生态 - 评论系统、统计分析等插件一应俱全
  • 动态功能 - 可以随时在线编辑和发布文章

理想与现实的差距

使用了一段时间后,我发现自己陷入了一个误区:

1. 定制化的陷阱

最初确实尝试过修改源码,添加了一些自己想要的功能。但很快就发现问题:

  • 孤岛版本风险 - 我的修改可能不会被官方接受,即使提交PR也未必会被合并
  • 升级困难 - 一旦修改了代码,后续官方版本升级就会面临代码冲突
  • 维护成本 - 需要持续跟踪上游变化,解决合并冲突
  • 时间黑洞 - 大量时间花在了折腾系统上,而不是写作本身

2. 本末倒置的折腾

某天我突然意识到一个问题:博客的核心价值在于内容记录和分享,而不是博客系统本身。我花了太多时间在:

  • 调试主题样式
  • 优化数据库查询
  • 修改源码功能
  • 处理服务器问题

而真正用于写作的时间却越来越少。这完全违背了我搭建博客的初衷。

3. 现实的经济考量

压倒骆驼的最后一根稻草是:我的云服务器到期了

看着续费账单,我开始认真思考:

  • 一台能流畅运行Java应用的服务器,年费至少500-1000元
  • 还需要定期维护:系统更新、安全补丁、数据备份
  • 偶尔还要处理服务器宕机、内存溢出等问题
  • 这些成本和精力,对于一个个人博客来说真的值得吗?

当我了解到GitHub Pages和Vercel这些免费的静态网站托管服务后,我意识到是时候做出改变了。

第二站:Hexo - 静态博客的初体验

放弃Halo后,我开始寻找静态博客生成器。首先尝试的是在中文社区很火的Hexo

转变的轻松:

  • 零成本部署 - GitHub Pages完全免费
  • 纯静态文件 - 不用担心服务器安全和维护
  • 版本控制 - 所有内容都在Git中,永不丢失

Hexo的优势:

  • 中文社区活跃 - 文档、教程、主题都很丰富
  • Node.js生态 - 插件众多,功能扩展方便
  • 主题精美 - 特别是NexT、Butterfly等主题,非常漂亮

使用中发现的问题:

  • 构建速度 - 文章多了之后,每次生成要等10-20秒
  • 依赖臃肿 - node_modules文件夹经常超过300MB
  • 环境依赖 - 换电脑需要重新配置Node.js环境
  • 版本兼容 - Node版本、包版本偶尔会有兼容性问题

虽然Hexo解决了服务器成本问题,但在使用体验上还是有些不够理想。

第三站:Hugo - 找到最适合的方案

在使用Hexo的过程中,我注意到很多技术博主都在推荐Hugo,说它构建速度快、使用简单。抱着试试看的心态,我开始了解Hugo,这一试就让我决定长期使用它。

让我决定使用Hugo的关键点

1. 真正的轻量级

  • Hugo只是一个二进制文件,下载即用
  • 没有复杂的依赖管理
  • 项目文件干净清爽,没有臃肿的依赖目录

2. 闪电般的速度

# Hexo构建100篇文章
$ hexo generate
INFO  Generated: 100 files in 15.2s

# Hugo构建100篇文章  
$ hugo --gc --minify
Built in 287 ms

这个速度差异在日常使用中体验非常明显。

3. 部署的便利性

配合Vercel使用,我现在的发布流程是:

  1. 本地写完文章
  2. git push推送到GitHub
  3. Vercel自动构建并部署
  4. 30秒后,新文章就上线了

完全不需要关心服务器、部署脚本、CDN配置等问题。(详细部署教程见:使用Vercel部署Hugo博客

4. 专注于写作

Hugo让我重新找回了写博客的初心:

  • 不再折腾系统配置
  • 不再担心服务器问题
  • 不再纠结主题样式
  • 把精力放在内容创作上

三个平台的对比总结

特性 Halo Hexo Hugo
类型 动态博客 静态生成器 静态生成器
语言 Java Node.js Go
部署成本 需要服务器(¥500-1000/年) 免费(静态托管) 免费(静态托管)
构建速度 无需构建 较慢(10-20秒) 极快(<1秒)
环境依赖 JVM + MySQL Node.js + npm 单二进制文件
依赖大小 服务器部署 ~300MB(node_modules) ~30MB(含主题)
学习曲线 中等 中等 简单
主题生态 丰富 非常丰富 丰富
定制难度 需要Java知识 需要前端知识 基础即可
维护成本 高(服务器+时间) 极低
适合人群 需要动态功能的团队 前端开发者 所有人

我的心路历程总结

从折腾到专注

这几年的博客平台迁移,让我明白了一个道理:

工具应该为目的服务,而不是成为目的本身。

作为开发者,我们很容易陷入技术的舒适区:

  • 看到熟悉的技术栈就想上手改造
  • 总想着自己的定制化会更好
  • 把大量时间花在优化系统上

但博客的本质是记录和分享,而不是展示技术能力。

成本与价值的权衡

从每年几百上千的服务器费用,到现在完全免费的静态托管,我省下的不仅是金钱,更是时间和精力:

  • 不用半夜爬起来重启服务器
  • 不用担心数据库备份
  • 不用处理安全漏洞
  • 不用优化服务器性能

这些省下来的时间,都可以用来创作更多有价值的内容。

简单即是美

Hugo的简单给了我最好的体验:

  • 安装简单:下载一个文件即可
  • 使用简单:几个命令搞定一切
  • 部署简单:Git推送自动发布
  • 维护简单:几乎不需要维护

当工具足够简单时,你才能真正专注于创作。

给正在选型的朋友的建议

如果你是Java开发者

不要像我一样,因为"是Java写的"就选择Halo。问问自己:

  • 你真的需要动态功能吗?
  • 你愿意为服务器付费吗?
  • 你有时间维护服务器吗?
  • 你是想写博客还是想改博客系统?

如果你追求零成本

静态博客 + 免费托管是最佳选择:

  • GitHub Pages:最稳定的免费托管
  • Vercel:构建快速,全球CDN
  • Netlify:功能丰富,也很不错

如果你想专注写作

选择最简单的工具:

  1. Hugo - 如果你想要极致的简单和速度
  2. Hexo - 如果你需要丰富的中文资源
  3. 其他 - 如果你有特殊需求

结语

博客平台没有最好,只有最适合。对我而言,从Halo到Hexo再到Hugo的历程,是一个从复杂到简单、从折腾到专注的过程。

现在使用Hugo + Vercel的组合,让我可以:

  • 零成本 运行博客
  • 零维护 投入精力
  • 专注于 内容创作

如果你也厌倦了折腾,想要一个简单可靠的博客方案,不妨试试Hugo。记住:博客的价值在于你写下的文字,而不是运行它的系统。

相关资源