docs: replace MkDocs with Zensical (#3073)
Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
This commit is contained in:
parent
74a242ae7f
commit
4fc8882c02
1 changed files with 1185 additions and 612 deletions
|
|
@ -76,16 +76,29 @@ dev = [
|
|||
"opentelemetry-sdk>=1.39.1",
|
||||
]
|
||||
docs = [
|
||||
# MkDocs 2.0 is a ground-up rewrite (no plugin system) that is incompatible
|
||||
# with mkdocs-material and every plugin below; stay on the 1.x line.
|
||||
"mkdocs>=1.6.1,<2",
|
||||
"mkdocs-gen-files>=0.5.0",
|
||||
"mkdocs-glightbox>=0.4.0",
|
||||
"mkdocs-literate-nav>=0.6.1",
|
||||
# docs/extra.css overrides Material-internal nav selectors; revisit it on a
|
||||
# major bump before raising this cap.
|
||||
"mkdocs-material[imaging]>=9.7.0,<10",
|
||||
"mkdocstrings-python>=2.0.1",
|
||||
# Zensical is the Material team's successor to MkDocs; it natively
|
||||
# re-implements search, glightbox and mkdocstrings but runs no arbitrary
|
||||
# MkDocs plugins or hooks, so the API reference (formerly gen-files +
|
||||
# literate-nav) and llms.txt (formerly a hook) are generated by the
|
||||
# standalone scripts under scripts/docs/. See scripts/docs/build.sh.
|
||||
# 0.0.48 fixed relative/scoped cross-references for mkdocstrings-python
|
||||
# (which the mkdocstrings config in mkdocs.yml relies on) but broke
|
||||
# search; 0.0.50 fixes it. The toolchain is pinned exactly: Zensical is
|
||||
# pre-1.0 and the build guards key on its rendering behavior, so bumps
|
||||
# should be deliberate.
|
||||
"zensical==0.0.50",
|
||||
# Zensical's mkdocstrings compatibility layer targets the mkdocstrings 1.x /
|
||||
# mkdocstrings-python 2.0.5+ API (griffe 2 / griffelib); the older
|
||||
# mkdocstrings 0.30 / python 2.0.1 line renders API pages with an
|
||||
# unregistered-autorefs KeyError under Zensical.
|
||||
"mkdocstrings==1.0.4",
|
||||
"mkdocstrings-python==2.0.5",
|
||||
# scripts/docs/build_config.py and llms_txt.py read mkdocs.yml directly.
|
||||
"pyyaml>=6.0.2",
|
||||
# gen_ref_pages.py imports griffe directly. griffelib is not a typo: it is
|
||||
# griffe's successor distribution (same author) and still imports as
|
||||
# `griffe`; the old `griffe` distribution is the incompatible 1.x line.
|
||||
"griffelib==2.1.0",
|
||||
]
|
||||
codegen = ["datamodel-code-generator==0.57.0"]
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue