用 Go 构建极简博客系统

为什么选择 Go?

在构建个人博客时,我考虑过很多技术栈:Node.js、Python、PHP、Ruby...最终选择了 Go,原因很简单:

  1. 单二进制部署 — 编译后就是一个文件,扔到服务器就能跑
  2. 性能优秀 — 原生编译,内存占用极低
  3. 标准库强大 — html/template、net/http 已经够用了

技术选型

组件 选择 理由
Web 框架 Gin 轻量、高性能、生态成熟
数据库 SQLite 零配置、单文件、够用
模板引擎 html/template 标准库,无需额外依赖

项目结构

blog/
├── main.go
├── config/
├── internal/
│   ├── handler/
│   ├── model/
│   ├── repository/
│   ├── service/
│   └── middleware/
├── template/
└── static/

核心设计

双格式内容

文章支持 Markdown 和富文本两种格式,在新增时选择:

  • Markdown:使用 goldmark 渲染,适合技术文章
  • 富文本:直接存储 HTML,适合排版需求较高的内容

极简原则

整个系统遵循"少即是多":

  • 无侧边栏的详情页,专注阅读
  • 首页两栏布局,信息密度与留白兼顾
  • 青色主题,沉静温雅

总结

Go 非常适合构建这类轻量级应用。一个二进制文件 + 一个 SQLite 数据库文件,就是全部。

编程工作空间

写代码如写诗,追求简洁与优雅。