Concepts
Core concepts behind how Zorto works. Each page explains a feature in depth — what it does, how it works, and when to use it.
Features #
- Free & open source: MIT license, distribution channels, contributing
- AI-native: explicit contracts, build-time validation, llms.txt
- Executable code blocks: run Python and Bash at build time
- Presentations: slide decks from markdown, one file per slide, reveal.js-powered
- Fast: Rust, efficient rendering, embedded themes
- Callouts: GitHub-style alert boxes in markdown
- Shortcodes: rich content components without HTML
- Blog, events, and more: sections, pagination, taxonomies, feeds
- Themes: built-in themes, overrides, light/dark mode
- Search: client-side SQLite search via WASM
- Live reload: dev server with automatic rebuilds
- Glossary: quick-reference definitions for web and SSG terms
Architecture #
- Content model: sections, pages, frontmatter, co-located assets, internal links
- Configuration: config.toml structure, markdown options, taxonomies
- Templates: Tera engine, blocks, macros, built-in functions
AI-native
Zorto is a static site generator built for workflows where humans and AI agents collaborate on websites.
Blog, events, and more
Zorto does not have a special "blog" feature. Instead, its section system naturally handles any date-ordered content: blog posts, changelogs, event listings, release notes, newsletters. If it has a date and belongs in a list, it is a section.
Callouts
Callouts are styled alert boxes rendered from standard markdown blockquote syntax. Zorto uses the GitHub-style [!TYPE] format — no shortcodes or HTML needed.
Configuration
Zorto is configured via config.toml in your project root.
Content model
Zorto organizes content into sections and pages, derives URLs from the file structure, supports internal linking with build-time validation, and lets you co-locate assets alongside your markdown.
Executable code blocks
Zorto can execute Python and Bash code blocks at build time and render their output inline.
Fast
Zorto's build pipeline typically completes in under 100ms. The build runs on every save during development and on every push in CI, so build speed directly affects iteration speed.
Free & open source
Zorto is MIT-licensed. Use it for anything — personal sites, commercial projects, internal tools — with no restrictions beyond including the license and copyright notice.
Glossary
Definitions for web and SSG terms used throughout the Zorto docs. Skip to the section you need:
Live reload
Zorto's dev server watches your files, rebuilds automatically, and refreshes the browser — no manual reload needed.
Presentations
Zorto generates slide decks from markdown using reveal.js. Each slide is its own markdown file with frontmatter controlling layout, backgrounds, and transitions. This follows Zorto's core principle: one markdown file per page.
Search
Zorto includes built-in client-side search. At build time, it generates a SQLite database of all your pages. In the browser, sql.js (SQLite compiled to WASM) loads the database and runs queries entirely client-side — no server required.
Shortcodes
Shortcodes let you embed rich, structured content in markdown without writing raw HTML. They bridge the gap between markdown's simplicity and the flexibility of full templates.
Templates
Zorto uses the Tera template engine, which has Jinja2-like syntax.
Themes
Zorto's theme system provides a complete visual starting point — templates, styles, and light/dark mode — that you can use as-is or progressively override.