理解 zola.toml 与 Tera 模板

Zola 的核心是配置文件 zola.toml 与模板目录 templates/。从 front matter 到 Tera 变量,一篇讲清渲染机制。


Zola 的核心是两件事:配置zola.toml)与模板templates/)。理解这两块,就能完全掌控站点的形态。

配置文件

从 Zola 0.23 开始,配置文件更名为 zola.toml,内容如下:

# 站点基地址,部署时改成你的域名
base_url = "https://example.com"
title = "我的博客"
description = "用 Zola 搭建的个人博客。"

# 分类法(标签/分类)
taxonomies = [
  { name = "tags", feed = true, paginate_by = 10 },
]

[extra]
author = "MyBlog"

注意两点:

  • taxonomies 等顶层键必须写在 TOML 主区(任何 [表头] 之前),否则会被归进 [extra]
  • [extra] 是放任意自定义变量的地方,模板里通过 config.extra.author 读取

Front Matter

每篇 Markdown 文章开头用 +++ 包裹的 TOML 就是 front matter,用来声明元信息:

+++
title = "文章标题"
description = "摘要,会显示在列表页"
date = 2026-08-24

[taxonomies]
tags = ["zola", "rust"]
+++

提示:标签分类法是放在 [taxonomies] 表下的 tags 数组,分类名与 zola.toml 里定义的 taxonomy 对应。

Tera 模板

templates/base.html 定义了页面骨架,其他页面模板通过继承扩展:

{% extends "base.html" %}

{% block content %}
<article>
  <h1>{{ page.title }}</h1>
  <div>{{ page.content | safe }}</div>
</article>
{% endblock content %}

常用变量:

  • config.title / config.extra.*:站点配置
  • page.title / page.date / page.content:文章属性
  • page.toc:由标题自动生成的目录
  • get_url(path='main.css'):生成带 base_url 的 URL

构建验证

写完内容后,运行:

zola check   # 检查链接与内容
zola build   # 构建到 public/

然后用 zola serve 在本地实时预览。