Commit Graph

20229 Commits

Author SHA1 Message Date
Adam Turner
616ba29f28
Harmonise references to Sphinx versions (#11361) 2023-04-27 01:02:09 +01:00
Adam Turner
8dd44d1e13
Remove deprecated `make_old_id` functions (#11360) 2023-04-27 01:01:09 +01:00
Adam Turner
124957a89c
Remove deprecated search splitters in `sphinx.search.ja` (#11359) 2023-04-27 00:50:02 +01:00
Adam Turner
4eb706eb21 Bump version 2023-04-26 17:24:54 +01:00
Adam Turner
720f89d1d6 Update test for Alabaster version tuple 2023-04-26 17:24:02 +01:00
Adam Turner
bc04444cb8 Bump version 2023-04-25 11:53:35 +01:00
Adam Turner
ec993dda36 Bump to 6.2.1 final 2023-04-25 11:53:08 +01:00
Adam Turner
d2aa91f63c Revert the default type of `nitpick_ignore[_regex] to list` 2023-04-25 11:31:57 +01:00
Adam Turner
60d8fa10b8 Bump version 2023-04-23 21:04:09 +01:00
Adam Turner
70102ac2ee Bump to 6.2.0 final 2023-04-23 21:03:34 +01:00
Adam Turner
4e27a5fba1 Remove unneeded JavaScript from `sphinx13` theme 2023-04-23 20:45:57 +01:00
Adam Turner
bffb54734f Note correct deprecation version for `sphinx.util.osutil.cd` 2023-04-23 20:45:25 +01:00
James Addison
59de8d5202
Revert "Support and prefer `.jinja to _t` for static templates (#11165)" (#11329)
This reverts commit 5d13215b58.
2023-04-23 19:06:44 +01:00
Adam Turner
aee3c0ab75
Partially revert "Disable localisation when SOURCE_DATE_EPOCH is set (#10949)" (#11343)
This keeps some of the added tests, and avoids a full revert of ``sphinx.locale``.
2023-04-21 19:04:26 +01:00
Martin Liška
186d596f33
Use `overwrite_file context manager in test_ext_autodoc_configs` (#11320)
The tests modify source files (e.g. index.rst) that are not restored
and thus another test could read an altered source file, it leading
to unexpected test results.

Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2023-04-21 02:44:11 +01:00
Martin Liška
77483f2824
Add missing test decorator for `test_util_inspect` (#11321) 2023-04-21 02:22:10 +01:00
James Addison
d8f15c7361
Increase timeout threshold for `linkcheck` tests (#11326) 2023-04-21 02:08:14 +01:00
Tim Hoffmann
b430e05285
Create a 'search field' component for themes (#11045)
``searchfield.html`` is similar to the existing ``searchbox.html``, but does not
have the heading "Quick Search". Instead, it uses "Search" as a placeholder
text. This gives a cleaner and less cluttered appearance.

The searchfield component is added to the basic theme and thus can be used
in any derivative theme. It is not used by default for backward compatibility.

The searchfield compenent is made the default in the sphinx13 theme.

CSS changes ensure that the top of the search field is aligned with the
top of the main content.
2023-04-21 02:02:04 +01:00
Bénédikt Tran
e2f66cea49 Update CHANGES for PR #11333 2023-04-18 12:13:20 +02:00
Bénédikt Tran
61576516d4 Fix duplicated labels in TeX output (#11093) 2023-04-17 12:07:32 +02:00
Maciej Olko
5a6b2b16b6
Add link to Weblate's Sphinx docs in intl documentation (#11332)
Add link to Weblate in intl documentation
2023-04-16 21:21:57 +02:00
James Addison
0fb6716f3f
Continuous integration: resolve docutils installation step build failures (#11331)
* continuous integration: add comment explaining PYTHONWARNINGS env var to main unit test workflow

* continuous integration: unit test workflow: report-but-do-not-fail
  when warnings about pkg_resources deprecation are encountered during
  docutils dependency installation

* continuous integration: unit test workflow: instead of reducing the
  severity of all DeprecationWarnings during docutils (non-dev)
  installation, apply two message filters - one each for the warnings
  encountered so far

* continuous integration: unit test workflow: add 'module' and 'line'
  fields for warning filters

Ref:
https://docs.python.org/3/library/warnings.html#describing-warning-filters


---------

Co-authored-by: Jean-François B <2589111+jfbu@users.noreply.github.com>
2023-04-16 15:05:09 +02:00
Martin Liska
b6e6805f80 test_build_latex: move output to a separate output dir
Related: #11285
Co-authored-by: Jean-François B <2589111+jfbu@users.noreply.github.com>
2023-04-13 06:15:50 +02:00
Jean-François B
188b869fa2 Use longtable for our document in PDF format
Previous commit applied longtable class to the next one, but this still
left the previous table prevent an earlier page break.
2023-04-11 22:59:28 +02:00
Jean-François B
256ac63bf9 Use a :class:longtable in our document for LaTeX PDF output
Now that #11268 has been fixed via #11319.
2023-04-11 20:48:24 +02:00
Jean-François B
b95fc0e88b Use leaner TeX syntax (follow-up to #11319)
Because it is cool.  And avoids overhead.  Matter of principle.
2023-04-11 20:41:58 +02:00
Jean-François B
509cc4533c LaTeX: get aligned longtable obey current list indent
Fix #11268.

Thanks to @picnixz.
2023-04-11 20:32:31 +02:00
Adam Turner
2c83af0aab Refactor `_TranslationProxy` 2023-04-08 05:09:12 +01:00
Adam Turner
31ca962713 Use PEP 585 and 604 type annotations in `sphinx.locale` 2023-04-08 05:08:50 +01:00
James Addison
94f4afafa5
Add a missing word in `doc/development/theming.rst` (#11301) 2023-04-07 20:59:27 +01:00
James Addison
5d13215b58
Support and prefer `.jinja to _t` for static templates (#11165)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-04-07 18:07:15 +01:00
James Addison
f82c3c9912
Disable localisation when `SOURCE_DATE_EPOCH` is set (#10949)
This commit disables Sphinx's localisation features when reproducible
builds are requested, as determined by a non-empty SOURCE_DATE_EPOCH_
environment variable.

The `Reproducible Builds`_ project aims to provide confidence to
consumers of packaged software that the artefacts they're downloading
and installing have not been altered by the environment they were
built in, and can be replicated at a later date if required.

Builds of localised documentation using Sphinx currently account for
a large category of reproducible build testing failures, because the
builders intentionally use varying environment locales at build-time.
This can affect the contents of the ``objects.inv`` file.

During investigation, it turned out that many ``gettext``-localised
values (particularly in Python modules under ``sphinx.domains``) were
being translated at module-load-time and would not subsequently be
re-localised.

This creates two unusual effects:

1. Attempting to write a test case to build the same application in
   two different languages was not initially possible, as the
   first-loaded translation catalogue (as found in the 
   ``sphinx.locale.translators`` global variable) would remain in-use
   for subsequent application builds under different locales.

2. Localisation of strings could vary depending on whether the
   relevant modules were loaded before or after the resource
   catalogues were populated.

We fix this by performing all translations lazily so that module
imports can occur in any order and localisation of inventory entries
should occur only when translations of those items are requested.

Localisation can then be disabled by configuring the ``gettext``
language to the ISO-639-3 'undetermined' code (``'und'``), as this
should not have an associated translation catalogue. We also want to
prevent ``gettext`` from  attempting to determine the host's locale
from environment variables (including ``LANGUAGE``).

.. _SOURCE_DATE_EPOCH: https://reproducible-builds.org/docs/source-date-epoch/
.. _Reproducible Builds: https://www.reproducible-builds.org/
2023-04-07 17:49:36 +01:00
picnixz
4659fc21a9
Fix translator class check in `SigElementFallbackTransform` (#11283) 2023-04-07 00:28:48 +01:00
James Reinders
063c2e3fbe
Ensure arguments to `PIL.Image.resize()` are integers (#11288)
Update ``copy_image_files_pil`` so that the computation of ``nh`` is
always an integer, as otherwise some calls to ``PIL.Image.resize()``
fail as floats are not allowed

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-04-06 23:51:18 +01:00
Jens Hedegaard Nielsen
3edae68904
autosummary: Support documenting inherited attributes (#10691)
The current implementation of ``import_ivar_by_name`` filters
attributes if the name of the object that the attribute belongs to
does not match the object being documented. However, for inherited
attributes this is not the case. Filtering only on the attribute name
seems to resolve the issue. It is not clear to me if there are any
unwanted sideeffects of this and we should filter on the list of
qualnames for the object and all its super classes (if any).

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-04-06 23:33:43 +01:00
Adam Turner
7ecf037280 Enable 'nit-picky mode' for Sphinx's documentation
Fix several reference errors throughout the documentation and set
``nitpick_ignore`` in ``doc/conf.py``.
2023-04-06 23:11:39 +01:00
panhongtao
b2349254fc
Prefer `importlib.metadata` from Python 3.10 onwards (#11270)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-04-06 23:06:01 +01:00
picnixz
aba392d87f
Support type comments in `PropertyDocumenter` (#11298) 2023-04-06 22:56:17 +01:00
Martin Liška
26eb2ef7c4
Clean up the CNAME file in `sphinx.ext.githubpages` (#11295)
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2023-04-06 22:46:50 +01:00
Martin Liška
c1c2d758c9
Fix instability in `test_ext_viewcode` (#11297)
Use ``freshenv`` argument and remove ``outdir`` for one test
as the previous one can leave an unexpected leftover.
2023-04-06 22:40:33 +01:00
Martin Liška
f25a36d056
Fix instability in `test_build_epub` (#11296)
Some tests need ``app.builder.build_all`` in order to have complete rebuild.
2023-04-06 22:33:20 +01:00
Martin Liška
a80e3fd377
Use a shared file-system lock in `create_server` (#11294)
With parallel run of tests, one gets "Address already in use" errors
as all tests attempt to bind to the same port. Fix it with a shared
file-system lock.

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-04-06 22:24:49 +01:00
Clément Pinard
9299003d40
Autosummary: Extend `__all__` members to template rendering (#10811)
When ``False``, the ``autosummary_ignore_module_all`` option adds
members to the module's members entry that will be used for autodoc,
but otherwise ignores it. As such, if a class is available in the 
``__all__``, it won't be generated.

This commit aims to extend the ``__all__`` handling not only to
members, but also to corresponding attribute types (function,
classes, exceptions, modules)

The ``imported_members`` option is set to ``True`` if the object has
an ``__all__`` member and ``autosummary_ignore_module_all`` is ``False``
2023-04-06 00:02:37 +01:00
Adam Turner
52a099b7ec Resolve lint errors from Ruff 0.0.261 2023-04-05 14:19:43 +01:00
Martin Liška
2932bacac4
Only use `_write_doc_doctree_cache` in serial mode (#11290)
When using multiple processes, the content of
``self.env._write_doc_doctree_cache`` is not synchronised with the
main process, meaning we can only use it in serial mode.

Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2023-04-05 14:03:34 +01:00
Martin Liška
fc4fead40d
Allow parallel execution of tests in `test_search` (#11292)
Add various ``app.builder.build_all()`` calls.
2023-04-05 13:54:09 +01:00
Martin Liška
8e26d78b79
Remove hidden state from `test_nosearch` (#11291)
Currently, ``test_nosearch`` depends on ``html_search_language='de'``
from a previous test and thus fails if run individually.

Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2023-04-05 13:43:24 +01:00
Adam Turner
4a3febb69a
Add an option for displaying short `Literal` types (#11109)
The new ``python_display_short_literal_types`` configuration option
for the ``py`` domain controls display of PEP 586 ``Literal`` types.
The 'short' format is inspired by PEP 604, using the bitwise OR operator
to distinguish the possible legal values for the argument.
2023-04-05 13:07:25 +01:00
Adam Turner
609b2f2650 Add entries to the `.git-blame-ignore-revs` file 2023-04-04 22:06:49 +01:00
Adam Turner
098799b33e Add `.git-blame-ignore-revs` file 2023-04-04 22:06:49 +01:00