Commit Graph

847 Commits

Author SHA1 Message Date
Nikita Sobolev
1bd261c3a0 Fix a typo in the `:final:` option for methods (#11670) 2023-09-14 09:50:49 +01:00
Hugo van Kemenade
359edc34fc Use the Python 3 `print()` function in the documentation (#11683) 2023-09-14 09:45:20 +01:00
Adam Turner
7e9a2066c2 Be more ephemeral (in anchor link title text) 2023-08-12 05:30:38 +01:00
blaisep
b0fe730146 Fix #11407 adjust the spelling in the example. 2023-07-30 15:08:49 +02:00
Adam Turner
1cfb68d8be Consistently name the object description options (#11533)
*  The directive option ``:noindex:`` was renamed to ``:no-index:``.
*  The directive option ``:noindexentry:`` was renamed to ``:no-index-entry:``.
*  The directive option ``:nocontentsentry:`` was renamed to ``:no-contents-entry:``.

The previous names are retained as aliases, but will be deprecated
and removed in a future version of Sphinx (9.0 or later).
2023-07-28 22:30:26 +01:00
Adam Turner
ff20efcd7e Tweaks to `doctest_show_successes` (#11535) 2023-07-28 22:29:04 +01:00
latosha-maltba
97d2c5da2f Add the `:no-typesetting:` option for only creating targets (#10478)
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2023-07-28 19:43:27 +01:00
benkrikler
762ed8540a Add line numbers in `sphinx.ext.viewdoc` (#6319)
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2023-07-28 05:52:48 +01:00
Jorge Leitao
99f9209924 Add summary statistics to the coverage report (#5474)
The current implementation of ``sphinx.ext.coverage`` outputs which
methods,classes, and functions are documented.
This commit adds a short summary of this report in terms of
``documented objects / total number of objects``,
both per module and total.

The purpose of this is to support
a currently not mainstream but relevant use-case:
a coverage report on the number of objects that are documented.

By having the statistics on the report or on the stdout,
a regex expression can capture the coverage percentage
(e.g. ``re.search(r'TOTAL.*?([0-9.]{4,6}\%)', d).group(1)``)
and use it e.g. in another report, a status badge, etc.

Two options were added to the configuration to allow a table
to be printed in the report and/or to stdout.

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-07-28 02:33:42 +01:00
Adam Turner
ad61e41157 Drop support for Python 3.8 (#11511) 2023-07-25 02:07:23 +01:00
Adam Turner
066e0fabc6 Add translation progress information (#11509)
Co-authored-by: Manuel Kaufmann <humitos@gmail.com>
2023-07-24 20:19:31 +01:00
picnixz
82bc15aec3 Enable skipping anchor verification on a per-URL basis (#11489)
Add a new ``linkcheck_anchors_ignore_for_url`` configuration variable.

Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2023-07-24 12:15:42 +01:00
picnixz
480630c649 Support PEP 695 and PEP 696 syntax in the Python domain (#11444)
* Generic classes can be documented with ``.. py:class::`` using PEP 695 syntax:

  .. code:: rst

     .. py:class:: Sequence[T]

* Generic functions can be documented with ``.. py:function::`` using PEP 695 syntax:

  .. code:: rst

     .. py:function:: foo[T](x: T)

* Default values for type bounds are supported.

Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2023-07-23 23:22:40 +01:00
Adam Turner
de3aa8a318 Replace non-functional Bitbucket URLs
- ``sphinx-contrib`` has moved to GitHub
- Replace personal project links with links to the Bitbucket archive
2023-07-14 06:52:25 +01:00
Stefanie Molin
e09d02e440 Allow `copyright` to contain multiple entries (#10983)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-05-11 22:43:48 +01:00
TLouf
86b07d4a97 Allow multi-line object description signatures (#11011)
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
Co-authored-by: Jean-François B <2589111+jfbu@users.noreply.github.com>
Co-authored-by: TLouf <loufthomas@gmail.com>
2023-05-11 14:28:57 +01:00
Adam Turner
706f5f9cc8 Warn on deprecated Python-specific index types (#11412) 2023-05-09 22:57:39 +01:00
Adam Turner
2a9e805206 Remove the deprecated Setuptools integration (#11363) 2023-04-27 01:22:04 +01: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
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
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
Jean-François B
e1b15a5c11 Update doc and CHANGES for PR #11281 2023-04-03 11:12:41 +02:00
Hugo van Kemenade
318914fff2 Fix syntax in `:manpage:` role example (#11249) 2023-03-24 01:36:58 +00:00
Adam Turner
f5c957597d Normalise spelling of Sphinx versions 2023-03-24 00:44:33 +00:00
Benjamin Balder Bach
eda388a506 Docs: Add a link to sphinx-extensions (#11260) 2023-03-23 08:33:16 +01:00
Adam Turner
2902c6c55b Deprecate legacy `intersphinx_mapping` format (#11247)
This format was made obsolete in Sphinx 1.0, but never formally deprecated.
2023-03-17 16:41:22 +00:00
Hugo van Kemenade
ba4c67b1dc Display examples of roles in the documentation (#11226)
Show examples of roles in the docs so we can see how they look. 
Seeing how roles are displayed helps us decide whether to use them.
2023-03-17 15:05:09 +00:00
Mike Taves
23bf041ce4 Remove unicode prefix (`u`) from strings (#11158) 2023-02-15 04:37:33 +00:00
Hugo van Kemenade
7f62f539be Correct the Python Developer Guide markup style advice link (#11189) 2023-02-11 13:19:51 +00:00
Jean-François B
ddf4daf2c6 Doc of html_file_suffix (closes #11141) (#11144) 2023-01-22 19:32:12 +01:00
Adam Turner
670bcb743b Documentation reshuffle (#11112) 2023-01-08 13:52:36 +00:00
Tim Hoffmann
ec26c2f874 Document autosummary template variable "objtype" (#11044) 2023-01-02 18:38:17 +00:00
Harrissou Sant-anna
da6a20d50b Fix typos in usage/configuration.rst (#10834) 2023-01-02 04:48:53 +00:00
Hugo van Kemenade
dc29bf9abe Docs: Update devguide link (#11017)
Update devguide link
2022-12-16 16:42:11 +01:00
Jérémie Tarot
d8977d3e57 docs: intl.rst: small fixes while translating (#11020) 2022-12-07 13:53:44 +01:00
Jean-François B
b1ca6b3e12 Fix #10984 [DOC] document latex_additional_files behavior with .tex (#10993) 2022-11-30 18:52:48 +01:00
Adam Turner
920828fe35 Run the `pyupgrade` tool 2022-10-17 22:39:09 +01:00
Jean-François B
49c48f5aee LaTeX: switch to some nicer defaults for tables and code-blocks (#10924) 2022-10-17 11:19:25 +02:00
Jean-François B
78cf903bc1 Update documentation of latex builder (#10925) 2022-10-17 10:54:31 +02:00
Adam Turner
592b46c431 Revert `html_codeblock_linenos_style` removal (#10922) 2022-10-16 16:50:53 +01:00
Adam Turner
e70a0fac6d Merge branch '5.x'
# Conflicts:
#	.github/workflows/main.yml
#	CHANGES
#	sphinx/__init__.py
#	sphinx/domains/c.py
2022-10-16 11:24:18 +01:00
Jean-François B
b5ba1ede2a s/5.2.0/5.3.0 in various code comments as #10759 got merged in 5.3.0 2022-10-12 17:41:39 +02:00
Jean-François B
e7c0881992 LaTeX: support for booktabs-style and zebra-striped tables (#10759)
This is a combination of 2 + 28 + 7 + and some more commits...

* Cherry-pick: Add support for booktabs-style tables to LaTeX builder

* Cherry-pick: Add support for zebra-striped tables to LaTeX builder

Co-authored-by: Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>

Above work originally initiated by @sephalon (thanks!)

Development refactored and continued by @jfbu

* latex_table_style configuration, support booktabs, colorrows, borderless

Some details:

- Simplify a bit a conditional in the longtable template

  This also puts the target for a longtable with a label but no caption
  above the toprule for better hyperlinking (testing shows hyperlink
  target can not end up alone at bottom of previous page).

- Extend allowed syntax for colour assignments via 'sphinxsetup'

- latex_table_style new configuration value and coloured rows

  For the user interface I tried to look for inspiration in
  https://docutils.sourceforge.io/docs/user/config.html#table-style
  which mentions booktabs and borderless.  They also mention
  captionbelow which we can implement later, now that architecture
  is here.  They don't mention coloured rows.

- Test on our own document... looks fine!

- Work-around an incompatibility of \cline with row colours

- Reverse priority of classes to allow overruling booktabs by standard
  after parsing source but before letting LaTeX writer act

- Closes #8220

  Commit
  bb859c6696
  already improved a bit, this finishes it (as :rst:dir:`rst-class` was
  actually not linking to anywhere).

- Let booktabs style defaults to *not* using \cmidrule.  They actually
  don't make much sense there, as all \hline's are removed.

- Add \sphinxnorowcolor which allows construct such as this one in
  a tabularcolumns directive:

    >{\columncolor{blue}\sphinxnorowcolor}

  else LaTeX always overrides column colour by row colour

- Add TableMergeColorHeader, TableMergeColorOdd, TableMergeColorEven
  so single-row merged cells can be styled especially

- Extend row colours to all header rows not only the first one
  (all header rows will share same colour settings)

- Auto-adjust to a no '|'-colspec for optimal handling of merged cell

- Add \sphinxcolorblend

- Workaround LaTeX's \cline features and other grid tables matters

- Add \sphinxbuildwarning for important warnings

- Fix some white gaps in merged cells of tables with vlines and
  colorrows

- Work around LaTeX's \cline serious deficiencies for complex grid
  tables

  This commit corrects \cline badly impacting vertical spacing and
  making tables look even more cramped as they usually are in LaTeX
  (although one sees it clearly only with \arrarrulewidth a bit more
  than the LaTeX default of 0.4pt).

  Most importantly this commit solves the problem that \cline's got
  masked by colour panels from the row below.

- Update CHANGES for PR #10759

- Improve documentation of new latex_table_style regarding colours
2022-10-12 17:15:40 +02:00
Martin Patz
3e29abf8de Add debug logging to autosectionlabel (#10881)
Co-authored-by: Martin Patz <martin@recogni.com>
2022-10-04 15:25:06 +01:00
Martin Liška
0a91adb64d Extend cross referencing options with values (#10883)
This change means that text following `=`, `[=`, or ` ` is ignored when
searching for a corresponding option directive to an option cross reference
role. These are commonly used options, for example `--profile=path`, 
`--profile[=path]` or `--profile path`.

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2022-10-02 15:50:53 +01:00
Adam Turner
63dea6172a Merge branch '5.x'
# Conflicts:
#	sphinx/locale/__init__.py
2022-09-30 16:15:24 +01:00
Adam Turner
2906071198 Merge branch '5.2.x' into 5.x
# Conflicts:
#	CHANGES
#	sphinx/__init__.py
2022-09-30 16:13:11 +01:00
Adam Turner
650f63b9f7 Finer grained control over domain ToC entries (#10886)
- Implement `:nocontentsentry:` flag
- Use `:nocontentsentry:` in docs
- Add domain object table of contents configuration option
2022-09-30 10:31:58 +01:00
Martin Liska
29e6adab12 extend option directive syntax
One can cross-reference an option value: :option:`--module=foobar`.
2022-09-27 19:02:45 +01:00
Adam Turner
4660b62de0 Drop Python 3.7 2022-09-27 18:31:47 +01:00