Repository navigation
docs: migrate documentation to MkDocs-Material with PyPSA layout - #1129
Merged
Merged
Conversation
Move the documentation from Sphinx to MkDocs with the Material theme and align its structure with the PyPSA documentation (Home, User Guide, Examples, API Reference, Contributing tabs). The user guide sections follow the restructuring proposed in #704. - Convert all rst pages to Markdown; Sphinx roles become mkdocstrings autorefs, directives become admonitions. - Split api.rst into per-topic mkdocstrings pages, keeping the curated grouping. - Move the example notebooks from examples/ into doc/ and render them with mkdocs-jupyter (executed at build time). - Add redirects from the former page names. - Only use features Zensical supports (apart from mkdocs-jupyter), so the site can move to Zensical once it renders notebooks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01F4nx8GNiMNgwyj25mtSgVb
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01F4nx8GNiMNgwyj25mtSgVb
Collaborator
|
@FabianHofmann Mkdocs has some issues lately as far as I know regarding the maintainers. Not sure if it's worth doing until zensical is fully stable. The docs in mathspec and specsolve are done with zensical |
Merging this PR will not alter performance
Comparing Footnotes
|
FabianHofmann
marked this pull request as ready for review
November 4, 2026 16:22
Collaborator
Author
|
@FBumann yes, zensical compat is in here, so switching at any time is possible. |
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.
Supersedes #704 (closed), whose section structure this reuses.
Note
The following content was generated by AI.
Changes proposed in this Pull Request
Moves the documentation from Sphinx to MkDocs with the Material theme and aligns the layout with the PyPSA documentation.
[`Model.solve`][linopy.model.Model.solve]), directives become admonitions.api.rstis split into per-topic mkdocstrings pages underdoc/api/that keep its curated grouping. Restrict windows and the error classes referenced from the guides are added.examples/intodoc/and rendered with mkdocs-jupyter. They're executed at build time;LINOPY_DOCS_EXECUTE=falseskips execution for local work. Markdown cells go through MkDocs' own pipeline (markdown_cell_processor: mkdocs), so admonitions and API cross-references work inside notebooks. Leftover.. note::directives in notebook cells are converted.docsextra inpyproject.toml,.readthedocs.yaml(mkdocs builder,fail_on_warning: true), the notebook CI path, the pre-commitnbstripoutexclude,.gitignore(it previously ignoreddoc/api), README, AGENTS.md, CONTRIBUTING.md and the contributing guide.assert_conequaldocstring.Zensical
Material for MkDocs reaches end of life on 5 May 2027; Zensical is its successor. Apart from mkdocs-jupyter, the config only uses features that Zensical supports. A test build of the same
mkdocs.ymlwith Zensical 0.0.74 builds everything except the notebooks, which Zensical can't render yet. Once it can, switching should only mean changing the build command.Follow-ups
/creating-variables.html) need Read the Docs' "HTML to clean URL" redirect, which is set in the RTD dashboard.Verification
mkdocs build --strictpasses with notebooks executed (Gurobi installed) and withLINOPY_DOCS_EXECUTE=false.pre-commit runpasses on all changed files.pytest test/test_testing.pypasses.Checklist
AGENTS.md).doc.doc/release-notes.mdof the upcoming release is included.Generated by Claude Code