Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Site Configuration

All site configuration lives in zola.toml at the project root.

Core Settings

base_url = "https://mylearnbase.com"
title = "My Learn Base"
description = "A personal learning journal and portfolio"
default_language = "en"
theme = "serene"
FieldPurpose
base_urlUsed to generate all absolute URLs (RSS, sitemaps, canonical links)
titleBrowser tab title, RSS feed title
descriptionDefault meta description for pages that don’t set their own
themeWhich theme directory to use (under themes/)

Build Settings

compile_sass = true
minify_html = false
build_search_index = false
generate_feeds = true
feed_filenames = ["rss.xml"]
FieldPurposeCurrent
compile_sassCompile .scss files into CSSEnabled
minify_htmlCompress HTML outputDisabled (easier to debug)
build_search_indexGenerate client-side search indexDisabled
generate_feedsGenerate RSS/Atom feedsEnabled
feed_filenamesOutput filenames for feedsrss.xml

Taxonomies

taxonomies = [{ name = "tags" }, { name = "categories" }, { name = "series" }]

Each entry tells Zola to look for this field in post frontmatter and auto-generate listing pages. Each taxonomy needs matching templates in templates/<taxonomy_name>/.

Markdown Processing

[markdown]
external_links_target_blank = false
external_links_no_follow = true
external_links_no_referrer = true
smart_punctuation = false
FieldPurpose
external_links_target_blankOpen external links in new tab
external_links_no_followAdd rel="nofollow" to external links (SEO)
external_links_no_referrerAdd rel="noreferrer" to external links (privacy)
smart_punctuationConvert "quotes" to curly quotes, -- to em dash

Syntax Highlighting

[markdown.highlighting]
style = "class"
light_theme = "github-light"
dark_theme = "catppuccin-mocha"

style = "class" means code tokens get CSS classes instead of inline styles. This enables dynamic light/dark switching via the CSS files in static/ (giallo-light.css, giallo-dark.css).

URL Slugification

[slugify]
paths = "on"
taxonomies = "on"
anchors = "on"

Controls automatic URL-safe conversion. With all set to "on":

  • /posts/My Post Title/posts/my-post-title
  • Series “Building My Website” → /series/building-my-website
  • ## My Heading#my-heading

Theme-Specific Settings ([extra])

[extra]
sections = [{ name = "posts", path = "/posts", is_external = false }]
blog_section_path = "/posts"
back_link_text = "Back"
force_theme = false
footer_copyright = "© 2026"
footer_credits = true
not_found_error_text = "404 Not Found"
not_found_recover_text = "« back to home »"
reaction = false

These are not read by Zola itself — they’re a contract between your templates and the Serene theme. The theme’s templates check these values with {% if config.extra.reaction %} style conditionals.

FieldPurpose
sectionsNavigation menu entries
blog_section_pathTells Serene where the blog section lives
force_themeLock to light or dark (false = allow toggle)
footer_copyrightCopyright text in footer
footer_creditsShow “Powered by Zola & Serene”
reactionEnable emoji reactions on posts