Commit graph

10 commits

Author SHA1 Message Date
Kevin Phoenix
7fd4ac3bf9
docs: Auto-generate the API reference via autosummary (#6460)
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.
2026-06-04 08:32:27 -07:00
Kevin Phoenix
93ae89296d
docs: Disambiguate narrative cross-references (#6459)
Turn on ``autosectionlabel_prefix_document = True`` so that auto-generated
section labels are prefixed with the document path. This silences the
duplicate-label warnings between narrative pages where the same H1 text
appears in more than one file (e.g. "State Plugins" in
``core-concepts/states.rst`` and ``extending-angr/state_plugins.rst``,
"Core Concepts" in ``core-concepts/index.rst`` and
``core-concepts/toplevel.rst``).

Update the existing bare-label ``:ref:`` links to use the prefixed form
(e.g. ``:ref:`text <core-concepts/loading:Loading a Binary>```), and at
the same time collapse the line-wrapped links that were already brittle.
2026-06-03 12:19:46 -07:00
Matt Borgerson
357dd2b6bb docs: Drop ailment external package references 2025-05-28 17:50:20 -07:00
Kevin Phoenix
56ea53408d
Disable sphinx.ext.viewcode to speed up doc builds (#5254) 2025-02-06 12:30:17 -07:00
Kevin Phoenix
ee464d0338
Adopt from __future__ import annotations (#4790) 2024-08-28 18:31:43 -07:00
Kevin Phoenix
5152f5bfc8
Don't render inherited members in docs (#4105) 2023-08-29 13:23:26 -07:00
Kevin Phoenix
c5a7b8c8bb
Include __init__ member in api docs (#3959) 2023-05-10 21:03:17 -07:00
Kevin Phoenix
b759995df2
Fix some links (#3946) 2023-05-09 09:54:28 -07:00
Kevin Phoenix
10cf2ad2a0
Port gitbook docs to sphinx (#3865)
* Port gitbook docs to sphinx

* Some fixes
2023-03-17 15:44:35 -07:00
Kevin Phoenix
5051023056
Add in-tree docs (#3849)
* Add in-tree docs

* Add build dependencies to RTD build

* Also install newer pip

* Install angrdb and pcode when building docs

* Sync ci docs with rtd config

* Use pipe for multiline string

* Fix typo

* Replace copyright with project_copyright

* Ignore type aliases in sphinx coverage

* Add links to plugin documentation

* Use coverage_ignore_pyobjects to ignore aliases

* Attribute copyright to contributors
2023-03-08 18:06:10 -07:00