dodeca

A query-infused static site generator

Aims to cache correctly. Extremely over-engineered. Mostly drop-in.

Familiar

Markdown, TOML frontmatter, directory-based sections. If you've used Zola, you'll feel right at home.

Markdown file with TOML frontmatter in an editor

Incremental & live

Picante tracks every dependency in the rendering pipeline, so only affected files get rebuilt.

The same engine powers both production builds and dev mode — where changes appear instantly via DOM patches from hotmeal, preserving scroll position and form state.

Production-grade

Cache-busted URLs, subsetted fonts, optimized images. What you see in dev is exactly what you deploy.

html
<link rel="stylesheet"
  href="/_/a3f7c2e1b904d6.css">
<script type="module"
  src="/_/8b1d4f6e3a09c5.js"></script>
<img src="/_/e7a2c8f1d305b9.webp"
  width="1200" height="630">
<link rel="preload" as="font"
  href="/_/4d8b1f2a6e73c0.woff2">

Vite integration

First-class support for modern frontend tooling. Use Vite for JavaScript, TypeScript, and CSS — dodeca handles the rest.

Vite integration with interactive quiz component

Syntax highlighting

Built-in syntax highlighting via arborium, powered by tree-sitter grammars. Accurate, fast, and beautiful.

rust
#[derive(Facet)]
pub struct Page {
    pub title: String,
    pub date: DateTime,
    pub tags: Vec<String>,
    pub content: String,
}

Mermaid diagrams

Write diagrams in markdown, render them in the browser. Flowcharts, sequence diagrams, state machines — all from code blocks.

Mermaid diagram rendered from a code block

ASCII art to SVG

Turn ASCII box drawings into clean SVGs. Write diagrams in plain text, get vector graphics in output.

ASCII art converted to SVG

Pikchr diagrams

Embedded Pikchr support for technical diagrams. A modern take on PIC, right in your markdown.

Pikchr diagram rendered server-side to SVG

Built on picante · facet · roam · styx · figue · hotmeal · fontcull and more from bearcove

Ready to get started?

Install dodeca and have a site running in minutes.

Read the docs