Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Golem (golem-docs)

Python 3.14+ License: Apache-2.0 Release: Alpha MVP

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 asciidoctrine for standard-compliant parsing and asciidoctype for 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 asciidoctest and extracts docstrings with asciidocstring.

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

golem_docs-0.1.0a1.tar.gz (80.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

golem_docs-0.1.0a1-py3-none-any.whl (37.6 kB view details)

Uploaded Python 3

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

Hashes for golem_docs-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 f6e5eaca569a7b798f522b486ccc0d82e7b4d20fc0d43555c71ef8519a1148d0
MD5 337fdba906e2993d3c8674a762750216
BLAKE2b-256 5f442b7d56c305677a3e543520fd05a3e6382667f1b2696aab9c4a43b6f7e985

See more details on using hashes here.

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

Hashes for golem_docs-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 f1f855a271b99eff69bbbdd0b40bb26c19780da52016b3dee4c73eae35bc04b1
MD5 d1060db20ba072d05a0251f846d9b1a8
BLAKE2b-256 8766124429c7264507f4d841b0ffc23a8137780766a85ae9f213d8d412eeda58

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0a1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page