在 JavaScript 横扫一切的年代,只要能用 JS 写的,绝对不会多看别的语言一眼。而现在,“Rust 一切”的浪潮悄然掀起,从操作系统到编译器、从命令行工具到静态站点生成器——是的,连写博客、做文档的工具也要用 Rust 重造一遍,它的名字是:Zola。
什么是 Zola?一场属于 Rust 的极简主义美学
Zola 是一个使用 Rust 编写的静态网站生成器(SSG),它既不是第一个,也不是最流行的,但它可能是开发者体验最平衡的那一个。
它没有依赖数据库,也不需要庞大的构建链:只需一个 zola 可执行文件,你就能完成从写作到部署的全部流程。
它使用 Tera 模板引擎(语法类似 Jinja2),内容采用 Markdown 编写,兼容 CommonMark,同时内建对任务列表、表格、脚注的支持。Zola 天然支持中英文文档、代码高亮、搜索索引、Sass 编译——甚至连服务端都不用,拿一个 CDN 直接丢上去,就能闪电访问。
快速构建一个博客,只需 3 步
初始化站点
zola init myblog
根据提示输入站点 URL、是否启用 Sass、语法高亮、搜索索引等。
启动本地服务
cd myblog
zola serve
它会监听改动,自动热更新,浏览器实时预览。
写 Markdown,见即所得
新增文章只需在 content/blog/ 中写 .md 文件,配上 front-matter:
+++
title = "我的第一篇文章"
date = 2025-06-19
+++
这是一段使用 Rust 和 Zola 撰写的博客内容。
访问
http://127.0.0.1:1111/blog/ 就能看到它上线了。
模板系统——简约不简单
Zola 的模板系统简洁明了,却能做到继承、循环、条件判断、组件复用。举个例子:
<!-- templates/base.html -->
<html>
<body>
{% block content %}{% endblock content %}
</body>
</html>
<!-- templates/index.html -->
{% extends "base.html" %}
{% block content %}
<h1>欢迎来到我的博客</h1>
{% endblock content %}
语法与 Django、Jinja2 非常类似,上手门槛极低,但功能却相当强大。
特色功能,一个都不少
- 内建搜索索引:只要启用,Zola 自动构建前端可用的 JSON 索引。
- 自动生成 Sitemap 和 RSS:无需配置,直接部署。
- 多语言支持:可以为每种语言提供不同的内容路径。
- 图片自动处理:内建缩略图、WebP、Lazyload。
- 无需 NPM,无需 Node:干净、纯净,适合追求稳定和极简的开发者。
Zola vs Hugo vs Jekyll
特性 | Zola | Hugo | Jekyll |
编写语言 | Rust | Go | Ruby |
构建速度 | (极快) | (极快) | (慢) |
模板语言 | Tera | Go Template | Liquid |
安装依赖 | 无 | 无 | Ruby + gem |
搜索支持 | (需手动实现) | (需插件) |
Zola 的哲学是:该内建就内建,不搞插件地狱,不堆砌功能冗余。
总结
Zola 不仅仅是一个“Rust 写的静态站点工具”,它是对开发者体验的一次重塑:快得像 Go、简洁得像 Hugo、强得像 VuePress,却比它们更纯粹、更自由。
如果你厌倦了 JS 工具链的复杂依赖、Jekyll 的龟速构建、或 Hugo 模板语法的“拧巴”,那么试试 Zola 吧。
用 Rust 的方式,重新写一个属于你自己的 Web 角落。