Skip to content

docs: standardize on Sphinx + Furo (the "xeos stack") - #26

Merged
hdrake merged 2 commits into
mainfrom
docs-furo-standard
Aug 1, 2026
Merged

docs: standardize on Sphinx + Furo (the "xeos stack")#26
hdrake merged 2 commits into
mainfrom
docs-furo-standard

Conversation

@hdrake

@hdrake hdrake commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Standardize regionate docs on Sphinx + Furo (the "xeos stack")

Overhauls regionate's documentation to match the shared, sleek style being
adopted across the x* package family, replacing the old alabaster setup. This
is the second package on the standard (after xbudget); the setup comes from a
shared docs-template.

What changes

  • Theme: alabaster → Furo (modern, responsive, light/dark).
  • Content parser: nbsphinxmyst-nb (Markdown + notebooks in one).
  • Notebooks are not executed at build time (nb_execution_mode = "off") —
    committed with outputs; documented in the new contributor guide.
  • API reference: a recursive-autosummary page — exhaustive, auto-generated.
  • Layout: docs/source/ → flat docs/; index.rst/installation.rst → MyST.
  • Build: .readthedocs.yamlpip (docs/requirements.txt); adds a
    pip-based docs job to CI (regionate had none). Both use -W / fail-on-warning.
  • Branding: amber accent (#b45309) + a “View on GitHub” button.

One source change

GriddedRegion.to_gr's docstring had a malformed RST bullet list (no blank line,
misaligned continuations) that the new exhaustive API reference surfaces under
-W. Fixed to render cleanly — content unchanged.

Verification

Builds clean with warnings-as-errors, against regionate + its real deps:

python -m sphinx -b html -W --keep-going docs docs/_build/html   # build succeeded, 0 warnings

All pages, the 4 example notebooks (rendered from committed outputs), and the full
recursive API reference render.

🤖 Generated with Claude Code

hdrake and others added 2 commits July 22, 2026 07:24
Adopt the shared documentation standard used across the x* packages, replacing
the alabaster setup:

- docs/source/ -> flat docs/ layout
- alabaster -> Furo theme; nbsphinx -> myst-nb (notebooks rendered from committed
  outputs, never executed at build time; documented in the new contributor guide)
- recursive-autosummary API reference (docs/api.md + autosummary templates)
- index.rst / installation.rst -> MyST Markdown
- .readthedocs.yaml -> pip (docs/requirements.txt); add a pip-based CI docs job
- per-package accent (#b45309) and a "View on GitHub" button linking to the repo

Also fixes a malformed RST bullet list in GriddedRegion.to_gr's docstring that
the new (exhaustive) API reference surfaced under -W.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Brings in the git-tag versioning (hatch-vcs), the `sectionate >= 0.3.4, < 0.4`
pin, and `regionmask >= 0.13` — the last two are what fix this branch's red CI
(unpinned sectionate resolved an xgcm that had completed the
`boundary` -> `padding` rename, which `initialize_spherical_grid` still uses).

Conflict: `.readthedocs.yaml`. Both sides rewrote the same block. Kept this
branch's pip-based docs config (`docs/conf.py`, `docs/requirements.txt`, no
conda) and main's `post_checkout` unshallow/fetch-tags job, which the flat
layout still needs — `docs/conf.py` titles the docs with the installed version,
and hatch-vcs resolves that from the git tag. Comment repointed at the new path.

Same reason, same fix on the other side: the CI `docs` job now checks out with
`fetch-depth: 0`, matching what main gave the `build` job.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@hdrake
hdrake merged commit 469b7f4 into main Aug 1, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant