Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
b5bced6
feat(docs): rebrand Sphinx site to immaterial and fix multiversion bu…
rederik76 Jul 11, 2026
3d90eb2
feat(docs): harden multiversion builds and polish feature page chrome
rederik76 Jul 11, 2026
c46eb05
feat(docs): restructure Features hub into job-based sections (layout D)
rederik76 Jul 11, 2026
cb89912
feat(docs): unify Deploy hub, refresh Build/IA nav, and fix header ch…
rederik76 Jul 11, 2026
95373db
feat(docs): complete guided adoption IA and merge main (#119)
rederik76 Jul 11, 2026
792b7ab
docs: remove superseded docs IA ADR
rederik76 Jul 11, 2026
9bd19ed
feat(docs): checkpoint guided-adoption IA before folder restructure
rederik76 Jul 12, 2026
c40c72d
feat(docs): restructure docs into section folders with URL redirects
rederik76 Jul 12, 2026
df944c3
feat(docs): improve pattern pages and fix cross-reference paths
rederik76 Jul 12, 2026
df26e1c
feat(docs): patterns hub IA, Mermaid diagrams, search fixes, and head…
rederik76 Jul 12, 2026
fe14e37
fix(docs): add sphinx-immaterial to requirements-docs.lock
rederik76 Jul 12, 2026
df29f08
fix(docs): pass CI spelling for Mermaid diagrams and domain terms
rederik76 Jul 12, 2026
1dbbc76
fix(docs): cut over versioned builds to v0.21.0 conf at release
rederik76 Jul 12, 2026
2d2a608
fix(docs): version selector stacking and dark-mode link colors
rederik76 Jul 13, 2026
c256013
docs: align spelling to US English and highlight config inheritance
rederik76 Jul 13, 2026
86c4efd
fix get started paragraph
rederik76 Jul 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.databricks/
build/
/build/
docs/build/
dist/
__pycache__/
*.egg-info
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v0.20.0
v0.21.0
2 changes: 1 addition & 1 deletion docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ spelling:
html-multiversion:
@./scripts/build_versioned_docs.sh

# Local preview build including all local branches.
# Local preview build: current branch as local-branch-preview (current stays main).
html-multiversion-preview:
@./scripts/build_versioned_docs.sh --preview

Expand Down
47 changes: 34 additions & 13 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This folder contains the Sphinx documentation source and build tooling for local
- [Multiversion Implementation (No sphinx-multiversion)](#multiversion-implementation-no-sphinx-multiversion)
- [What Gets Built](#what-gets-built)
- [Version Selection Rules](#version-selection-rules)
- [How the Sidebar Switcher Works](#how-the-sidebar-switcher-works)
- [How the Version Dropdown Works](#how-the-version-dropdown-works)
- [Purge and Rebuild Behavior](#purge-and-rebuild-behavior)
- [Local Build and Testing](#local-build-and-testing)
- [GitHub Pages Deployment](#github-pages-deployment)
Expand Down Expand Up @@ -40,7 +40,7 @@ The `docs/Makefile` supports these explicit targets:
- `make html-multiversion`
- Builds versioned docs without `sphinx-multiversion` using `scripts/build_versioned_docs.sh`.
- `make html-multiversion-preview`
- Same as above, plus local branches for preview/testing.
- Same as above, plus the current git branch as `local-branch-preview`.

Catch-all behavior is enabled:

Expand All @@ -59,6 +59,10 @@ Versioned docs are generated by:

- `main` branch is always built and published as `current`.
- Selected release tags are built from git tags.
- **Docs IA cutover at v0.21.0:**
- **`current` and tags `>= v0.21.0`** use **main's** `docs/conf.py` with that ref's `docs/source` (sphinx-immaterial / section-folder IA).
- **Tags `<= v0.20.x`** use **`v0.20.0`'s** `docs/conf.py` (RTD / flat layout) with each tag's own `docs/source`.
- **`local-branch-preview`** (optional) uses the current branch's own conf + source (pre-merge validation).
- Output layout:
- `docs/build/html/current/index.html`
- `docs/build/html/vX.Y.Z/index.html`
Expand All @@ -70,9 +74,10 @@ Versioned docs are generated by:
`scripts/select_versions.py` applies these rules:

1. Identify the highest major version present in tags.
2. Include the latest patch release for the last 5 minor series in that major.
3. Include the latest available release for each of the last 3 majors.
4. De-duplicate and sort descending (newest first).
2. For major `0`, include the latest patch release for every minor from the current minor down to `0.12` (inclusive).
3. For other majors, include the latest patch release for the last 5 minor series in that major.
4. Include the latest available release for each of the last 3 majors.
5. De-duplicate and sort descending (newest first).

Example ordering:

Expand All @@ -82,13 +87,27 @@ Example ordering:
- `v0.14.0`
- `v0.13.0`
- `v0.12.1`
- … through `v0.12.x` when older minors exist

### How the Sidebar Switcher Works
### How the Version Dropdown Works

- `scripts/build_versioned_docs.py` writes `versions.json` with `name`, `url`, and `is_latest`.
- `docs/conf.py` loads this manifest via `DOCS_VERSIONS_FILE`.
- `docs/_templates/versions.html` renders the version list in the RTD sidebar.
- Links target `.../index.html` explicitly to avoid directory-listing behavior in local `file://` browsing.
- `scripts/build_versioned_docs.py` writes a **superset** `versions.json` with:
- mike / sphinx-immaterial fields: `version`, `title`, `aliases`
- legacy RTD fields: `name`, `display_version`, `url`, `status`, `is_latest`, `release_date`
- RTD-era refs load the manifest at build time via `DOCS_VERSIONS_FILE` into `versions.html`.
- Immaterial refs enable `version_dropdown` and fetch the parent `../versions.json` over HTTP (`version_json` in `conf.py`).
- Use a local HTTP server to test the immaterial switcher (see below).

### Preview builds

```bash
make -C docs html-multiversion-preview
```

- Still publishes `current` from `main`.
- Also builds the **current git branch** once as `local-branch-preview` (skipped if you are on `main` or detached HEAD).
- To review a feature branch before merge, check it out, run preview, then select `local-branch-preview` in the version menu.
- Preview builds from the **working tree** (uncommitted conf/theme/source edits are included).

## Purge and Rebuild Behavior

Expand Down Expand Up @@ -122,7 +141,7 @@ make -C docs spelling
make -C docs html-multiversion
```

1. If you need to test branch previews in the version menu:
1. If you need to preview the current branch against `main` / release tags:

```bash
make -C docs html-multiversion-preview
Expand All @@ -132,7 +151,7 @@ Practical rule of thumb:

- Doc text/layout change only: `html` + `spelling`
- Versioning/switcher/build-script change: `html` + `spelling` + `html-multiversion`
- Branch preview verification: add `html-multiversion-preview`
- Branch theme/IA preview: `html-multiversion-preview`, then select `local-branch-preview`

### Open docs

Expand All @@ -145,7 +164,9 @@ cd docs/build/html
python3 -m http.server 8000
```

Then open [http://localhost:8000](http://localhost:8000).
Then open [http://localhost:8000/current/index.html](http://localhost:8000/current/index.html) to exercise the version dropdown.

Note: `make html` builds a single-version tree without a parent-level `versions.json`; use `html-multiversion` to test version switching.

## GitHub Pages Deployment

Expand Down
Loading
Loading