スキル一覧に戻る
SpillwaveSolutions

creating-zola-static-sites

by SpillwaveSolutions

Creating Zola Based Static Websites Agent Skill

1🍴 1📅 2026年1月17日
GitHubで見るManusで実行

SKILL.md


name: creating-zola-static-sites description: Build static sites with the Zola generator (Rust-based SSG). Handles project initialization, config.toml configuration, Tera templates, Markdown content (sections via _index.md, pages via *.md), taxonomies, image processing, and deployment. Use for Zola project setup, Tera templating, _index.md structure, RSS/Atom feeds, syntax highlighting, or deployment to Netlify/Cloudflare/GitHub Pages/Vercel/Firebase. Also covers Zola+Astro hybrid architectures.

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"]
+++

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

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です