mirror of
https://github.com/angr/angr
synced 2026-06-08 13:09:39 +00:00
7fd4ac3bf9
Replace the hand-maintained ``api.rst`` listing with a single ``.. autosummary:: :recursive:`` entry point, and add an autosummary template under ``_templates/autosummary/module.rst`` that recursively emits a page per submodule. The output directory ``docs/api/`` is gitignored. The template uses ``.. rubric:: Submodules`` instead of a section heading so the autogenerated pages don't all register a duplicate "Submodules" autosectionlabel. Adjustments to ``conf.py`` to make the auto-generated pages readable: - ``autodoc_class_signature = "separated"`` so the class declaration line does not duplicate the ``__init__`` parameter list. - ``skip_inherited_undocumented`` (autodoc-skip-member): when a subclass overrides a method without its own docstring, do not document the override on the subclass page; the parent's "Bases:" link already points readers to the canonical entry. Avoids duplicating the parent's full docstring on every subclass. - ``_patch_directive_header_for_reexports`` (monkey-patch of ``_directive_header_lines``): for re-exported symbols (e.g. ``angr.SimState`` re-exporting ``angr.sim_state.SimState``), inject ``:no-index:`` so the entry still renders on the parent page but the canonical defining-module page is the unambiguous cross-reference target.