Commit Graph

3859 Commits

Author SHA1 Message Date
Adam Turner
3456ff3ca3 Add all admonitions to `directives.rst` (#12572)
Also improve documentation for the *versionchanged* directives.
2024-07-15 02:26:05 +01:00
Adam Turner
0f38c9c15d Emend various spelling errors 2024-07-15 02:16:34 +01:00
Adam Turner
7b570c06a1 Standardise on a common directive for describing code snippets 2024-07-15 02:15:52 +01:00
Adam Turner
1252c7b549 Use "rst" consistently for code and highlighting directives 2024-07-15 02:15:52 +01:00
Adam Turner
f2640a4286 Standardise on "reStructuredText" over "reST" in documentation 2024-07-15 02:15:52 +01:00
Adam Turner
26576590ed Make the domain referencing role targets more specific 2024-07-15 01:59:42 +01:00
Tim Hoffmann
00758033d3 [docs] CSS style improvements (#12546)
- increase paragraph line-height to 1.5
- Adapt the border color for all warning/error like admonitions
2024-07-14 08:02:02 +02:00
Chris Sewell
cbf0b8e419 [docs] fix changelog include (#12564)
Use `include-read` instead of `source-read` for special content transform. 
In-particular, this fixes an issue that `docs/changes.rst` would not re-build, when `CHANGES.rst` was changed.
2024-07-14 06:35:35 +02: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
Jean-François B
aa6dac81ec LaTeX: Revamp the styling of all admonitions (#12508)
In LaTeX output, all admonitions now also have a title row with icon.

The ``xcolor`` LaTeX package is now required and the ``fontawesome5`` LaTeX package is needed for the icons.
2024-07-13 17:33:22 +01:00
Jean-François B
e49e2933bb LaTeX: Use the babel LaTeX package by default for 'lualatex' with French (#12557)
Previously ``polyglossia`` was used by default.
2024-07-13 09:02:43 +01:00
Adam Turner
3b19a7b4ba Add missing `docutils` warning type in the documentation 2024-07-13 07:16:58 +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
Rafael Fontenelle
9234d0b08d Add missing backtick to close literal role in configuration.rst (#12547) 2024-07-11 21:29:52 +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
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
Adam Turner
a4de250b5a Add a new `confval` directive to document settings and configuration values (#12536) 2024-07-10 20:44:16 +01:00
Adam Turner
bf2e2301e9 Prefer 'nitpicky' to 'nit-picky' (#12532) 2024-07-10 18:24:03 +00: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
Tim Hoffmann
57bf4dd9f7 Fix the reference to Python as a user of Sphinx (#12509) 2024-07-04 01:31:33 +01:00
Adam Turner
b5b383fd47 Rewrite the "Docutils markup API" page (#12505) 2024-07-03 02:09:15 +01:00
Adam Turner
1887df0b5c Add reStructuredText parsing functions to `SphinxDirective` (#12492) 2024-07-02 22:14:19 +01:00
Adam Turner
d2f1acc0ca Simplify `Tags` (#12490)
- Use a set to store the list of tags
- Cache evaluated expressions
- Extract locally-defined function into a private method
2024-06-29 10:21:23 +01:00
Ondřej Navrátil
3b3a7d911b [toctree] Adding warning type/subtype toc.no_title (#12479)
Add warning type and subtype to warning generated in toctree
2024-06-27 23:34:46 +02:00
James Addison
751e9162c0 [maintenance] self-linkcheck the Sphinx documentation. (#12487)
Fixups for a few broken links in the Sphinx documentation, as found using the `linkcheck` builder.
2024-06-27 23:32:50 +02:00
Chris Sewell
953c0097ef [docs] add icons to admonition titles (#12486)
and also replace ad-hoc "more" icon in quickstart, with using `seealso` admonition
2024-06-27 23:06:52 +02:00
Chris Sewell
d130c2e710 [docs] Improve tutorials (#12473)
This commit make it clearer, from the filenames and titles,
what the extension tutorials are intended to teach.
2024-06-27 22:30:03 +02:00
Chris Sewell
0b5fd6289d [docs] Improve contents title style (#12485) 2024-06-27 21:31:15 +02:00
Chris Sewell
ad6f659eb2 [docs] Add Previous/Next links after content (#12466) 2024-06-27 14:58:50 +02:00
EcaleD
f85f50e526 [DOCS] Fix typo (#12476) 2024-06-25 12:18:34 +02:00
Tim Hoffmann
a53a758d40 DOC: Rewrite installation instructions (#12458)
- Put pip and conda as the most common options first
- Don't distinguish Linux / Windows in the pip commands.
- Replace the venv instructions by a general tip to use environments and link out for details.
- Collect all OS-specific package manager in one section
- Remove the "Windows - Other methods" secion. 
- Move latest development release to a separate entry. 

Co-authored-by: Chris Sewell <chrisj_sewell@hotmail.com>
2024-06-25 12:17:55 +02: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
Rafael Fontenelle
2ccae70089 [docs] Fix typos in autodoc.rst (#12469) 2024-06-24 14:48:54 +02:00
Chris Sewell
53119133f2 [docs] Keep top-bar visible (#12464)
This commit ensures the top-bar is always visible, rather than being hidden on scrolling or navigating to a target.
2024-06-23 00:19:43 +02:00
Tim Hoffmann
be92d6545a DOC: Reduce horizontal padding on small screens (#12465)
Maximize used horizontal space when the screen is small.
2024-06-23 00:04:52 +02:00
Chris Sewell
a1bb165685 [docs] Add Github repo icon-link to topbar (#12462)
Add a link to sphinx-doc/sphinx, via an icon on the right of the top-bar
2024-06-22 20:48:18 +02:00
Chris Sewell
bcf32428c8 [docs] Improve sidebar (#12461)
- Remove "Site navigation" header
  - this is already contextually clear (especially since separators were added in #12439)
- Hide "On this page" if `display_toc is False`
- Format "On this page" header similar to top-level site-nav sections
2024-06-22 15:32:06 +02:00
Chris Sewell
c5bd2d42c5 [docs] improve RTD version selector (#12460)
ensure the border-radius is applied correctly
2024-06-22 14:50:38 +02:00
Chris Sewell
93e4eea307 [docs] Style ReadTheDocs version selector (#12457)
Style the ReadTheDocs version selector
(see https://docs.readthedocs.io/en/stable/flyout-menu.html)
inline with the rest of the theme.
2024-06-21 20:46:19 +02:00
Chris Sewell
8f97fd276a [docs] Improve landing page (#12453)
This commit is intended to improve new user's first-interaction with the Sphinx site:

- Make page header icon/text smaller and not capitalized
- Give min-width to left sidebar (it was getting too small at certain window sizes)
- Replace features list on landing page with admonition boxes, with adaptive layout
- Add landing page "used by" section
- Slightly restructure the Extension section, into Tutorials and How-tos
- Add code to `conf.py` to write HTML write redirect pages for moved documents
- Improve support page, by adding link to Stackoverflow, GH discussion and ReadtheDocs,
  and remove defunct link to libera chat and matplotlib tutorial
2024-06-21 20:12:57 +02: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
Nicolas Peugnet
f5eb0b2df1 [docs] Fix horizontal overflow in theme header (#12455) 2024-06-21 16:01:13 +02:00
Chris Sewell
11abfb90ba [docs] Update changelog (#12454)
Some additions to the changelog,
that were not added in the relevant PRs.
2024-06-21 15:48:59 +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
Chris Sewell
0e3f5b4ab2 [DOCS] Improve events (#12446)
Split the events callback API into a separate document, add a flow graph of the events within the build process, add parameters to the events,
and link the `EnvironmentCollector` docs to the relevant events.

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-06-20 10:40:22 +02:00
Chris Sewell
13b16c9b04 DOCS: hide todo admonitions on RTD (#12442)
`todo` admonitions should not be present in the user-facing documentation (built on ReadTheDocs)
2024-06-19 15:15:31 +02:00
Chris Sewell
37ff33dff7 [builder] type Builder core methods with @final and improve docs (#12436)
This commit:

- annotates the `Builder`'s "core" methods, with [`final`](https://docs.python.org/3/library/typing.html#typing.final)
- adds a UML graph to the Builder API docs
- Adds more methods to the Builder API docs

to make it clearer for extension developers, what is expected from a new builder subclass.
2024-06-19 14:51:20 +02:00