Zola is a fast static site generator written in Rust. This guide will help you get started with building your own Zola-powered website.
Why Zola?
Zola offers several advantages:
- Fast: Built in Rust for excellent performance
- Simple: Easy configuration and minimal setup
- Flexible: Powerful templating with Tera
- Feature-rich: Built-in syntax highlighting, search, and more
Basic Structure
A Zola site has this basic structure:
├── config.toml # Site configuration
├── content/ # Your content (Markdown files)
├── templates/ # Tera templates
├── sass/ # Sass/SCSS files
├── static/ # Static assets
└── themes/ # Themes (optional)
Key Concepts
Sections and Pages
- Sections are collections of content (like a blog or topics area)
- Pages are individual content files within sections
- Use
_index.mdfiles to define section properties
Templates
Zola uses the Tera templating engine. Key templates include:
base.html- Base template that others extendindex.html- Homepage templatesection.html- Template for section pagespage.html- Template for individual content pages
Front Matter
Each content file starts with TOML front matter:
+++
title = "My Post"
date = 2025-07-26
description = "A brief description"
[taxonomies]
categories = ["Category"]
tags = ["tag1", "tag2"]
+++
Getting Started
- Install Zola
- Create a new site:
zola init my-site - Add content and templates
- Build with:
zola build - Serve locally:
zola serve
That's the basics! Zola's documentation is excellent for diving deeper.