Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
spillwavesolutions avatar

Creating Zola Static Sites

  • 7 installs
  • 1 repo stars
  • Updated January 17, 2026
  • spillwavesolutions/creating-zola-static-sites-plugin

Helps with ai & agent building tasks during AI-assisted development.

About

creating-zola-static-sites is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • creating-zola-static-sites
  • AI & Agent Building
  • AI-coding skill

Creating Zola Static Sites by the numbers

  • 7 all-time installs (skills.sh)
  • Ranked #12,545 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/spillwavesolutions/creating-zola-static-sites-plugin --skill creating-zola-static-sites

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs7
repo stars1
Last updatedJanuary 17, 2026
Repositoryspillwavesolutions/creating-zola-static-sites-plugin

What it does

Helps with ai & agent building tasks during AI-assisted development.

Files

SKILL.mdMarkdownGitHub ↗

Creating Zola Static Sites

Single-binary static site generator. Built-in Sass, image processing, Tera templating.

Quick Start

New Project:
- [ ] zola init my-site && cd my-site
- [ ] Edit config.toml: set base_url
- [ ] IF using theme: skip next step (theme provides templates)
- [ ] IF no theme: copy templates from skill assets/
- [ ] zola serve → http://127.0.0.1:1111 loads
- [ ] zola check → exit code 0

Commands

CommandPurposeVerify Success
zola initCreate projectls config.toml exists
zola serveDev server :1111Browser loads site
zola buildOutput to public/ls public/index.html exists
zola checkValidate linksExit 0, no errors printed

Core: Sections vs Pages

`_` prefix = section (listing); no prefix = page (content):

FilenameTypeTemplateExample URL
_index.mdsectionsection.html/blog/ (listing)
index.mdpagepage.html/about/ (with assets)
post.mdpagepage.html/blog/post/
content/
├── _index.md        # section: /
├── about.md         # page: /about/
└── blog/
    ├── _index.md    # section: /blog/
    └── post.md      # page: /blog/post/

Frontmatter

section (_index.md):

+++
title = "Blog"
sort_by = "date"        # date|title|weight|none
paginate_by = 10
+++

page (*.md):

+++
title = "My Post"
date = 2024-01-15       # NO QUOTES or sorting breaks
[taxonomies]
tags = ["rust"]
+++

Internal Links

Build-validated with @/ prefix:

[About](@/about.md)
[Blog](@/blog/_index.md)

Workflows

Create Blog

Blog Setup:
- [ ] Create content/blog/_index.md with sort_by="date"
- [ ] Create post: content/blog/2024-01-15-hello.md
- [ ] IF multilingual: add blog/_index.fr.md per language
- [ ] zola serve → /blog/ shows listing (empty if no posts yet)
- [ ] zola serve → /blog/hello/ shows post
- [ ] IF pagination: add more posts than paginate_by to test
- [ ] zola check → passes

Add Taxonomies

Taxonomy Setup:
- [ ] config.toml: taxonomies = [{name = "tags", feed = true}]
- [ ] Page frontmatter: [taxonomies] tags = ["value"]
- [ ] IF need categories: add {name = "categories"} to array
- [ ] IF term has spaces: use slugified URL (/tags/my-tag/)
- [ ] zola serve → /tags/ lists tags
- [ ] zola serve → /tags/rust/ shows posts

Deploy

Production Deploy:
- [ ] zola check → passes (use --skip-external-links if slow)
- [ ] zola build → no errors
- [ ] ls public/index.html → exists
- [ ] IF feeds enabled: ls public/atom.xml → exists

Reference Files

TaskReferenceLoad When User Asks About
Configconfig-reference.mdFeeds, taxonomies, highlighting, search, link checker
Templatestera-templates.mdFilters, loops, variables, macros, shortcodes
Contentcontent-organization.md_index.md vs index.md, frontmatter, multilingual
Deploydeployment-guides.mdNetlify, Cloudflare, GitHub Actions, Vercel, Firebase
Hybridastro-integration.mdZola+Astro, Firebase export, shared navigation

Assets

Copy from skill assets/ directory:

AssetUse For
templates/base.htmlBase layout
templates/section.htmlListings with pagination
templates/page.htmlArticles with TOC
templates/404.htmlError page
templates/shortcodes/youtube.html, figure.html
config-templates/blog.tomlBlog preset
config-templates/docs.tomlDocs preset

Common Mistakes

WrongRightWhy
date = "2024-01-15"date = 2024-01-15Quoted dates are strings, break sorting
[About](about.md)[About](@/about.md)Missing @/ means no build validation
index.md in blog/_index.md in blog/Without _ it's a page, not a section
templates/blog.htmltemplates/section.htmlZola looks for section.html by default

Troubleshooting

ErrorFixVerify
Template not foundCheck spelling; ensure templates/ existsls templates/*.html shows files
Dates not sortingUse date = 2024-01-15 (no quotes)Posts appear in date order
Broken @/ linksPath from content/, include .md extensionzola check passes
Slow checkSkip external: zola check --skip-external-linksCompletes in <10s

Debug: {{ __tera_context }} in template shows all variables.

Verbose: RUST_LOG=zola=info zola build

When Not to Use

  • Other SSGs: Hugo, Jekyll, Eleventy use different syntax
  • General Markdown: Questions without Zola context
  • Pure Astro: Projects without Zola integration

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.