Bengal is a static site generator that produces HTML, CSS, and JavaScript from Markdown content and Kida templates.
What Bengal Does
Content & Authoring
- MyST Markdown — Directives, admonitions, cross-references, tabs, cards
- 50+ Built-in Directives — Code tabs, dropdowns, galleries, video embeds, versioning badges
- Content Collections — Type-safe frontmatter validation with dataclass or Pydantic schemas
- Mixed Content Types — Docs, blog, landing pages, changelogs in one site
Performance
- Kida Templates — 1.81x faster than Jinja2 under concurrent workloads
- Incremental Builds — 35-80ms rebuilds for single-page edits
- Free-Threading — True parallelism on Python 3.14+ (no GIL contention)
- Parallel Rendering — 2-4x speedup on multi-core systems
Developer Experience
- Auto-generated API Docs — From Python source, CLI tools, and OpenAPI specs
- Image Processing — Resize, crop, format conversion (WebP/AVIF), srcset generation
- Zero-Config Deploy — Auto-detects GitHub Pages, Netlify, Vercel
- Theme System — Install themes from PyPI, swizzle templates, 1,100+ CSS tokens
Quality & Validation
- Health Checks — Broken links, missing images, frontmatter validation
- Auto-Fix —
bengal fixrepairs common issues automatically - Site Analysis — Graph visualization, orphan detection, content metrics
Technical Details
Seealso