Gobin v1.2.0 已经发布。这是一个向后兼容的功能版本,核心目标很明确:让一个静态博客项目从“能快速构建”,继续往“能长期维护、能放心发布、能顺手部署”推进。
如果你正在维护一个 Markdown 博客,尤其是从 Jekyll 迁移过来的 _posts 内容结构,Gobin 仍然保持单二进制、低依赖、快速构建的使用方式。v1.2.0 则进一步补齐了日常工作流里最常见的几个环节:创建内容、发布前检查、静态资源缓存、增量重建和容器化运行。
这次更新解决了什么
之前使用静态站点生成器时,很多工作并不发生在“完整构建”这一步,而是发生在写作和发布之间:
- 新建文章时,需要手动记文件名格式和 Front Matter 字段。
- 发布前,需要确认配置、模板、Markdown 和 URL 没有冲突。
- 改一个文件后,希望本地预览尽快刷新,而不是每次都全量重建。
- 上线后,希望 CSS、图片等静态资源能被浏览器和 CDN 稳定缓存。
- 部署时,希望除了本机二进制,也能直接使用 Docker 镜像。
v1.2.0 基本围绕这些真实场景展开。
更快开始写:gobin new
新版本加入了内容脚手架命令,可以直接创建文章或页面:
gobin new post "我的第一篇文章"
gobin new post --date 2026-05-01 "Release notes"
gobin new page "About"
gobin new post 会按当前站点配置的 contentDir 生成带日期前缀的 Markdown 文件,并写入基础 Front Matter。对于博客作者来说,这减少了很多重复操作;对于迁移或多人维护的站点来说,也能让内容格式更一致。
发布前先检查:gobin check
v1.2.0 新增了 gobin check:
gobin check
gobin check --drafts
它不会写入输出目录,而是检查配置加载、Markdown 和 Front Matter 解析、主题模板加载,以及多个页面是否会写到同一个输出路径。--drafts 可以把草稿也纳入冲突检查,适合放进 CI 或发布前脚本。
这类检查对静态博客很实用。因为真正麻烦的问题往往不是“构建失败”,而是某个 URL 在发布后才发现被覆盖、模板缺失,或者草稿内容在切换状态后产生路径冲突。
增量构建更完整
Gobin v1.2.0 引入构建 manifest:
gobin build --incremental --clean=false
构建信息会记录在 <publishDir>/.gobin-build.json 中。内容没有变化时,Gobin 可以跳过未受影响的单篇页面、列表页、taxonomy 页,以及 feed、sitemap、search、alias、robots 等站点级产物。
开发服务器也跟进了这套能力。gobin serve 的 watcher 在保存文件时会自动走增量重建路径,让本地编辑和预览更轻。
对小站点来说,这意味着反馈更快;对文章数量不断增长的博客来说,这意味着构建时间更可控。
静态资源缓存更稳:文件名级指纹
除了原有的 URL query 版本化方式,v1.2.0 新增了文件名级资源指纹:
assets:
fingerprint:
strategy: filename
启用后,静态资源可以输出为类似 main.1a2b3c4d.css 的文件名。内容变化时文件名变化,内容不变时路径稳定。这对 CDN、浏览器缓存和长期部署更友好,也更符合很多静态托管平台的缓存策略。
默认行为仍然保持兼容;只有显式配置 strategy: filename 时,才会改写资源文件名。
Docker 镜像已经可用
v1.2.0 同步发布了 Docker Hub 镜像:
docker pull docker.io/mengbin92/gobin:v1.2.0
镜像支持 linux/amd64 和 linux/arm64。可以直接用它预览当前目录中的站点:
docker run --rm -p 8080:8080 \
-e GOBIN_AUTO_INIT=true \
-v "$PWD:/site" \
docker.io/mengbin92/gobin:v1.2.0
这让 Gobin 不只适合本机安装,也更容易放进 CI、容器平台和标准化开发环境。
升级方式
使用 Go 安装:
go install github.com/mengbin92/gobin/cmd/gobin@v1.2.0
也可以从 GitHub Releases 下载对应平台的压缩包,并使用 SHA256SUMS 校验。
如果你已经在使用 @latest:
go install github.com/mengbin92/gobin/cmd/gobin@latest
安装后可以确认版本:
gobin version
适合现在尝试 Gobin 的几个场景
如果你有下面这些需求,v1.2.0 是一个更合适的试用节点:
- 你有一个 Jekyll 风格的 Markdown 博客,想减少 Ruby 运行时和插件依赖。
- 你希望博客生成器是一个单文件工具,方便在本机、服务器和 CI 中使用。
- 你关心构建速度,尤其是文章数量越来越多之后的本地预览体验。
- 你希望保留 Markdown、Front Matter、分类、标签、RSS、sitemap 和搜索索引等常见博客能力。
- 你希望部署时可以选择二进制、GitHub Actions 或 Docker 镜像。
Gobin 仍然在持续演进,但 v1.2.0 已经把“写作、检查、构建、预览、发布”这条主链路补得更完整了。
项目地址:https://github.com/mengbin92/gobin
Release:https://github.com/mengbin92/gobin/releases/tag/v1.2.0