Commit Graph

4674 Commits

Author SHA1 Message Date
Adam Turner
dd77f85149
Support callables in `Annotated` types (#12625) 2024-07-20 11:16:33 +01:00
Adam Turner
1ed4ca7e03 Mark `test_build_manpage` as XFAIL following changes in Docutils master 2024-07-20 11:03:16 +01:00
Adam Turner
587da413ca
Warn when files are overwritten in the build directory (#12612) 2024-07-19 08:20:48 +01:00
James Addison
f081136ebd
intersphinx: Reduce log severity for ambiguity detection during inventory loading (#12615) 2024-07-18 13:15:20 +01:00
Adam Turner
e61f56950d
Do not add the module prefix when generating autosummary documents (#12609) 2024-07-17 21:42:21 +01:00
James Addison
47757c4062
HTML search: Ensure that `checkRanking` fails when the final entry is not found (#12608)
The ``checkRanking`` function in our test suite has a bug; it's currently possible for the final item in the expected ranking list *not* to be found in the result-set, and yet for the function to pass.

**Expected Behaviour**
The ``checkRanking`` function should confirm that all of the items specified in the ``expectedRanking`` argument appear within the ``results`` argument, and in the list-iteration-order provided.  If they do not, then an assertion error should be raised, failing the test.

**Actual Behaviour**
If all items up until the final entry in the ``expectedRanking`` argument are found in the expected order, but the final entry itself is not found at all in the ``results``, then no assertion error is raised, and the test passes.
2024-07-17 16:29:55 +01:00
Jean-François B.
152b78318d
LaTeX: fix figures in seealso and seealso inside table cell (#12598)
This also fixes unreported issues unrelated to the 7.4.0 release:

- (now old style "lightbox") admonitions render badly in tabulary,
- "heavybox" admonitions (they are all now but warning et al. were already) cause PDF crash if in tabulary and rendered badly if in tabular or longtable.
- figure in a table cell is not properly separated from immediately preceding text.

Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2024-07-16 21:03:42 +01:00
Adam Turner
5edca97a2e
Warn when `html_sidebars` values are strings (#12600) 2024-07-16 20:48:49 +01:00
James Addison
cfd3645eb7
intersphinx: Don't warn about pure-duplicate ambiguous definitions when loading inventory entries (#12586) 2024-07-15 18:37:46 +01:00
Adam Turner
4bdef1b576 Remove old-styled `source_suffix` values in tests 2024-07-15 12:50:56 +01:00
Adam Turner
1c204e63a9
Increment the environment version to resolve C domain issues on incremental rebuilds (#12583) 2024-07-15 12:00:18 +01:00
Adam Turner
73dd9fcb9b
Restore support for `typing.ParamSpec` (#12581) 2024-07-15 11:00:13 +01:00
Adam Turner
18ac58bd53 Fix possibly-invalid HTML when a rubric node is manually created 2024-07-15 10:04:48 +01:00
Bénédikt Tran
2a30bb661f
Fix PEP 695 output for classes in the LaTeX builder (#12561) 2024-07-15 05:17:36 +01:00
Adam Turner
c4fb47310f
Remove `sphinx.environment` from the no-any-generics whitelist (#12575) 2024-07-15 03:49:24 +01:00
Chris Sewell
41b363dbff
[rst] Add level option to rubric directive (#12506)
This commit adds a `level` option to the `rubric` directive, which propagates a `level` attribute to the `rubric` node,
and allows renderers to select a specific heading level.

Logic for this attribute has been added to the HTML5 and LaTeX builder.
2024-07-14 05:52:58 +02:00
James Addison
35e7bfc347
linkcheck: Ignore URLs that respond with non-Unicode content (#12197) 2024-07-14 03:48:38 +01:00
Lingyu Hu
f0d8e2ef5e
Provide a better error message if the master document is not included in the project documents (#12011) 2024-07-14 03:22:39 +01:00
Jakob Lykke Andersen
e08f12f848
toctree: Use document nesting instead of domain nesting when adding domain objects (#12367)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2024-07-14 01:16:26 +01:00
David Stansby
159c26715b
Display `typing.Annotated` metadata in the Python domain (#11785)
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2024-07-14 00:52:55 +01:00
Adam Turner
469a809ead
Increase minimum required dependency versions (#12556) 2024-07-13 08:59:24 +01:00
Trevor Bekolay
2c0943784c
Disallow module cycles in autosummary (#6792)
Consider the following piece of reST::

  .. automodule:: sphinx.ext.autosummary
     :members:

     .. autosummary::

        sphinx.ext.autosummary.Autosummary

This inserts an autosummary after the module docstring, but before
the members of the module. Without the change in this commit, this
would fail because `import_by_name` would attempt to import::

    sphinx.ext.autosummary.sphinx.ext.autosummary.Autosumary

because the prefix (from the parent) is `sphinx.ext.autosummary`,
and the name is `sphinx.ext.autosummary.Autosummary`, which is able
to be imported from `sphinx.ext.autosummary`, but is not the way
that anyone would want to refer to it.

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2024-07-13 06:37:50 +01:00
James Addison
a6c2bdd371
Rename template files in Sphinx to use the `.jinja` extension (#12364) 2024-07-11 12:31:35 +01:00
Ashley Whetter
e38a60d3f2
Add `py:type` directive and role for documenting type aliases (#11989)
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2024-07-11 12:15:54 +01:00
James Addison
91c5cd3abd
Improve relevance scoring in HTML search results (#12441)
Co-authored-by: Will Lachance <wlach@protonmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-07-11 11:55:40 +01:00
Stephen Finucane
6b37a6b2a2
Allow explicitly specifying modules in the coverage builder (#11592)
Currently there is no mechanism to identify totally undocumented modules
in the coverage builder, unlike with partially documented modules.
Resolve this by introducing a new ``coverage_modules`` config option.
This is a list of modules that should be documented somewhere
within the documentation tree. 
Any modules that are specified in the configuration value but 
are not documented anywhere will result in a warning. 
Likewise, any modules that are not in the config option but 
are documented somewhere will result in a warning.

Signed-off-by: Stephen Finucane <stephen@that.guru>
2024-07-11 07:36:36 +01:00
Thomas Fanning
6cc1177d10
Allow configuring the separator used in numbering equations (#12523)
Co-authored-by: Thomas Fanning <tom@ferb.ne.anl.gov>
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2024-07-10 22:23:38 +01:00
Adam Turner
82edc3d385
Rewrite `usage/configuration.rst` (#12537)
- Remove now-removed configuration values
- Use obvious 'unset' defaults for ``project`` and ``author``
- Prefer 'e.g.' to 'ex.'
- Allow non-list sequence types in various configuration values
- Add types and defaults to every confval directive
2024-07-10 21:43:14 +01:00
tuncbkose
bdd9140842
Remove custom SVG processing in the HTML builder (#12425)
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2024-07-10 18:31:01 +00:00
James Addison
84c11b2f66
Improve JavaScript test fixture generation (#12531)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2024-07-10 19:00:34 +01:00
M Bussonnier
6e3a191185
Bump Ruff to 0.5.1 (#12530) 2024-07-10 14:13:10 +01:00
Tim Hoffmann
a95d716f7f
Add a class option to the toctree directive (#12524)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2024-07-10 11:07:49 +01:00
James Addison
c67ef51df9
Update MyPy for types-docutils 0.21.0.20240708 (#12522) 2024-07-09 20:59:49 +01:00
James Addison
7eb77f2372
HTML Search: omit anchor reference from document titles in the search index. (#12047) 2024-07-08 13:34:11 +02:00
James Addison
e63e2f3ccb
Update MyPy for types-docutils 0.21.0.20240704 (#12511)
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2024-07-06 19:29:18 +01:00
Nicolas Peugnet
b23ac4f16e
Fix invalid genindex.html file produced with translated docs (#12495) 2024-07-04 03:00:28 +02:00
Bénédikt Tran
3209275a4a
Support `typing_extensions.Unpack` (#12258)
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2024-07-03 03:03:41 +01:00
James Addison
778013f91a
Regression: restore extraction of data-URI images from source for builders whose output formats do not support them natively (#12344) 2024-07-03 02:16:43 +01:00
Adam Turner
24a0385997
Add `allow_section_headings` to SphinxDirective parsing methods (#12503) 2024-07-02 23:53:58 +01:00
Adam Turner
86c51f3bfa Bump Ruff to 0.5.0 2024-07-02 22:50:35 +01:00
Adam Turner
1887df0b5c
Add reStructuredText parsing functions to `SphinxDirective` (#12492) 2024-07-02 22:14:19 +01:00
James Addison
6b237d9a70
[linkcheck] Allow integer for linkcheck_rate_limit_timeout (#12470)
Eliminate type-related warnings when users configure a valid integer value for the `linkcheck_rate_limit_timeout` config setting.

Co-authored-by: Chris Sewell <chrisj_sewell@hotmail.com>
2024-06-24 17:26:24 +00:00
Chris Sewell
bc1a5c5c88
[autogen] Add --remove-old option (#12456)
A common "gotcha" of re-running `sphinx-autogen`, is that if there are changes it will not remove old files, leading to build errors for files not in a `toctree`

This commit introduces a `--remove-old` option to remove these files.

Note, a key detail here is that we don't want to simply clear the directory before running `sphinx-autogen`,
since this would lead to all files having a new `mtime`,
and then `sphinx-build` would rebuild all of them even if they have not changed.
So we must first collect the list of all correct files, then remove any not in the list.
2024-06-21 19:29:46 +02:00
Chris Sewell
d7e1bfeb4b
[apidoc] Add --remove-old option (#12448)
A common "gotcha" of re-running `sphinx-apidoc`, is that if the modules API changes it will not remove old files, leading to build errors for files not in a `toctree`

This commit introduces a `--remove-old` option to remove these files.

Note, a key detail here is that we don't want to simply clear the directory before running `sphinx-apidoc`,
since this would lead to all files having a new `mtime`,
and then `sphinx-build` would rebuild all of them even if they have not changed.
So we must first collect the list of all correct files, then remove any not in the list.

The commit also improves some typing of the code and replace `os.path` by `pathlib.Path` in most instances
2024-06-20 13:12:37 +02:00
Thomas Weißschuh
6471027d19
[themes]: Include project name in logo_alt by default (#12421)
The "alt" attribute of an `<img>` is required to convey all information.
Make it clear which logo is shown.
Also make it possible for users to override the logo_alt with a custom value.
2024-06-18 01:47:14 +02:00
Bénédikt Tran
581bcdd140
[config] correctly synchronize `root_doc and master_doc` (#12417) 2024-06-17 18:04:33 +02:00
Thomas Weißschuh
d5bdabdd80
themes: Don't duplicate "navigation" in aria-label (#12422)
The word "navigation" is not supposed to be included as part of the aria-label attribute:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/navigation_role
2024-06-17 12:50:34 +02:00
James Addison
799ae16a01
Intersphinx: log warnings for ambiguous target resolutions. (#12329)
This commit adds detection of ambiguous ``std:label`` and ``std:term`` references (due to case-insensitivity)
during loading and resolution of Intersphinx targets,
and emits a warning if found.

Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
Co-authored-by: Chris Sewell <chrisj_sewell@hotmail.com>
2024-06-17 12:42:22 +02:00
James Addison
568e26c797
[tests] JavaScript: refactor test fixtures (#12102)
This PR allows to serve JavaScript test fixtures using a fixture-based logic as for Python tests.

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-06-13 13:07:46 +02:00
Nicolas Peugnet
ac3f74a3e0
[tests] Add intl regression test for term not found warning (#12388)
Add test for term not found warning in test_intl to prevent future regressions
2024-05-19 12:14:13 +02:00