diff --git a/sphinx_immaterial/__init__.py b/sphinx_immaterial/__init__.py index 94a113bdb..2ac3786b5 100644 --- a/sphinx_immaterial/__init__.py +++ b/sphinx_immaterial/__init__.py @@ -324,9 +324,14 @@ def _config_inited( + "The sphinx.ext.napoleon extension may be used instead for NumPy-style docstring support." ) + # Enable the legacy (``Documenter``) autodoc implementation + # for all users of the theme + config.autodoc_use_legacy_class_based = True + def setup(app: Sphinx): - app.connect("config-inited", _config_inited) + # Run before sphinx.ext.autodoc._register_directives() + app.connect("config-inited", _config_inited, priority=50) app.setup_extension("sphinx_immaterial.css_and_javascript_bundles") app.setup_extension("sphinx_immaterial.external_resource_cache") diff --git a/sphinx_immaterial/apidoc/python/type_param_utils.py b/sphinx_immaterial/apidoc/python/type_param_utils.py index aafbfdfb8..7e0a73541 100644 --- a/sphinx_immaterial/apidoc/python/type_param_utils.py +++ b/sphinx_immaterial/apidoc/python/type_param_utils.py @@ -232,6 +232,10 @@ def stringify_annotation( for module in [ "sphinx.util.typing", "sphinx.ext.autodoc", + "sphinx.ext.autodoc._dynamic._loader", + "sphinx.ext.autodoc._dynamic._type_annotations", + "sphinx.ext.autodoc._legacy_class_based._documenters", + "sphinx.ext.autodoc._generate", "sphinx.ext.autodoc.typehints", "sphinx.util.inspect", "sphinx.ext.napoleon.docstring",