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?
- Arriving from another tool: addresses, dates, categories and the report, for every tool
- Lists, tags and series: order, later pages and tag addresses
- Feeds, sitemaps and other files: where a list’s feed goes
- Snippets: write the snippets that stand for Zola’s template tags
Something unclear or wrong? Open an issue on GitHub.