Building with ZolaNight

published:

tags: [ #zola, #zolanight, #themes ]

This blog uses the ZolaNight theme — a clean, dark-mode theme for Zola with built-in support for blog listings, syntax highlighting, and tags.

Why ZolaNight?

ZolaNight provides a polished dark-mode reading experience with sensible defaults:

  • Dark theme — Easy on the eyes, especially for developer-focused content.
  • Blog-ready — Includes templates for blog listings, individual posts, and tag pages.
  • Syntax highlighting — Works beautifully with the catppuccin-mocha highlight theme.
  • Minimal configuration — Just set a few options in config.toml and you're ready to go.

Configuration

The theme is configured through the [extra.zolanight] section in config.toml:

theme = "zolanight"
highlight_theme = "catppuccin-mocha"

[extra.zolanight]
home_list_latest_blog_posts = true

Setting home_list_latest_blog_posts = true displays your recent blog posts on the homepage.

Adding the Theme

ZolaNight is added as a git submodule:

git submodule add https://github.com/mxaddict/zolanight.git themes/zolanight

When cloning the repo, initialize submodules with:

git clone --recurse-submodules <repo-url>

Or if you've already cloned:

git submodule update --init --recursive

Content Structure

The blog content lives in content/blog/. Each post is a Markdown file with TOML front matter:

content/
├── _index.md
└── blog/
    ├── _index.md
    └── 2026-02-17-my-post.md

The blog/_index.md file configures the section — sorting by date, pagination, and more.

What's Next

From here, you can customize the theme further, add more sections, or deploy to a hosting provider like Netlify, Vercel, or GitHub Pages. Zola's documentation covers all of these workflows in detail.