This release is a pre-release and may not be stable for production use.
Golem (golem-docs)
Golem is an extensible, Python-native static site generator (SSG) built from the ground up for technical, interactive documentation using AsciiDoc as its primary source format.
Key Features
- AsciiDoc Ecosystem Native: Powered by
asciidoctrinefor standard-compliant parsing andasciidoctypefor Chameleon ZPT template rendering supporting 39 standard node types (admonitions, callouts, stem math, tables, footnotes, description lists). - Intelligent Navigation Auto-Discovery: Discovers documentation hierarchies, strips numeric sorting prefixes (
01-intro.adoc$\to$Intro), pins overview root pages, and supports explicit TOML overrides. - Incremental DAG Build Engine: Tracks file inclusion trees and SHA-256 hashes in
.golem/cache.json, rebuilding only modified files and their dependents. - Modern Dev Server with Live Reloading: Zero-dependency multi-threaded dev server with Server-Sent Events (SSE) live browser reloading and non-crashing interactive error overlays.
- Compiler-Grade Diagnostics: Pinpoint file coordinates, line numbers, contextual source snippets, and caret pointers for AsciiDoc syntax errors.
- Pluggy Plugin Architecture: Hooks into pre-parse, AST creation, ASG resolution, and post-render lifecycle stages.
- Doctest & API Integration: Verifies Python listing blocks directly using
asciidoctestand extracts docstrings withasciidocstring.
Quick Start
1. Installation
# In your virtual environment (Python >= 3.14)
pip install golem-docs
Or install locally for development:
git clone https://github.com/webmaven/golem.git
cd golem
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
2. Initialize a Project
golem init my-docs
cd my-docs
This creates a standard project layout:
my-docs/
├── golem.toml # Site & build configuration
└── content/ # AsciiDoc source files
└── index.adoc # Homepage entry point
3. Build & Serve
# Incremental build
golem build
# Strict mode for CI/CD pipelines
golem build --strict
# Launch live dev server with SSE hot-reloading
golem serve --port 8000
Configuration (golem.toml / pyproject.toml)
Golem supports configuration via golem.toml or directly inside pyproject.toml under [tool.golem]:
[site]
title = "Golem Documentation"
author = "Michael Bernstein"
site_url = "https://webmaven.github.io/golem/"
[build]
content_dir = "content"
output_dir = "dist"
theme = "default"
strict = false
[navigation]
# Optional explicit sidebar order override (defaults to auto-discovery)
nav = [
"index.adoc",
"getting-started.adoc",
"architecture.adoc",
"reference/api.adoc",
]
CLI Reference
| Command | Options | Description |
|---|---|---|
golem init |
[--template=<type>] [-C <dir>] |
Initialize documentation scaffold (site, package, book). |
golem new |
<type> <name> [-C <dir>] |
Generate a new .adoc document skeleton. |
golem build |
[--clean] [--strict] [-v] [-C <dir>] |
Run DAG compiler to render HTML pages into output directory. |
golem serve |
[--port=<port>] [--host=<host>] [--strict] [-C <dir>] |
Run live-reload HTTP server watching source directories. |
golem doctest |
[--mode=<mode>] [-C <dir>] |
Extract and verify executable code examples with pytest. |
License
Licensed under the Apache License, Version 2.0.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file golem_docs-0.1.0a1.tar.gz.
File metadata
- Download URL: golem_docs-0.1.0a1.tar.gz
- Upload date:
- Size: 80.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6e5eaca569a7b798f522b486ccc0d82e7b4d20fc0d43555c71ef8519a1148d0
|
|
| MD5 |
337fdba906e2993d3c8674a762750216
|
|
| BLAKE2b-256 |
5f442b7d56c305677a3e543520fd05a3e6382667f1b2696aab9c4a43b6f7e985
|
File details
Details for the file golem_docs-0.1.0a1-py3-none-any.whl.
File metadata
- Download URL: golem_docs-0.1.0a1-py3-none-any.whl
- Upload date:
- Size: 37.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1f855a271b99eff69bbbdd0b40bb26c19780da52016b3dee4c73eae35bc04b1
|
|
| MD5 |
d1060db20ba072d05a0251f846d9b1a8
|
|
| BLAKE2b-256 |
8766124429c7264507f4d841b0ffc23a8137780766a85ae9f213d8d412eeda58
|