Booyaka — A fast documentation generator for cool kids!
Compiled • Lightweight • Fast • Written in Nim
nimble install booyaka | Download from GitHub
- Compiled, lightweight, and fast; fully self-hosted
- Cross-platform CLI application (Linux, macOS, Windows)
- Generate documentation websites from Markdown files
- Build online book-style websites directly from Markdown
- Embedded HTTP server with dynamic site generation
- Static site generation with the
buildcommand - Client-side fuzzy search with offline support
- Browser Sync and Live Reload while writing documentation
- YAML or JSON based configuration
- Responsive UI powered by Bootstrap 5
- Light, dark, and system themes with a theme switcher
- Left and right sidebars: manual navigation or auto-generated table of contents
- Nested table of contents and bottom previous/next page navigation
- Configurable code syntax highlighting themes
- Lazy loading for iframes, videos, audio, and images
- Customizable with project CSS and JavaScript
- AI share buttons for ChatGPT, Claude, Gemini, and GitHub Copilot
- Optional Git-based versioning and contributors information
- Print-friendly layout for PDF export
- SEO metadata support
- Open Source | AGPLv3 License
Note
Booyaka is still in active development. Expect frequent updates and new features as we work towards a stable release.
Booyaka is a documentation site generator that takes a directory of Markdown files and generates a fully functional documentation website, then serves it dynamically using an embedded HTTP server. It can also export a complete static HTML website for hosting anywhere. It is designed to be simple, fast, and easy to use.
Booyaka is written in Nim language, a statically typed compiled systems programming language that combines the performance and low-level control of C with the expressiveness and ease of use of modern languages like Python and Ruby. Learn more about Nim.
Download the precompiled binaries from the releases page
or use nimble to build from source. Read the Nim installation guide
if you don't have Nim installed.
- Nim >= 2.2.10
nimble install booyaka
Create a new Booyaka project by running the following command, replacing <directory> with the
path of the directory you want to create the documentation site from:
booyaka new <directory>
Booyaka will create a new directory with the necessary files and folders to get started. Navigate to the newly created directory and start the embedded HTTP server:
cd <directory>
booyaka start --port:8000 --sync
Open your web browser and go to http://localhost:8000 to view your documentation site. The --sync
flag enables Browser Sync and Live Reload while you write.
To generate a static HTML website for hosting, run:
booyaka build <directory>
| Command | Description |
|---|---|
booyaka new <directory> |
Create a new Booyaka project (--json to generate a JSON config) |
booyaka start <directory> |
Start the embedded HTTP server (--port, --sync) |
booyaka build <directory> |
Generate a static HTML website |
Booyaka reads a booyaka.config.yaml, booyaka.config.yml, or booyaka.config.json file in the
project directory. It supports metadata (title, description, keywords, logo), appearance (themes,
layout widths, theme switcher), header (search, notification banner), content (lazy loading, code
highlighting, bottom navigation), navigation (navbar, sidebar sections), footer, and optional
Git-based versioning and contributors information.
Here are some planned features and improvements for future releases:
- UI mobile-optimized refinements
- Inline Markdown editor for content editing
- Feedback and commenting system
- Authentication for private documentation
- Multi-language support
- Found a bug? Create a new Issue
- Want to help? Fork it!
| Switch to Open-Source LLMs via OpenCode GO, choosing from a variety of powerful models such as DeepSeek, Qwen, Kimi, GLM-5, MiniMax, MiMo. Use our referral link to get started! |
AGPLv3 license. Made by Humans from OpenPeeps.
Copyright OpenPeeps & Contributors — All rights reserved.