8 releases
Uses new Rust 2024
| 0.1.8 | Dec 16, 2025 |
|---|---|
| 0.1.7 | Dec 15, 2025 |
#2568 in Command line utilities
430KB
4K
SLoC
undox is a batteries-included static site generator for documentation, with first-class support for aggregating content from multiple repositories.
This project is in early development. This readme is aspirational. Expect frequent breaking changes and missing features.
Features
- Multi-repo support - Combine docs from multiple repositories into a unified site
- Markdown with YAML front matter
- Syntax highlighting for 80+ languages via tree-sitter
- Full-text search powered by Pagefind
- Dark mode with system/light/dark toggle
- Auto-generated navigation from file structure
- Clean URLs (
/guide/configinstead of/guide/config.html)
Installation
cargo install undox
Or build from source:
git clone https://github.com/binarymuse/undox
cd undox
cargo build --release
Quick Start
# Initialize a new docs site
undox init my-docs
cd my-docs
# Build the site
undox build
# View at _site/index.html
Configuration
Create undox.yaml in your project root:
site:
name: "My Documentation"
url: "https://docs.example.com"
sources:
- name: docs
path: ./content
Multiple Sources
sources:
- name: main
path: ./content
url_prefix: /
- name: cli
path: ../cli-repo/docs
url_prefix: /cli
- name: api
path: ../api-repo/docs
url_prefix: /api
Writing Content
Create markdown files in your content directory:
---
title: Getting Started
description: Learn how to use the project
---
# Getting Started
Your content here...
Front Matter
| Field | Description |
|---|---|
title |
Page title (overrides filename) |
description |
Meta description for SEO |
hidden |
Hide from navigation |
slug |
Custom URL slug |
Themes
Themes are configured via undox-theme.yaml at the theme root:
name: my-theme
pagefind:
root_selector: "main"
exclude_selectors:
- "nav"
- ".sidebar"
License
MIT
Dependencies
~56–75MB
~1.5M SLoC