Getting Started with Zola
published:
Zola is a fast static site generator written in Rust. Unlike Hugo or Jekyll, Zola ships as a single binary with no dependencies — no need for Ruby, Node.js, or Go runtimes.
Why Zola?
There are plenty of static site generators out there, so why choose Zola?
- Speed — Zola is incredibly fast, building most sites in milliseconds.
- Single binary — Download one file and you're ready to go. No package managers, no runtime dependencies.
- Built-in features — Sass compilation, syntax highlighting, search indexing, and feed generation are all included out of the box.
- Tera templates — Zola uses the Tera templating engine, which has a familiar syntax if you've used Jinja2 or Twig.
Project Structure
A typical Zola project looks like this:
my-site/
├── config.toml
├── content/
│ └── blog/
│ ├── _index.md
│ └── my-first-post.md
├── static/
├── templates/
└── themes/
config.toml— Site-wide configuration (title, base URL, theme, etc.)content/— Markdown files organized into sectionsstatic/— Files copied as-is to the output (images, fonts, etc.)templates/— Tera templates for rendering pagesthemes/— Third-party themes installed as git submodules
Creating Content
Content in Zola is written in Markdown with TOML front matter. Every Markdown file starts with a +++ delimited block:
+++
title = "My Post Title"
date = 2026-02-10
description = "A short summary of the post."
[taxonomies]
tags = ["example"]
+++
Your content goes here.
The <!-- more --> comment can be used to define where the summary ends and the full content begins, which is useful for blog listing pages.
Next Steps
- Read the official Zola documentation
- Browse available themes
- Check out the Tera template documentation