docs: migrate documentation from Sphinx to MkDocs Material - #130
Merged
Conversation
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>
3 tasks
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
mkdocstrings-python(NumPy-style parsing preserved).docs/into the standard MkDocs layout (docs/docs/for content,docs/mkdocs.ymlfor config). Existing images moved fromdocs/source/_static/todocs/docs/assets/— no image bytes changed, so history is preserved as renames.pyproject.tomlanduv.lockto swapsphinxformkdocs,mkdocs-material, andmkdocstrings[python]. Updates.github/workflows/build-doc.ymlto runmkdocs build --strictand continue publishing to gh-pages fromdocs/build/html/.compliersandarangeto_typos.tomlso 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 --strictsucceeds locally with no warningsSimpleDistributionEstimator,predict_dte, etc. appear in generatedapi/simple/index.html)Build Docsworkflow passes on merge tomainNotes
docs/build/html) unchanged so the existing gh-pages deploy step keeps working.docs/build/added to.gitignore.cd docs && make htmlshould be updated tocd docs && mkdocs buildin a follow-up (CLAUDE.md is not tracked in this repo).🤖 Generated with Claude Code