选静态站点生成器的人常卡在同一处:搜到一堆名字,却不知道它们解决的不是同一类问题。这份清单按许可、构建依赖、产物形态与学习曲线四个维度,把七款常用工具放回各自的位置,并写清每一款不适合谁。
先定四个维度:许可、部署、依赖、学习曲线
头一条是许可。它决定你能不能改、能不能闭源分发、改完再分发要不要一并开放源码。第二条是构建依赖:装一个二进制就能跑,还是得先有 Node 或 Ruby 运行时和一整棵依赖树。
第三条是产物形态:默认输出纯 HTML 加少量脚本,还是能把页面注水成单页应用。第四条是学习曲线:模板语法是 Go Template、Tera、Liquid 还是 JSX,团队里谁会写、谁愿意维护。
这四个问题比「哪个构建快」更能决定结局。构建速度通常在内容过万页时才成为主要矛盾,而许可与依赖从一开始就在影响你。
部署方式跟着产物走。这类工具产出的都是文件,可以丢给对象存储加 CDN,也可以直接放进 Nginx 目录;需要登录、表单、个性化推荐时,才要考虑函数服务或轻量后端。构建阶段的资源占用差别也不小:Go 与 Rust 的二进制主要吃 CPU 与内存,Node 系还要额外算依赖安装的磁盘与时间。
七款工具一览:版本、许可与定位
| 工具 | 语言与运行时 | 许可 | 当前版本 | 主要定位 |
|---|---|---|---|---|
| Hugo | Go,单二进制 | Apache-2.0 | 0.169.0(2026-10-27) | 内容量大的博客与站点 |
| Zola | Rust,单二进制 | EUPL-1.2 | 0.23.6(2026-09-12) | 内置功能齐全、不碰 JS 工具链 |
| Astro | Node 22.23.4 以上 | MIT | 7.4.7 | 内容站加交互组件 |
| Eleventy | Node 18 以上 | MIT | 3.1.8 | 模板自由、默认零客户端 JS |
| VitePress | Node + Vue 3 | MIT | 1.6.4 | 项目文档与产品手册 |
| Hexo | Node 20.19 以上 | MIT | 8.1.2 | 中文博客、插件生态 |
| Jekyll | Ruby | MIT | 4.4.1(2025-01) | GitHub Pages 直接构建 |
版本号取各项目发布页与包注册表在 2026 年 11 月 6 日的当前稳定版。Jekyll 的 4.4.1 发布于 2025 年 1 月,此后以小版本修复为主,节奏明显慢于前六款,这一点在选型时要有预期。
许可这一栏有一处容易看漏。Zola 用的不是 MIT,而是 EUPL-1.2,属于带 copyleft 性质的欧盟许可:修改后再分发,需按同一许可开放对应源码。只拿它生成自己的网站不受影响,改内核再对外提供服务则要逐条读条款。
Go 与 Rust:两款单二进制工具
Hugo 是这组里社区体量靠前的一个,GitHub 上 90,389 Star,主语言 Go,许可 Apache-2.0,当前版本 0.169.0 发布于 2026 年 10 月 27 日。
它的优势在资产管线:SCSS 编译、JS 打包、图片处理都内置,不需要 Node。模板用 Go Template,函数多、写法偏程序化,头一次上手会别扭。适合文章上千篇、对构建时间敏感、又不想维护前端工具链的站点。
不适合两类人:想用 JSX 或 Vue 组件写页面的;团队里没人愿意学 Go Template 的。
Zola 走另一条路,Rust 编写、单二进制,17,583 Star,许可 EUPL-1.2,版本 0.23.6(2026-09-12)。它把 Sass 编译、语法高亮、搜索索引做成初始化时的开关,装完不必再配 JS 环境。模板是 Tera,语法接近 Jinja2,学过 Django 或 Twig 的人上手快。
不适合谁:需要大量前端插件与组件库的人;对 copyleft 许可敏感的商业项目;想要现成主题市场的人,Zola 的主题数量少于 Hugo。
JavaScript 与 Ruby:五款各有分工
Astro 的定位是内容站加交互组件。它默认输出静态 HTML,只有需要交互的部分才加载 JS,也就是常说的岛屿架构;页面里可以直接写 React、Vue、Svelte 组件,也可以只用自家的 astro 语法。7.4.7 要求 Node 22.23.4 以上,版本要求高于其余六款。
不适合谁:纯文档站,VitePress 的配置项更少;不愿跟着升 Node 的团队;需要复杂客户端状态的应用。
Eleventy 的特点是不绑定模板语言。Nunjucks、Liquid、Markdown、WebC 可以混用,默认不向浏览器输出 JS。3.1.8 只要求 Node 18 以上,在 Node 系里门槛偏低。它的插件生态比 Astro 小,主题也不多,好处是产出干净、结构由你决定。
不适合谁:想要开箱即用主题与组件的人;不熟悉 JS 构建配置的人。
VitePress 只为文档而生。它基于 Vue 3 与 Vite,Markdown 里可以直接写 Vue 组件,内置本地搜索、侧边栏、多语言与暗色模式。1.6.4 的配置项比同组工具少,代价是不擅长博客:分页、标签、归档都要自己实现。
Hexo 是国内博客圈的常见选择,8.1.2 要求 Node 20.19 以上。它的优势是插件与主题现成、中文文档齐全,装完换个主题就能写;劣势是只生成静态页面,复杂交互要另接服务。
Jekyll 是这批里资历较老的一个,Ruby 编写,模板用 Liquid,4.4.1 发布于 2025 年 1 月。它现在的主要价值是 GitHub Pages:仓库推上去,平台直接构建,不必自己配 CI。更新慢是事实,新特性少,接口倒是稳定。
不适合谁:不想在本机装 Ruby 的人;需要现代前端能力的人。
按场景选型:一张对照表
| 你的场景 | 建议 | 理由 |
|---|---|---|
| 个人博客,文章数百到上千篇 | Hugo | 资产管线内置,构建时间随内容增长不明显 |
| 只想装一个二进制,不碰运行时 | Zola | 无 Node / Ruby 依赖,Sass 与搜索可开关 |
| 内容站,个别页面要交互 | Astro | 岛屿架构,组件可复用 |
| 手写 HTML,要完全掌控结构 | Eleventy | 模板自由,默认不注入 JS |
| 项目文档、产品手册 | VitePress | 导航、搜索、多语言内置 |
| 中文博客,要现成主题 | Hexo | 主题与插件多,文档齐全 |
| GitHub Pages 零配置 | Jekyll | 平台原生构建,无需 CI |
表里没有「通用推荐」这一列,因为这类工具没有统一答案。真正让人后悔的选择通常不是选错生成器,而是选了一个团队没人会维护的模板语言。
上手顺序与三个误区
建议的顺序是:先用官方脚手架建一个空站,把三篇文章、一个列表页、一个标签页跑通;再接图片处理与部署;最后才换主题。跳过前两步直接套主题,出问题时分不清是主题还是配置。
误区一是把生成器当成 SEO 方案。它输出的是静态 HTML,结构、标题层级、内链才决定收录,工具只负责别拖后腿。
误区二是只看构建速度。内容过千页后,图片压缩与远程图片下载往往比模板渲染更耗时,单二进制工具与 Node 工具在这部分的差距会被抹平。
误区三是以为静态站什么都不用管。评论、搜索、表单、访问统计都要外挂服务;域名与证书也得自己配,站内写过ACME 证书自动化的流程,可以照着走。
部署之后还有两件事常被忽略:缓存头怎么设,决定改版后用户看到新页还是旧页,HTTP 缓存那篇讲清了强缓存与协商缓存的分工;上线初期的通断与解析,可以用多地节点探测先验一遍,比等用户反馈快。
最后一个判断建议:如果站点还没建,先用 VitePress 或 Hexo 把内容写出来,攒到二十篇再考虑迁移。迁移成本主要在模板改写,而改写的前提是你已经知道自己要什么结构。工具换得来,内容换不来。
相关地址
以下为文中七款工具的官方入口,版本号与升级说明以这些页面为准。
- Hugo(官网):https://gohugo.io/
- Hugo(GitHub 仓库):https://github.com/gohugoio/hugo
- Zola(官网):https://www.getzola.org/
- Zola(GitHub 仓库):https://github.com/getzola/zola
- Astro(文档):https://docs.astro.build/
- Astro(GitHub 仓库):https://github.com/withastro/astro
- Eleventy(官网):https://www.11ty.dev/
- Eleventy(GitHub 仓库):https://github.com/11ty/eleventy
- VitePress(官网):https://vitepress.dev/
- VitePress(GitHub 仓库):https://github.com/vuejs/vitepress
- Hexo(官网):https://hexo.io/
- Hexo(GitHub 仓库):https://github.com/hexojs/hexo
- Jekyll(官网):https://jekyllrb.com/
- Jekyll(GitHub 仓库):https://github.com/jekyll/jekyll
© 版权声明
文章版权归作者所有,转载需注明出处。未声明原创的皆为网络收集,如有侵权请邮箱lishiwenhuagx@sina.com联系下架处理。




