Thanks to visit codestin.com
Credit goes to Github.com

Skip to content
/ undox Public

📖 A batteries-included static site generator built for documentation, with first-class support for aggregating content from multiple repositories

License

Notifications You must be signed in to change notification settings

undox-rs/undox

Repository files navigation

undox logo

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/config instead 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

About

📖 A batteries-included static site generator built for documentation, with first-class support for aggregating content from multiple repositories

Topics

Resources

License

Stars

Watchers

Forks

Languages