Skip to content

docs: migrate documentation from Sphinx to MkDocs Material - #130

Merged
TomeHirata merged 1 commit into
mainfrom
docs/migrate-to-mkdocs
Aug 20, 2026
Merged

docs: migrate documentation from Sphinx to MkDocs Material#130
TomeHirata merged 1 commit into
mainfrom
docs/migrate-to-mkdocs

Conversation

@TomeHirata

Copy link
Copy Markdown
Collaborator

Summary

  • Replaces the Sphinx/RST doc toolchain with MkDocs + Material theme + mkdocstrings. Content is now Markdown and the API reference is generated from docstrings via mkdocstrings-python (NumPy-style parsing preserved).
  • Restructures docs/ into the standard MkDocs layout (docs/docs/ for content, docs/mkdocs.yml for config). Existing images moved from docs/source/_static/ to docs/docs/assets/ — no image bytes changed, so history is preserved as renames.
  • Updates pyproject.toml and uv.lock to swap sphinx for mkdocs, mkdocs-material, and mkdocstrings[python]. Updates .github/workflows/build-doc.yml to run mkdocs build --strict and continue publishing to gh-pages from docs/build/html/.
  • Adds compliers and arange to _typos.toml so the pre-commit typos hook doesn't mangle domain terms and numpy function names in the tutorials.

Why

The Sphinx setup was showing its age (Alabaster theme, RST authoring friction, sparse navigation). MkDocs Material gives a modern search + nav out of the box, and Markdown is easier for contributors than RST.

Test plan

  • cd docs && uv run mkdocs build --strict succeeds locally with no warnings
  • Autodoc renders classes/methods (verified SimpleDistributionEstimator, predict_dte, etc. appear in generated api/simple/index.html)
  • All static images copied and referenced correctly from tutorial pages
  • CI Build Docs workflow passes on merge to main
  • gh-pages deploy renders correctly at the published URL

Notes

  • Publish path (docs/build/html) unchanged so the existing gh-pages deploy step keeps working.
  • docs/build/ added to .gitignore.
  • CLAUDE.md references to cd docs && make html should be updated to cd docs && mkdocs build in a follow-up (CLAUDE.md is not tracked in this repo).

🤖 Generated with Claude Code

Replaces Sphinx/RST toolchain with MkDocs + Material theme + mkdocstrings.
Content is now Markdown, autodoc pulls from docstrings via mkdocstrings.
CI builds via `mkdocs build --strict` and continues to publish to gh-pages
from docs/build/html.

Adds "compliers" and "arange" to _typos.toml so the typos pre-commit hook
doesn't mangle domain terms and numpy function names in the tutorials.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 20, 2026 05:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@TomeHirata
TomeHirata merged commit ccf4f77 into main Aug 20, 2026
10 checks passed
@TomeHirata
TomeHirata deleted the docs/migrate-to-mkdocs branch August 20, 2026 05:49
TomeHirata added a commit that referenced this pull request Aug 20, 2026
Follow-up to #130. mkdocstrings renders docstrings as Markdown, so the leftover
`.. code-block:: python` directives in Example: sections were showing up literally
on the API pages instead of rendering as code blocks. Converts all 9 occurrences
(simple.py, base.py, local.py) to fenced ```python blocks.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

2 participants