mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Use `pyproject.toml
entry points rather than
setup.py
`
This commit is contained in:
parent
71d3eaee75
commit
909f93c7ec
@ -10,23 +10,17 @@ Discover builders by entry point
|
||||
that they do not have to be listed in the :confval:`extensions` configuration
|
||||
value.
|
||||
|
||||
Builder extensions should define an entry point in the ``sphinx.builders``
|
||||
Builder extensions should define an entry point in the ``"sphinx.builders"``
|
||||
group. The name of the entry point needs to match your builder's
|
||||
:attr:`~.Builder.name` attribute, which is the name passed to the
|
||||
:option:`sphinx-build -b` option. The entry point value should equal the
|
||||
dotted name of the extension module. Here is an example of how an entry point
|
||||
for 'mybuilder' can be defined in the extension's ``setup.py``
|
||||
for 'mybuilder' can be defined in the extension's ``pyproject.toml``
|
||||
|
||||
.. code-block:: python
|
||||
.. code-block:: toml
|
||||
|
||||
setup(
|
||||
# ...
|
||||
entry_points={
|
||||
'sphinx.builders': [
|
||||
'mybuilder = my.extension.module',
|
||||
],
|
||||
}
|
||||
)
|
||||
[project.entry-points."sphinx.builders"]
|
||||
mybuilder = "my.extension.module"
|
||||
|
||||
Note that it is still necessary to register the builder using
|
||||
:meth:`~.Sphinx.add_builder` in the extension's :func:`setup` function.
|
||||
|
@ -95,21 +95,20 @@ As a way to distribute your theme, you can use a Python package. This makes it
|
||||
easier for users to set up your theme.
|
||||
|
||||
To distribute your theme as a Python package, please define an entry point
|
||||
called ``sphinx.html_themes`` in your ``setup.py`` file, and write a ``setup()``
|
||||
function to register your themes using ``add_html_theme()`` API in it::
|
||||
called ``sphinx.html_themes`` in your ``pyproject.toml`` file,
|
||||
and write a ``setup()`` function to register your theme
|
||||
using the :meth:`~sphinx.application.Sphinx.add_html_theme` API:
|
||||
|
||||
# 'setup.py'
|
||||
setup(
|
||||
...
|
||||
entry_points = {
|
||||
'sphinx.html_themes': [
|
||||
'name_of_theme = your_package',
|
||||
]
|
||||
},
|
||||
...
|
||||
)
|
||||
.. code-block:: toml
|
||||
|
||||
# 'your_package.py'
|
||||
# pyproject.toml
|
||||
|
||||
[project.entry-points."sphinx.html_themes"]
|
||||
name_of_theme = "your_theme_package"
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
# your_theme_package.py
|
||||
from os import path
|
||||
|
||||
def setup(app):
|
||||
|
Loading…
Reference in New Issue
Block a user