Statac vs Zola
How Statac compares with Zola, and why you might choose Zola.
Zola is a static site generator written in Rust, begun in 2016 as Gutenberg: “a single binary with everything built-in”. Of the tools compared here, it is the closest to Statac.
Zola 0.23,
from August 2026, moved to Tera 2 and replaced shortcodes with
components, such as {{ <youtube id="..." /, so a guide written for
an earlier Zola may not match it.
Statac is a friendlier static site generator for personal websites. Everything is included, so you can tinker with your site if you want to, but you don’t have to. It is made for the IndieWeb and the social web: feeds, webmentions and social cards are part of it, with no plugins.
At a glance
| Statac | Zola | |
|---|---|---|
| Written in | Rust | Rust |
| What you install | One program | One program |
| First released | October 2026 | 2017 |
| Version compared | 0.7.0 | 0.23.6 |
| Licence | MIT or Apache-2.0 | EUPL-1.2, with older code under MIT |
| Templates | Jinja, as MiniJinja implements it | Tera 2, in the style of Jinja |
statac import reads its sites | Yes |
Where they are alike
- Markdown read by the same library, pulldown-cmark, with footnotes, task lists, heading ids and GitHub-style callouts.
- Links within the site checked, headings
included. Zola checks those you write as
@/path/to/file.md. - Sass through the same library, grass.
- Code coloured from TextMate grammars. Zola carries themes, light and
dark among them. Statac carries none: set
code_colours: trueand copy a theme’s colours into your stylesheet. - Resized copies of images, AVIF among them.
- Drafts, pagination, tags (Zola’s taxonomies), several languages, and
redirects from old URLs (Zola’s
aliases). - A search index for a search box in the reader’s browser, written at each build once you add the box.
What Statac does differently
-
Problems at the file, line and exact text, with a suggestion if there is a good one and a page explaining each kind:
warning Broken link: nothing is published at `/about-us/` content/posts/first-post/index.md, line 5 5 │ Read more [about us](/about-us/). │ ^^^^^^^^^^ Did you mean `/about/`? More: https://statac.dev/e/broken-link/ -
The debug panel. Under
statac serve, the debug panel lists every name a template can use on the page, with its value and the file and line it comes from. Zola’s__tera_contextprints the values alone. -
Images need no template work. Statac turns a Markdown image into AVIF copies in several widths, with a JPEG or PNG fallback, in a
<picture>. In Zola, templates and content callresize_imageand choose the sizes and formats. -
Search with its own code. Statac’s index is a script that searches: it matches other forms of a word in 31 languages and suggests words when it finds nothing.
statac searchruns the same search in the terminal. -
Maths without a script. Statac turns
$...$into MathML. -
Social cards. Statac draws a social card for each page whose layout asks for one, from a background and a font you supply.
-
Webmentions, fetched by
statac refreshand shown by your layout. -
Scheduled posts. A post dated ahead waits: the first build on or after its date publishes it.
-
A
{{in a post is text. A post calls a snippet as@name(...). Zola 0.23 runs content as a Tera template, which gives it the whole of Tera, and a literal{{goes inside{% raw %}. -
Quotation marks, dates and digits in each language. Statac takes them from the Unicode CLDR for eight languages.
Why you might choose Zola
- Years of use. Releases since 2017, a community forum, and answers already written to most questions. Statac was first released on 10 October 2026, and has one maintainer.
- Links to other sites checked.
zola checkfetches each external link in the content. Statac doesn’t check them, since a build fetches nothing. - Feeds, a sitemap and robots.txt with no templates to write. Zola has its own templates for Atom, RSS, the sitemap and robots.txt, which a site can replace. Statac builds each from a template of the site’s own; the docs have Atom and RSS templates to copy.
- A search index for the library you choose. Zola writes its index for elasticlunr or Fuse, with the fields you choose.
- More in a code block: line numbers, highlighted lines and hidden lines, set in the opening fence. Statac numbers no lines, though a library in the browser can.
- Front matter in TOML, or YAML. Statac reads YAML.
- Data from files or the web.
load_datareads TOML, JSON, CSV, BibTeX, YAML and XML, from a file or a URL. Statac reads data files in YAML or JSON. - Themes. 40 in Zola’s gallery, and a site can replace any of a theme’s templates. Statac has no themes; the drop-ins are templates and snippets to copy.
- HTML minified with
minify_html. Statac minifies nothing. - Packaged nearly everywhere,
from Homebrew and winget to Nix, Flatpak and the BSDs,
with guides for thirteen hosts.
Statac comes through Homebrew, Scoop, a script and its own packages,
and its docs say to copy
_siteto any host. Its own packages for macOS aren’t notarised, so installing one without Homebrew takes one more step.
Moving from Zola
statac import keeps a Zola site’s URLs, turns its TOML
front matter into YAML, and turns shortcodes and Zola 0.23’s component
calls into snippet calls. It writes no templates, and IMPORT.md lists
what it couldn’t bring across. From Zola gives the
details.
Versions compared
Checked on 26 October 2026, against Statac 0.7.0 and Zola 0.23.6 (12 September 2026), from Zola’s documentation, its changelog and its repository. A later release of either may change what this page says.
Something unclear or wrong? Open an issue.