EIGEN · STATIC SITE GENERATOR

Static sites that think in fragments.

Every template block becomes an htmx fragment. SEO tags, sitemaps, and structured data generate automatically.

HTMX FRAGMENTS
DATA SOURCES
BUILD
ASYNC
CLIENT JS
0
01 / FEATURES

One binary, all of this.

Templates, data fetching, optimization, and SEO. One config file, millisecond builds.

01

HTMX Fragments

Every template block becomes a standalone fragment. Click a link, swap a div. No full page reload. Navigation that feels like an SPA, built with zero JavaScript frameworks.

02

Data From Anywhere

Pull data from local YAML files, REST APIs, Notion, or GraphQL. One config block per source. Caching, rate limiting, and auth headers built in.

03

Dynamic Pages

Name a template [slug].html and point it at a collection. Eigen generates one page per item (blog posts, product pages, docs) from a single template.

04

Built-in Optimization

Critical CSS inlining, image lazy loading, CSS/JS bundling with tree-shaking, content-hashed assets, HTML minification. All on by default.

05

Incremental Builds

Only re-renders pages whose templates, data, or config actually changed. Two-tier hashing keeps rebuilds fast even on large sites.

06

Single Config

One site.toml file configures everything: data sources, SEO defaults, build optimization, analytics, redirects, feeds. No plugin ecosystem to navigate.

07

SEO Out of the Box

Auto-generated sitemap, robots.txt, Open Graph tags, Twitter cards, JSON-LD structured data. Configure once at the site level, override per page.

08

Rust Performance

Async build pipeline on Tokio. Concurrent page rendering, parallel data fetching, non-blocking I/O. Builds your site as fast as your machine allows.

02 / HOW IT WORKS

Three steps to production.

Write templates, configure data, build and deploy. No plugins, no framework lock-in.

01

Write templates

Jinja2 templates with frontmatter. Define data sources, SEO, and schema in YAML. Use blocks for fragment boundaries.

02

Configure data

Pull from local YAML, REST APIs, GraphQL, or Notion. One config block per source with caching and auth built in.

03

Build & deploy

Async Rust pipeline renders pages, extracts fragments, optimizes assets. Deploy the dist folder to any CDN.

03 / QUICK START

Up and running in seconds.

One config file. One build command. Zero JavaScript frameworks.

# site.toml
[site]
name = "my-site"
base_url = "https://example.com"

[build]
fragments = true
clean_links = true

# Data from anywhere
[sources.api]
url = "https://api.example.com"
04 / THIS SITE

You're looking at it.

This site is built with eigen. View the source or start your own.