Statac

Arriving from another tool

From Zola

What statac import reads from a Zola site, and what each part becomes.

What it reads

Zola’s In the new site
zola.toml, or a config.toml that sets base_url Tells Statac the site is Zola’s, and holds the settings.
.md files in content/ The same place under content/, front matter read in TOML between +++ or YAML between ---
A folder’s _index.md The folder’s own page, index.md, as below
A page kept as a folder, index.md with its pictures and files beside it That folder, whole
A file or folder named 2026-01-02-post-1 or 2026-01-02_post-1 Dated by its name, and called post-1
post-1.fr.md, on a site in several languages content/fr/post-1.md
static/ static/
The built output, public/ or where output_dir says Read, to check the old addresses

Settings

Zola’s Statac’s
base_url url. Where it gives no web address, the address is asked for.
title title
default_language, [languages] language
description, [extra] Values of your own
No time zone timezone: UTC, as Zola read dates
No smart_punctuation under [markdown] typography: false
Links to other sites opened in a new tab, or marked nofollow, under [markdown] snippets/markdown/link.html, written to do the same
Always date_format, the shorter dates and a new feed_key.

Front matter

+++
title = "Post 1"
description = "The summary."
date = 2026-10-04

[taxonomies]
tags = ["Rust"]

[extra]
mood = "calm"
+++

becomes

---
title: Post 1
summary: The summary.
date: 2026-10-04
tags:
  - Rust
mood: calm
---
Zola’s Statac’s
title, date, updated, draft The same
description summary
slug, path The page’s address, as below
aliases redirect_from
tags under [taxonomies] tags
categories under [taxonomies] Tags, such as category_linux
Another list under [taxonomies], such as Authors Tags, the list’s name first as the page spells it: Authors_Name 1
Fields under [extra] Fields of the page’s own
weight The folder’s order:, where its pages are ordered by it
An empty text, such as description = "" Left out
template, in_search_index Taken off, and counted

A folder’s own page

Zola’s _index.md Statac’s index.md
title, description, redirect_to Kept
sort_by order:, listing the pages as Zola ordered them. By date is Statac’s own order.
paginate_by The list’s posts_per_page. The site’s is 0, as Zola showed a list whole unless it paged it. On the home page it sets nothing.
paginate_path The site’s later_pages
generate_feeds feed: atom.xml on the list’s page, the feed’s old address. The site’s feed and each language’s stay at theirs too.
transparent, template, page_template, render, in_search_index Taken off, and reported

Template tags

Zola’s Becomes
youtube, vimeo @youtube('abcdefghijk'), @vimeo('123456789')
Any other, such as gist and the site’s own in templates/shortcodes/ A snippet call: {% note(kind="tip") %} to {% end %} becomes @old_note(kind='tip') to @end
[post 2](@/posts/post-2.md#a-heading) The page’s address, with the site’s path in front: /blog/posts/post-2/#a-heading under /blog. One naming no page is left, and listed.
<!-- more --> <!--more-->
{{/* youtube() */}} The template tag as text

What isn’t converted

Zola’s What Statac does
templates/, themes/, sass/ Lists each once
theme, compile_sass and every other setting with no equal Lists it
Files the settings’ ignored_content names Lists them, and leaves them
:emoji: names, where render_emoji showed emoji Leaves each as written, and lists it
Options after a comma on a code fence, ```rust,linenos Takes them off, and lists each fence

Zola’s ways

A page’s address is worked out by Zola’s rules: its folder, then its name or its slug, made ready as the settings’ [slugify] says; or its path.

[slugify] The name in the address
on In small ASCII letters, joined by hyphens
safe As written, but for characters no file name may hold
off Whole

Each tag’s page keeps its address with tags.slugs, and with tags.permalink where Zola published it under another name. Zola set no maths, so each dollar sign Statac would read as opening maths is shown as written.

Where next?

Something unclear or wrong? Open an issue on GitHub.