A fast, opinionated static site generator for digital gardens. GitHub ↗
curl -fsSL https://leafpress.in/install.sh | sh
To initialize a new garden and see it live:
mkdir my-garden
cd my-garden
leafpress init
leafpress serve
Most static site generators make you choose: simple but limited, or powerful but complex. leafpress is different.
Write in Obsidian, publish anywhere. Your [[wiki-links]] just work. Backlinks are automatic. No plugins, no configuration, no friction.
Fast by default. Single binary, no dependencies. Builds hundreds of pages in milliseconds. Live reload that actually feels instant.
Looks good out of the box. Beautiful typography, dark mode, responsive design. Customize with a few lines of JSON, or go deeper with CSS.
Features
- Wiki-style linking with automatic backlinks
- Full-text search built-in, no external services
- Graph visualization of your knowledge connections
- Table of contents auto-generated from headings
- Mermaid diagrams rendered from fenced code blocks
- YouTube auto-embeds from pasted URLs
- Video & audio embeds via Obsidian syntax (
![[video.mp4]]) - Image width control with
![[image.png|500]] - RSS feeds for the whole garden, each section, and each tag (toggle in config)
- Optional page sharing with native device sharing and copy-link actions
- SEO ready with Open Graph and meta tags, plus
sitemap.xmlwhenbaseURLis set - Callouts for notes, warnings, tips (
> [!note]) - Syntax highlighting for code blocks
- Dark mode with system preference detection
- Link previews on hover
- Design system with CSS custom properties for fonts, radii, and spacing
Performance
Clean-build times in milliseconds on v1.0.0-beta.17 using the deterministic
workload v2 garden (median of 10 measured runs after 2 warmups). Both Docker
hosts use the same pinned image with a 4-CPU and 8GB memory limit.
Docker on Apple M3, 24GB host — container limited to 4 CPUs and 8GB RAM
| SSG | 100 pages | 1000 pages | 2000 pages |
|---|---|---|---|
| zola | 21 | 75 | 138 |
| hugo | 36 | 124 | 219 |
| leafpress-minimal | 23 | 97 | 171 |
| leafpress | 25 | 111 | 203 |
| eleventy | 258 | 523 | 805 |
| jekyll | 155 | 278 | 419 |
Docker on AMD Ryzen 7 9800X3D, 62GB host — same container limits
| SSG | 100 pages | 1000 pages | 2000 pages |
|---|---|---|---|
| zola | 18 | 71 | 135 |
| hugo | 28 | 107 | 197 |
| leafpress-minimal | 18 | 73 | 133 |
| leafpress | 19 | 88 | 166 |
| eleventy | 231 | 446 | 668 |
| jekyll | 159 | 290 | 439 |
leafpress-minimal: all extra features disabled (comparable to Hugo/Zola).
leafpress: full features including wikilinks, backlinks, graph, search, and TOC.
Across both hosts, full-featured leafpress is the second-fastest generator
behind Zola and stays ahead of Hugo at every tested size. The fixture models
a hierarchical garden with Notes, Posts, Tags, deterministic links, code
blocks, and orphan pages. See the full methodology and native/Docker reports. ↗