Commit Graph

3847 Commits

Author SHA1 Message Date
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
Tim Hoffmann
e30430d2ba DOC: Improve internal sphinx13 style (#12439)
This commit adds a few changes to the theme to make it more readable and visually more appealing. In particular:

- Slightly increase the font weight of headings (300 --> 400).
- Adapt the color of the search box border to sphinx-blue.
- Add horizontal bars between the components of the side bar. 
- Re-style admonitions to use colored title backgrounds.
2024-06-19 00:44:44 +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
Tim Hoffmann
1e77e6bc9a DOC: Move autodoc setup/usage to extension docs (#12435)
Leaving just the link in the quickstart guide
2024-06-17 11:58:55 +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
Tim Hoffmann
4fbd3682d5 DOC: Add autodoc section "Ensuring the code can be imported" (#12426)
This explains the requirements for importablilty (can be found and dependencies can be resolved). It also explains two common approaches how this can be achieved.
2024-06-12 11:43:33 +02:00
Rafael Fontenelle
da076d1854 DOCS: Improve Internationalization guide (#12377)
Documentation needs to mention the new Transifex CLI tool instead of the deprecated transifex-client

Co-authored-by: Chris Sewell <chrisj_sewell@hotmail.com>
2024-06-07 12:30:01 +02:00
Rafael Fontenelle
20ec3bd69d [docs] fix a typo in `markupapi.rst` (#12413) 2024-06-06 12:52:31 +02:00
Jean-François B
b90482fc81 LaTeX: fix docs for `'babel' key of latex_elements` (#12411)
This fixes the documentation which was faulty since v1.7.6, but #12410 is left open until a decision is taken.
2024-06-05 12:52:35 +02:00
Dimitri Papadopoulos Orfanos
53c31f77b6 🔧 Apply ruff rule ISC001 (#12401) 2024-06-03 08:35:48 +02:00
Nicolas Peugnet
90574bc966 [patch] fix undefined label after readthedocs update (#12395) 2024-05-29 12:32:26 +02:00
Hugo van Kemenade
c06f246124 sphinx.ext.extlinks: Add extlink-{name} CSS class to links (#12319) 2024-05-15 04:21:11 +02:00
Rafael Fontenelle
c64002f1bd DOCS: Add sphinx-build --jobs default value (#12368) 2024-05-15 03:40:33 +02:00