Eleventy
开源的静态网站生成器,可混用 Markdown、Liquid、Nunjucks 等多种模板语言,构建 4000 个 Markdown 文件约 1.93 秒,适合手写模板、不想被框架绑死的前端开发者搭博客和文档站。
Eleventy(简称 11ty)是一个开源的静态网站生成器。它把 Markdown、HTML 和各种模板文件编译成一组静态页面,输出到 _site 目录,不需要数据库或后端服务。对想自己搭博客、文档站或小型官网的人来说,它解决的是「写内容」和「生成网页」之间的重复劳动:文件放进去,跑一条命令,站点就出来了。
主要功能
模板语言支持得很杂:Markdown、Liquid、Nunjucks、Handlebars、Mustache、EJS、Pug、HAML、WebC、JSX、TypeScript 都能混着用,同一个项目里不同文件可以用不同语法。数据方面有 Data Cascade、全局数据文件、JavaScript 数据文件和 Collections API,可以把文章按标签聚合成列表、做分页。命令行带 --serve 参数时会启动本地开发服务器,默认在 8080 端口,改文件自动重新构建。
官方还提供一批插件:图片处理、RSS、语法高亮、国际化、导航、Bundle 等,另有 Programmatic API 供脚本调用。页面上有一个浏览器内试玩的示例项目,可以直接改 Markdown 和 Liquid 看效果,不用先装环境。
适合谁
需要手写模板、又不想被框架绑死的开发者。官网列出的使用方包括 NASA、CERN、W3C、Google、Microsoft、Mozilla 等,GitHub 上有 88,000 多个仓库依赖它。构建性能是它主打的点:官网给出的对比里,构建 4000 个 Markdown 文件耗时 1.93 秒,同场对比的 Astro 是 22.90 秒、Gatsby 29.05 秒、Next.js 70.65 秒。
费用与限制
项目本身开源免费,代码在 GitHub 上,npm 累计下载量超过 1.5 亿次。使用前需要本机装 Node.js 18 或更新版本,用 npx、pnpm 或 yarn 运行。它只负责生成静态文件,评论、搜索这类动态功能要自己接第三方服务。官网当前稳定版是 v3.1.8,另有 v4 预发布版 4.0.0-alpha.10。