2020-05-30 09:08:50 -05:00
|
|
|
======================
|
|
|
|
Contributing to Sphinx
|
|
|
|
======================
|
2016-12-17 09:10:40 -06:00
|
|
|
|
2020-05-30 09:08:50 -05:00
|
|
|
There are many ways you can contribute to Sphinx, be it filing bug reports or
|
|
|
|
feature requests, writing new documentation or submitting patches for new or
|
|
|
|
fixed behavior. This guide serves to illustrate how you can get started with
|
|
|
|
this.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
|
2022-07-18 16:48:28 -05:00
|
|
|
Get help
|
|
|
|
--------
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2020-05-30 09:08:50 -05:00
|
|
|
The Sphinx community maintains a number of mailing lists and IRC channels.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2020-08-15 06:22:22 -05:00
|
|
|
Stack Overflow with tag `python-sphinx`_
|
|
|
|
Questions and answers about use and development.
|
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
`GitHub Discussions Q&A`__
|
|
|
|
Question-and-answer style forum for discussions.
|
|
|
|
|
|
|
|
__ https://github.com/orgs/sphinx-doc/discussions/categories/q-a
|
|
|
|
|
2016-12-16 09:52:11 -06:00
|
|
|
sphinx-users <sphinx-users@googlegroups.com>
|
|
|
|
Mailing list for user support.
|
|
|
|
|
|
|
|
sphinx-dev <sphinx-dev@googlegroups.com>
|
|
|
|
Mailing list for development related discussions.
|
|
|
|
|
2021-06-01 05:09:19 -05:00
|
|
|
#sphinx-doc on irc.libera.chat
|
2016-12-16 09:52:11 -06:00
|
|
|
IRC channel for development questions and user support.
|
|
|
|
|
2020-08-15 06:22:22 -05:00
|
|
|
.. _python-sphinx: https://stackoverflow.com/questions/tagged/python-sphinx
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
|
2016-12-16 09:52:11 -06:00
|
|
|
Bug Reports and Feature Requests
|
|
|
|
--------------------------------
|
|
|
|
|
|
|
|
If you have encountered a problem with Sphinx or have an idea for a new
|
2024-07-24 09:03:10 -05:00
|
|
|
feature, please submit it to the `issue tracker`_ on GitHub.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
|
|
|
For bug reports, please include the output produced during the build process
|
2017-10-03 04:00:40 -05:00
|
|
|
and also the log file Sphinx creates after it encounters an unhandled
|
2024-07-24 09:03:10 -05:00
|
|
|
exception.
|
|
|
|
The location of this file should be shown towards the end of the error message.
|
|
|
|
Please also include the output of :program:`sphinx-build --bug-report`.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
|
|
|
Including or providing a link to the source files involved may help us fix the
|
|
|
|
issue. If possible, try to create a minimal project that produces the error
|
|
|
|
and post that instead.
|
|
|
|
|
|
|
|
.. _`issue tracker`: https://github.com/sphinx-doc/sphinx/issues
|
|
|
|
|
|
|
|
|
2022-07-18 16:48:28 -05:00
|
|
|
Contribute code
|
|
|
|
---------------
|
2020-05-30 09:08:50 -05:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
The Sphinx source code is managed using Git and is `hosted on GitHub`_. The
|
2020-05-30 09:08:50 -05:00
|
|
|
recommended way for new contributors to submit code to Sphinx is to fork this
|
|
|
|
repository and submit a pull request after committing changes to their fork.
|
|
|
|
The pull request will then need to be approved by one of the core developers
|
|
|
|
before it is merged into the main repository.
|
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
.. _hosted on GitHub: https://github.com/sphinx-doc/sphinx
|
|
|
|
|
2020-05-30 09:08:50 -05:00
|
|
|
|
2022-07-18 16:48:28 -05:00
|
|
|
.. _contribute-get-started:
|
|
|
|
|
2020-05-30 09:08:50 -05:00
|
|
|
Getting started
|
2016-12-16 09:52:11 -06:00
|
|
|
~~~~~~~~~~~~~~~
|
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
Before starting on a patch, we recommend checking for open issues
|
|
|
|
or opening a fresh issue to start a discussion around a feature idea or a bug.
|
|
|
|
If you feel uncomfortable or uncertain about an issue or your changes,
|
|
|
|
feel free to `start a discussion`_.
|
|
|
|
|
|
|
|
.. _start a discussion: https://github.com/orgs/sphinx-doc/discussions/
|
2020-05-30 09:08:50 -05:00
|
|
|
|
2016-12-16 09:52:11 -06:00
|
|
|
These are the basic steps needed to start developing on Sphinx.
|
|
|
|
|
2017-04-18 23:08:36 -05:00
|
|
|
#. Create an account on GitHub.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
#. Fork_ the main Sphinx repository (`sphinx-doc/sphinx`_)
|
|
|
|
using the GitHub interface.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
.. _Fork: https://github.com/sphinx-doc/sphinx/fork
|
|
|
|
.. _sphinx-doc/sphinx: https://github.com/sphinx-doc/sphinx
|
2019-01-12 07:22:42 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
#. Clone the forked repository to your machine.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
.. code-block:: shell
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
git clone https://github.com/<USERNAME>/sphinx
|
|
|
|
cd sphinx
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2017-10-03 04:00:40 -05:00
|
|
|
#. Setup a virtual environment.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
This is not necessary for unit testing, thanks to :program:`tox`,
|
|
|
|
but it is necessary if you wish to run :program:`sphinx-build` locally
|
|
|
|
or run unit tests without the help of :program:`tox`:
|
|
|
|
|
|
|
|
.. code-block:: shell
|
2017-10-03 04:00:40 -05:00
|
|
|
|
|
|
|
virtualenv ~/.venv
|
|
|
|
. ~/.venv/bin/activate
|
2016-12-16 09:52:11 -06:00
|
|
|
pip install -e .
|
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
#. Create a new working branch. Choose any name you like.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
.. code-block:: shell
|
|
|
|
|
|
|
|
git switch -c feature-xyz
|
2016-12-16 09:52:11 -06:00
|
|
|
|
|
|
|
#. Hack, hack, hack.
|
|
|
|
|
2020-05-30 09:08:50 -05:00
|
|
|
Write your code along with tests that shows that the bug was fixed or that
|
|
|
|
the feature works as expected.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2023-09-14 05:08:17 -05:00
|
|
|
#. Add a bullet point to :file:`CHANGES.rst` if the fix or feature is not trivial
|
2024-07-24 09:03:10 -05:00
|
|
|
(small doc updates, typo fixes), then commit:
|
|
|
|
|
|
|
|
.. code-block:: shell
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
git commit -m '#42: Add useful new feature that does this.'
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2017-04-18 23:08:36 -05:00
|
|
|
GitHub recognizes certain phrases that can be used to automatically
|
2024-07-24 09:03:10 -05:00
|
|
|
update the issue tracker. For example:
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
.. code-block:: shell
|
|
|
|
|
|
|
|
git commit -m 'Closes #42: Fix invalid markup in docstring of Foo.bar.'
|
2016-12-16 09:52:11 -06:00
|
|
|
|
|
|
|
would close issue #42.
|
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
#. Push changes in the branch to your forked repository on GitHub:
|
|
|
|
|
|
|
|
.. code-block:: shell
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
git push origin feature-xyz
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
#. Submit a pull request from your branch to the ``master`` branch.
|
|
|
|
|
|
|
|
#. Wait for a core developer or contributor to review your changes.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
|
|
|
|
2020-05-30 09:08:50 -05:00
|
|
|
Coding style
|
2020-03-28 08:37:22 -05:00
|
|
|
~~~~~~~~~~~~
|
|
|
|
|
2020-05-30 09:08:50 -05:00
|
|
|
Please follow these guidelines when writing code for Sphinx:
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2020-10-05 08:16:56 -05:00
|
|
|
* Try to use the same code style as used in the rest of the project.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
* For non-trivial changes, please update the :file:`CHANGES.rst` file.
|
|
|
|
If your changes alter existing behavior, please document this.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
* New features should be documented.
|
|
|
|
Include examples and use cases where appropriate.
|
|
|
|
If possible, include a sample that is displayed in the generated output.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
* When adding a new configuration variable,
|
|
|
|
be sure to :doc:`document it </usage/configuration>`
|
|
|
|
and update :file:`sphinx/cmd/quickstart.py` if it's important enough.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
|
|
|
* Add appropriate unit tests.
|
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
Style and type checks can be run as follows:
|
|
|
|
|
|
|
|
.. code-block:: shell
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-05-14 21:21:11 -05:00
|
|
|
ruff check .
|
2024-07-24 09:03:10 -05:00
|
|
|
mypy
|
|
|
|
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2020-05-30 09:08:50 -05:00
|
|
|
Unit tests
|
|
|
|
~~~~~~~~~~
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-08-09 18:18:27 -05:00
|
|
|
Sphinx is tested using pytest_ for Python code and Jasmine_ for JavaScript.
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
.. _pytest: https://docs.pytest.org/en/latest/
|
2024-08-09 18:18:27 -05:00
|
|
|
.. _Jasmine: https://jasmine.github.io/
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
To run Python unit tests, we recommend using :program:`tox`, which provides a number
|
2020-05-30 09:08:50 -05:00
|
|
|
of targets and allows testing against multiple different Python environments:
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
* To list all possible targets:
|
|
|
|
|
|
|
|
.. code-block:: shell
|
|
|
|
|
|
|
|
tox -av
|
|
|
|
|
|
|
|
* To run unit tests for a specific Python version, such as Python 3.12:
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
.. code-block:: shell
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
tox -e py312
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
* Arguments to :program:`pytest` can be passed via :program:`tox`,
|
|
|
|
e.g., in order to run a particular test:
|
2016-12-16 09:52:11 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
.. code-block:: shell
|
2018-02-06 08:38:46 -06:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
tox -e py312 tests/test_module.py::test_new_feature
|
2017-05-07 02:46:44 -05:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
You can also test by installing dependencies in your local environment:
|
2017-05-07 02:46:44 -05:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
.. code-block:: shell
|
2017-05-07 02:46:44 -05:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
pip install .[test]
|
2017-05-07 02:46:44 -05:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
To run JavaScript tests, use :program:`npm`:
|
2017-05-07 02:46:44 -05:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
.. code-block:: shell
|
2017-05-07 02:46:44 -05:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
npm install
|
|
|
|
npm run test
|
2017-05-07 02:46:44 -05:00
|
|
|
|
2024-03-20 15:55:34 -05:00
|
|
|
.. tip::
|
|
|
|
|
2024-08-09 18:18:27 -05:00
|
|
|
:program:`jasmine` requires a Firefox binary to use as a test browser.
|
2024-03-20 15:55:34 -05:00
|
|
|
|
2024-08-09 18:18:27 -05:00
|
|
|
On Unix systems, you can check the presence and location of the ``firefox``
|
|
|
|
binary at the command-line by running ``command -v firefox``.
|
2024-07-24 09:03:10 -05:00
|
|
|
|
|
|
|
New unit tests should be included in the :file:`tests/` directory where necessary:
|
2020-05-30 09:08:50 -05:00
|
|
|
|
|
|
|
* For bug fixes, first add a test that fails without your changes and passes
|
|
|
|
after they are applied.
|
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
* Tests that need a :program:`sphinx-build` run should be integrated in one of the
|
|
|
|
existing test modules if possible.
|
|
|
|
|
|
|
|
* Tests should be quick and only test the relevant components, as we aim that
|
|
|
|
*the test suite should not take more than a minute to run*.
|
|
|
|
In general, avoid using the ``app`` fixture and ``app.build()``
|
|
|
|
unless a full integration test is required.
|
2018-07-22 13:20:32 -05:00
|
|
|
|
|
|
|
.. versionadded:: 1.8
|
2020-05-30 09:08:50 -05:00
|
|
|
|
2018-07-22 13:20:32 -05:00
|
|
|
Sphinx also runs JavaScript tests.
|
2020-03-28 08:37:22 -05:00
|
|
|
|
2020-05-30 09:08:50 -05:00
|
|
|
.. versionchanged:: 1.5.2
|
|
|
|
Sphinx was switched from nose to pytest.
|
2020-03-28 08:37:22 -05:00
|
|
|
|
2020-05-30 09:08:50 -05:00
|
|
|
|
2022-07-18 16:48:28 -05:00
|
|
|
Contribute documentation
|
|
|
|
------------------------
|
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
Contributing to documentation involves modifying the source files
|
|
|
|
found in the :file:`doc/` folder.
|
|
|
|
To get started, you should first follow :ref:`contribute-get-started`,
|
2022-07-18 16:48:28 -05:00
|
|
|
and then take the steps below to work with the documentation.
|
|
|
|
|
|
|
|
The following sections describe how to get started with contributing
|
|
|
|
documentation, as well as key aspects of a few different tools that we use.
|
2020-05-30 09:08:50 -05:00
|
|
|
|
|
|
|
.. todo:: Add a more extensive documentation contribution guide.
|
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
|
2022-07-18 16:48:28 -05:00
|
|
|
Build the documentation
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
To build the documentation, run the following command:
|
2022-07-18 16:48:28 -05:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
.. code-block:: shell
|
|
|
|
|
2024-08-13 11:12:42 -05:00
|
|
|
sphinx-build -M html ./doc ./build/sphinx --fail-on-warning
|
2020-05-30 09:08:50 -05:00
|
|
|
|
2022-07-18 16:48:28 -05:00
|
|
|
This will parse the Sphinx documentation's source files and generate HTML for
|
2024-07-24 09:03:10 -05:00
|
|
|
you to preview in :file:`build/sphinx/html`.
|
2022-07-18 16:48:28 -05:00
|
|
|
|
|
|
|
You can also build a **live version of the documentation** that you can preview
|
|
|
|
in the browser. It will detect changes and reload the page any time you make
|
2024-07-24 09:03:10 -05:00
|
|
|
edits. To do so, run the following command:
|
|
|
|
|
|
|
|
.. code-block:: shell
|
|
|
|
|
|
|
|
sphinx-autobuild ./doc ./build/sphinx/
|
2022-07-18 16:48:28 -05:00
|
|
|
|
|
|
|
|
2020-05-30 09:08:50 -05:00
|
|
|
Translations
|
|
|
|
~~~~~~~~~~~~
|
2020-03-28 08:37:22 -05:00
|
|
|
|
|
|
|
The parts of messages in Sphinx that go into builds are translated into several
|
|
|
|
locales. The translations are kept as gettext ``.po`` files translated from the
|
|
|
|
master template :file:`sphinx/locale/sphinx.pot`.
|
|
|
|
|
2021-05-16 08:16:09 -05:00
|
|
|
Sphinx uses `Babel <https://babel.pocoo.org/en/latest/>`_ to extract messages
|
2024-07-24 09:03:10 -05:00
|
|
|
and maintain the catalog files. The :file:`utils` directory contains a helper
|
2022-04-16 14:58:59 -05:00
|
|
|
script, ``babel_runner.py``.
|
2020-03-28 08:37:22 -05:00
|
|
|
|
2022-04-16 14:58:59 -05:00
|
|
|
* Use ``python babel_runner.py extract`` to update the ``.pot`` template.
|
|
|
|
* Use ``python babel_runner.py update`` to update all existing language
|
2020-03-28 08:37:22 -05:00
|
|
|
catalogs in ``sphinx/locale/*/LC_MESSAGES`` with the current messages in the
|
|
|
|
template file.
|
2022-04-16 14:58:59 -05:00
|
|
|
* Use ``python babel_runner.py compile`` to compile the ``.po`` files to binary
|
2020-03-28 08:37:22 -05:00
|
|
|
``.mo`` files and ``.js`` files.
|
|
|
|
|
2022-04-16 14:58:59 -05:00
|
|
|
When an updated ``.po`` file is submitted, run
|
|
|
|
``python babel_runner.py compile`` to commit both the source and the compiled
|
|
|
|
catalogs.
|
2020-03-28 08:37:22 -05:00
|
|
|
|
|
|
|
When a new locale is submitted, add a new directory with the ISO 639-1 language
|
|
|
|
identifier and put ``sphinx.po`` in there. Don't forget to update the possible
|
2024-07-24 09:03:10 -05:00
|
|
|
values for :confval:`language` in :file:`doc/usage/configuration.rst`.
|
2020-03-28 08:37:22 -05:00
|
|
|
|
|
|
|
The Sphinx core messages can also be translated on `Transifex
|
2020-11-05 08:52:59 -06:00
|
|
|
<https://www.transifex.com/sphinx-doc/sphinx-1/>`_. There ``tx`` client tool,
|
|
|
|
which is provided by the ``transifex_client`` Python package, can be used to
|
|
|
|
pull translations in ``.po`` format from Transifex. To do this, go to
|
2024-07-24 09:03:10 -05:00
|
|
|
:file:`sphinx/locale` and then run ``tx pull -f -l LANG`` where ``LANG`` is an
|
2022-04-16 14:58:59 -05:00
|
|
|
existing language identifier. It is good practice to run
|
|
|
|
``python babel_runner.py update`` afterwards to make sure the ``.po`` file has the
|
|
|
|
canonical Babel formatting.
|
2020-05-30 09:08:50 -05:00
|
|
|
|
|
|
|
|
|
|
|
Debugging tips
|
|
|
|
--------------
|
|
|
|
|
|
|
|
* Delete the build cache before building documents if you make changes in the
|
|
|
|
code by running the command ``make clean`` or using the
|
2024-07-24 09:03:10 -05:00
|
|
|
:option:`sphinx-build --fresh-env` option.
|
2020-05-30 09:08:50 -05:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
* Use the :option:`sphinx-build --pdb` option to run ``pdb`` on exceptions.
|
2020-05-30 09:08:50 -05:00
|
|
|
|
|
|
|
* Use ``node.pformat()`` and ``node.asdom().toxml()`` to generate a printable
|
|
|
|
representation of the document structure.
|
|
|
|
|
|
|
|
* Set the configuration variable :confval:`keep_warnings` to ``True`` so
|
|
|
|
warnings will be displayed in the generated output.
|
|
|
|
|
|
|
|
* Set the configuration variable :confval:`nitpicky` to ``True`` so that Sphinx
|
|
|
|
will complain about references without a known target.
|
|
|
|
|
|
|
|
* Set the debugging options in the `Docutils configuration file
|
2021-05-16 07:42:26 -05:00
|
|
|
<https://docutils.sourceforge.io/docs/user/config.html>`_.
|
2020-05-30 09:08:50 -05:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
|
|
|
|
Updating generated files
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
* JavaScript stemming algorithms in :file:`sphinx/search/non-minified-js/*.js`
|
2022-10-23 19:07:05 -05:00
|
|
|
are generated using `snowball <https://github.com/snowballstem/snowball>`_
|
|
|
|
by cloning the repository, executing ``make dist_libstemmer_js`` and then
|
2024-07-24 09:03:10 -05:00
|
|
|
unpacking the tarball which is generated in :file:`dist` directory.
|
2022-10-23 19:07:05 -05:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
Minified files in :file:`sphinx/search/minified-js/*.js` are generated from
|
|
|
|
non-minified ones using :program:`uglifyjs` (installed via npm), with ``-m``
|
2022-10-23 19:07:05 -05:00
|
|
|
option to enable mangling.
|
2024-06-13 06:07:46 -05:00
|
|
|
|
2024-07-24 09:03:10 -05:00
|
|
|
* The :file:`searchindex.js` files found in
|
|
|
|
the :file:`tests/js/fixtures/*` directories
|
|
|
|
are generated by using the standard Sphinx HTML builder
|
|
|
|
on the corresponding input projects found in :file:`tests/js/roots/*`.
|
|
|
|
The fixtures provide test data used by the Sphinx JavaScript unit tests,
|
|
|
|
and can be regenerated by running
|
|
|
|
the :file:`utils/generate_js_fixtures.py` script.
|