2014-01-20 10:21:44 -06:00
|
|
|
.. _dev-extensions:
|
|
|
|
|
|
|
|
Developing extensions for Sphinx
|
|
|
|
================================
|
|
|
|
|
|
|
|
Since many projects will need special features in their documentation, Sphinx is
|
|
|
|
designed to be extensible on several levels.
|
|
|
|
|
|
|
|
This is what you can do in an extension: First, you can add new
|
|
|
|
:term:`builder`\s to support new output formats or actions on the parsed
|
|
|
|
documents. Then, it is possible to register custom reStructuredText roles and
|
|
|
|
directives, extending the markup. And finally, there are so-called "hook
|
|
|
|
points" at strategic places throughout the build process, where an extension can
|
|
|
|
register a hook and run specialized code.
|
|
|
|
|
|
|
|
An extension is simply a Python module. When an extension is loaded, Sphinx
|
|
|
|
imports this module and executes its ``setup()`` function, which in turn
|
|
|
|
notifies Sphinx of everything the extension offers -- see the extension tutorial
|
|
|
|
for examples.
|
|
|
|
|
|
|
|
The configuration file itself can be treated as an extension if it contains a
|
|
|
|
``setup()`` function. All other extensions to load must be listed in the
|
|
|
|
:confval:`extensions` configuration value.
|
|
|
|
|
2016-07-20 12:41:54 -05:00
|
|
|
Discovery of builders by entry point
|
|
|
|
------------------------------------
|
|
|
|
|
|
|
|
.. versionadded:: 1.6
|
|
|
|
|
|
|
|
:term:`Builder` extensions can be discovered by means of `entry points`_ so
|
2017-04-14 04:01:09 -05:00
|
|
|
that they do not have to be listed in the :confval:`extensions` configuration
|
|
|
|
value.
|
2016-07-20 12:41:54 -05:00
|
|
|
|
2017-04-14 04:01:09 -05:00
|
|
|
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``::
|
2016-07-20 12:41:54 -05:00
|
|
|
|
|
|
|
setup(
|
|
|
|
# ...
|
|
|
|
entry_points={
|
|
|
|
'sphinx.builders': [
|
2017-04-14 04:01:09 -05:00
|
|
|
'mybuilder = my.extension.module',
|
2016-07-20 12:41:54 -05:00
|
|
|
],
|
|
|
|
}
|
|
|
|
)
|
|
|
|
|
2017-04-14 04:01:09 -05:00
|
|
|
Note that it is still necessary to register the builder using
|
|
|
|
:meth:`~.Sphinx.add_builder` in the extension's :func:`setup` function.
|
2016-07-20 12:41:54 -05:00
|
|
|
|
|
|
|
.. _entry points: https://setuptools.readthedocs.io/en/latest/setuptools.html#dynamic-discovery-of-services-and-plugins
|
|
|
|
|
2018-01-24 06:37:54 -06:00
|
|
|
.. _ext-metadata:
|
|
|
|
|
2014-09-22 04:06:42 -05:00
|
|
|
Extension metadata
|
|
|
|
------------------
|
|
|
|
|
|
|
|
.. versionadded:: 1.3
|
|
|
|
|
|
|
|
The ``setup()`` function can return a dictionary. This is treated by Sphinx
|
|
|
|
as metadata of the extension. Metadata keys currently recognized are:
|
|
|
|
|
|
|
|
* ``'version'``: a string that identifies the extension version. It is used for
|
|
|
|
extension version requirement checking (see :confval:`needs_extensions`) and
|
|
|
|
informational purposes. If not given, ``"unknown version"`` is substituted.
|
2018-01-24 06:37:54 -06:00
|
|
|
* ``'env_version'``: an integer that identifies the version of env data
|
|
|
|
structure if the extension stores any data to environment. It is used to
|
|
|
|
detect the data structure has been changed from last build. The extensions
|
|
|
|
have to increment the version when data structure has changed. If not given,
|
|
|
|
Sphinx considers the extension does not stores any data to environment.
|
2014-09-22 07:51:47 -05:00
|
|
|
* ``'parallel_read_safe'``: a boolean that specifies if parallel reading of
|
|
|
|
source files can be used when the extension is loaded. It defaults to
|
|
|
|
``False``, i.e. you have to explicitly specify your extension to be
|
|
|
|
parallel-read-safe after checking that it is.
|
|
|
|
* ``'parallel_write_safe'``: a boolean that specifies if parallel writing of
|
|
|
|
output files can be used when the extension is loaded. Since extensions
|
|
|
|
usually don't negatively influence the process, this defaults to ``True``.
|
2014-09-22 04:06:42 -05:00
|
|
|
|
|
|
|
APIs used for writing extensions
|
|
|
|
--------------------------------
|
|
|
|
|
2014-01-20 10:21:44 -06:00
|
|
|
.. toctree::
|
|
|
|
|
|
|
|
tutorial
|
|
|
|
appapi
|
|
|
|
envapi
|
|
|
|
builderapi
|
2017-01-21 09:04:11 -06:00
|
|
|
collectorapi
|
2014-01-20 10:21:44 -06:00
|
|
|
markupapi
|
|
|
|
domainapi
|
2016-01-02 01:38:17 -06:00
|
|
|
parserapi
|
2014-01-20 10:21:44 -06:00
|
|
|
nodes
|
2016-12-28 06:14:56 -06:00
|
|
|
logging
|
2018-02-25 06:41:39 -06:00
|
|
|
i18n
|
2018-03-30 08:39:25 -05:00
|
|
|
utils
|
2018-02-23 06:33:16 -06:00
|
|
|
|
|
|
|
Deprecated APIs
|
|
|
|
---------------
|
|
|
|
|
|
|
|
On developing Sphinx, we are always careful to the compatibility of our APIs.
|
|
|
|
But, sometimes, the change of interface are needed for some reasons. In such
|
2018-06-13 13:25:21 -05:00
|
|
|
cases, we've marked them as deprecated. And they are kept during the two
|
2018-02-23 06:33:16 -06:00
|
|
|
major versions (for more details, please see :ref:`deprecation-policy`).
|
|
|
|
|
|
|
|
The following is a list of deprecated interface.
|
|
|
|
|
|
|
|
.. list-table:: deprecated APIs
|
|
|
|
:header-rows: 1
|
2018-04-22 06:00:46 -05:00
|
|
|
:class: deprecated
|
|
|
|
:widths: 40, 10, 10, 40
|
2018-02-23 06:33:16 -06:00
|
|
|
|
|
|
|
* - Target
|
|
|
|
- Deprecated
|
|
|
|
- (will be) Removed
|
|
|
|
- Alternatives
|
|
|
|
|
2018-04-14 09:15:31 -05:00
|
|
|
* - :rst:dir:`highlightlang`
|
|
|
|
- 1.8
|
|
|
|
- 4.0
|
|
|
|
- :rst:dir:`highlight`
|
|
|
|
|
2018-04-03 09:55:39 -05:00
|
|
|
* - :meth:`~sphinx.application.Sphinx.add_stylesheet()`
|
|
|
|
- 1.8
|
|
|
|
- 4.0
|
|
|
|
- :meth:`~sphinx.application.Sphinx.add_css_file()`
|
|
|
|
|
2018-05-22 10:37:54 -05:00
|
|
|
* - :meth:`~sphinx.application.Sphinx.add_javascript()`
|
|
|
|
- 1.8
|
|
|
|
- 4.0
|
|
|
|
- :meth:`~sphinx.application.Sphinx.add_js_file()`
|
|
|
|
|
2018-08-18 03:40:38 -05:00
|
|
|
* - :confval:`autodoc_default_flags`
|
|
|
|
- 1.8
|
|
|
|
- 4.0
|
|
|
|
- :confval:`autodoc_default_options`
|
|
|
|
|
2018-09-10 06:45:16 -05:00
|
|
|
* - ``content`` arguments of ``sphinx.util.image.guess_mimetype()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-09-08 06:06:15 -05:00
|
|
|
* - ``gettext_compact`` arguments of
|
|
|
|
``sphinx.util.i18n.find_catalog_source_files()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-08-21 09:03:12 -05:00
|
|
|
* - ``sphinx.io.SphinxI18nReader.set_lineno_for_reporter()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
|
|
|
* - ``sphinx.io.SphinxI18nReader.line``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-08-01 11:22:11 -05:00
|
|
|
* - ``sphinx.directives.other.VersionChanges``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``sphinx.domains.changeset.VersionChanges``
|
|
|
|
|
2018-07-19 11:37:31 -05:00
|
|
|
* - ``sphinx.highlighting.PygmentsBridge.unhighlight()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-07-20 21:25:54 -05:00
|
|
|
* - ``trim_doctest_flags`` arguments of
|
|
|
|
``sphinx.highlighting.PygmentsBridge``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-07-28 05:48:21 -05:00
|
|
|
* - ``sphinx.ext.mathbase``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-05-15 09:21:01 -05:00
|
|
|
* - ``sphinx.ext.mathbase.MathDomain``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``sphinx.domains.math.MathDomain``
|
|
|
|
|
2018-09-21 09:43:05 -05:00
|
|
|
* - ``sphinx.ext.mathbase.MathDirective``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``sphinx.directives.patches.MathDirective``
|
|
|
|
|
|
|
|
* - ``sphinx.ext.mathbase.math_role()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``docutils.parsers.rst.roles.math_role()``
|
|
|
|
|
2018-05-16 10:57:09 -05:00
|
|
|
* - ``sphinx.ext.mathbase.setup_math()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- :meth:`~sphinx.application.Sphinx.add_html_math_renderer()`
|
|
|
|
|
2018-05-14 20:57:07 -05:00
|
|
|
* - ``sphinx.ext.mathbase.is_in_section_title()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-07-28 05:48:21 -05:00
|
|
|
* - ``sphinx.ext.mathbase.get_node_equation_number()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``sphinx.util.math.get_node_equation_number()``
|
|
|
|
|
|
|
|
* - ``sphinx.ext.mathbase.wrap_displaymath()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``sphinx.util.math.wrap_displaymath()``
|
|
|
|
|
2018-05-14 20:57:07 -05:00
|
|
|
* - ``sphinx.ext.mathbase.math`` (node)
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``docutils.nodes.math``
|
|
|
|
|
2018-03-02 07:52:39 -06:00
|
|
|
* - ``sphinx.ext.mathbase.displaymath`` (node)
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``docutils.nodes.math_block``
|
|
|
|
|
2018-05-15 08:26:16 -05:00
|
|
|
* - ``sphinx.ext.mathbase.eqref`` (node)
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-17 09:19:41 -05:00
|
|
|
- ``sphinx.builders.latex.nodes.math_reference``
|
2018-05-15 08:26:16 -05:00
|
|
|
|
2018-04-01 22:32:07 -05:00
|
|
|
* - ``viewcode_import`` (config value)
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- :confval:`viewcode_follow_imported_members`
|
|
|
|
|
2018-04-20 08:14:49 -05:00
|
|
|
* - ``sphinx.writers.latex.Table.caption_footnotetexts``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-13 11:30:45 -05:00
|
|
|
- N/A
|
2018-04-20 08:14:49 -05:00
|
|
|
|
|
|
|
* - ``sphinx.writers.latex.Table.header_footnotetexts``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-13 11:30:45 -05:00
|
|
|
- N/A
|
2018-04-20 08:14:49 -05:00
|
|
|
|
2018-05-31 02:10:38 -05:00
|
|
|
* - ``sphinx.writers.latex.LaTeXTranslator.footnotestack``
|
2018-04-20 08:14:49 -05:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-13 11:30:45 -05:00
|
|
|
- N/A
|
2018-04-20 08:14:49 -05:00
|
|
|
|
2018-05-31 02:10:38 -05:00
|
|
|
* - ``sphinx.writers.latex.LaTeXTranslator.in_container_literal_block``
|
2018-05-23 08:50:46 -05:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-05-31 02:10:38 -05:00
|
|
|
* - ``sphinx.writers.latex.LaTeXTranslator.next_section_ids``
|
2018-05-23 10:23:50 -05:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-05-31 02:10:38 -05:00
|
|
|
* - ``sphinx.writers.latex.LaTeXTranslator.next_hyperlink_ids``
|
2018-05-23 08:50:46 -05:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-05-31 02:10:38 -05:00
|
|
|
* - ``sphinx.writers.latex.LaTeXTranslator.restrict_footnote()``
|
2018-04-20 08:14:49 -05:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-13 11:30:45 -05:00
|
|
|
- N/A
|
2018-04-20 08:14:49 -05:00
|
|
|
|
2018-05-31 02:10:38 -05:00
|
|
|
* - ``sphinx.writers.latex.LaTeXTranslator.unrestrict_footnote()``
|
2018-04-20 08:14:49 -05:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-13 11:30:45 -05:00
|
|
|
- N/A
|
2018-04-20 08:14:49 -05:00
|
|
|
|
2018-05-31 02:10:38 -05:00
|
|
|
* - ``sphinx.writers.latex.LaTeXTranslator.push_hyperlink_ids()``
|
2018-05-23 08:50:46 -05:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-05-31 02:10:38 -05:00
|
|
|
* - ``sphinx.writers.latex.LaTeXTranslator.pop_hyperlink_ids()``
|
2018-05-23 08:50:46 -05:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-05-31 02:10:38 -05:00
|
|
|
* - ``sphinx.writers.latex.LaTeXTranslator.bibitems``
|
2018-04-25 11:13:55 -05:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-13 11:30:45 -05:00
|
|
|
- N/A
|
2018-04-25 11:13:55 -05:00
|
|
|
|
2018-07-20 10:13:31 -05:00
|
|
|
* - ``sphinx.writers.latex.LaTeXTranslator.hlsettingstack``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-06-06 11:55:49 -05:00
|
|
|
* - ``sphinx.writers.latex.ExtBabel.get_shorthandoff()``
|
|
|
|
- 1.8
|
2018-06-07 11:29:24 -05:00
|
|
|
- 3.0
|
2018-06-06 11:55:49 -05:00
|
|
|
- N/A
|
|
|
|
|
2018-07-20 10:13:31 -05:00
|
|
|
* - ``sphinx.writers.html.HTMLTranslator.highlightlang()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
|
|
|
* - ``sphinx.writers.html.HTMLTranslator.highlightlang_base()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
|
|
|
* - ``sphinx.writers.html.HTMLTranslator.highlightlangopts()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
|
|
|
* - ``sphinx.writers.html.HTMLTranslator.highlightlinenothreshold()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
|
|
|
* - ``sphinx.writers.html5.HTMLTranslator.highlightlang()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
|
|
|
* - ``sphinx.writers.html5.HTMLTranslator.highlightlang_base()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
|
|
|
* - ``sphinx.writers.html5.HTMLTranslator.highlightlangopts()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
|
|
|
* - ``sphinx.writers.html5.HTMLTranslator.highlightlinenothreshold()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-07-29 07:57:34 -05:00
|
|
|
* - ``sphinx.writers.latex.LaTeXTranslator.check_latex_elements()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- Nothing
|
|
|
|
|
2018-04-27 23:04:21 -05:00
|
|
|
* - ``sphinx.application.CONFIG_FILENAME``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``sphinx.config.CONFIG_FILENAME``
|
|
|
|
|
2018-03-28 20:25:03 -05:00
|
|
|
* - ``Config.check_unicode()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``sphinx.config.check_unicode()``
|
|
|
|
|
2018-03-23 06:43:41 -05:00
|
|
|
* - ``Config.check_types()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``sphinx.config.check_confval_types()``
|
|
|
|
|
2018-03-22 11:04:56 -05:00
|
|
|
* - ``dirname``, ``filename`` and ``tags`` arguments of
|
|
|
|
``Config.__init__()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-04-27 23:04:21 -05:00
|
|
|
- ``Config.read()``
|
2018-03-22 11:04:56 -05:00
|
|
|
|
2018-04-28 00:34:49 -05:00
|
|
|
* - The value of :confval:`html_search_options`
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- see :confval:`html_search_options`
|
|
|
|
|
2018-04-15 10:24:49 -05:00
|
|
|
* - ``sphinx.versioning.prepare()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``sphinx.versioning.UIDTransform``
|
|
|
|
|
2018-05-31 02:20:31 -05:00
|
|
|
* - ``Sphinx.override_domain()``
|
2018-03-29 07:55:59 -05:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- :meth:`~sphinx.application.Sphinx.add_domain()`
|
|
|
|
|
2018-05-31 02:20:31 -05:00
|
|
|
* - ``Sphinx.import_object()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``sphinx.util.import_object()``
|
|
|
|
|
|
|
|
* - ``suffix`` argument of
|
|
|
|
:meth:`~sphinx.application.Sphinx.add_source_parser()`
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- :meth:`~sphinx.application.Sphinx.add_source_suffix()`
|
|
|
|
|
|
|
|
|
2018-05-09 11:25:22 -05:00
|
|
|
* - ``BuildEnvironment.load()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``pickle.load()``
|
|
|
|
|
|
|
|
* - ``BuildEnvironment.loads()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``pickle.loads()``
|
|
|
|
|
|
|
|
* - ``BuildEnvironment.frompickle()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``pickle.load()``
|
|
|
|
|
|
|
|
* - ``BuildEnvironment.dump()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``pickle.dump()``
|
|
|
|
|
|
|
|
* - ``BuildEnvironment.dumps()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``pickle.dumps()``
|
|
|
|
|
|
|
|
* - ``BuildEnvironment.topickle()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``pickle.dump()``
|
|
|
|
|
2018-02-22 23:01:11 -06:00
|
|
|
* - ``BuildEnvironment._nitpick_ignore``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- :confval:`nitpick_ignore`
|
|
|
|
|
2018-05-31 04:19:01 -05:00
|
|
|
* - ``BuildEnvironment.versionchanges``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- N/A
|
|
|
|
|
2018-05-31 02:14:40 -05:00
|
|
|
* - ``BuildEnvironment.update()``
|
2018-03-05 06:26:35 -06:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-31 02:14:40 -05:00
|
|
|
- ``Builder.read()``
|
2018-03-05 06:26:35 -06:00
|
|
|
|
2018-05-31 02:14:40 -05:00
|
|
|
* - ``BuildEnvironment.read_doc()``
|
2018-03-05 06:26:35 -06:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-31 02:14:40 -05:00
|
|
|
- ``Builder.read_doc()``
|
2018-03-05 06:26:35 -06:00
|
|
|
|
2018-05-31 02:14:40 -05:00
|
|
|
* - ``BuildEnvironment._read_serial()``
|
2018-03-05 06:26:35 -06:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-31 02:14:40 -05:00
|
|
|
- ``Builder.read()``
|
2018-03-05 06:26:35 -06:00
|
|
|
|
2018-05-31 02:14:40 -05:00
|
|
|
* - ``BuildEnvironment._read_parallel()``
|
2018-03-05 06:26:35 -06:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-31 02:14:40 -05:00
|
|
|
- ``Builder.read()``
|
2018-03-05 06:26:35 -06:00
|
|
|
|
2018-05-31 02:14:40 -05:00
|
|
|
* - ``BuildEnvironment.write_doctree()``
|
2018-03-05 06:26:35 -06:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-31 02:14:40 -05:00
|
|
|
- ``Builder.write_doctree()``
|
2018-03-05 06:26:35 -06:00
|
|
|
|
2018-05-31 04:19:01 -05:00
|
|
|
* - ``BuildEnvironment.note_versionchange()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``ChangesDomain.note_changeset()``
|
|
|
|
|
2018-05-31 02:14:40 -05:00
|
|
|
* - ``warn()`` (template helper function)
|
2018-04-21 22:36:52 -05:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-31 02:14:40 -05:00
|
|
|
- ``warning()``
|
2018-04-21 22:36:52 -05:00
|
|
|
|
2018-05-31 02:14:40 -05:00
|
|
|
* - :confval:`source_parsers`
|
2018-03-05 06:26:35 -06:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-31 02:14:40 -05:00
|
|
|
- :meth:`~sphinx.application.Sphinx.add_source_parser()`
|
2018-03-05 06:26:35 -06:00
|
|
|
|
2018-05-31 02:14:40 -05:00
|
|
|
* - ``sphinx.util.docutils.directive_helper()``
|
2018-03-05 06:26:35 -06:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-31 02:14:40 -05:00
|
|
|
- ``Directive`` class of docutils
|
2018-03-05 06:26:35 -06:00
|
|
|
|
2018-05-31 02:14:40 -05:00
|
|
|
* - ``sphinx.cmdline``
|
2018-04-21 23:22:42 -05:00
|
|
|
- 1.8
|
|
|
|
- 3.0
|
2018-05-31 02:14:40 -05:00
|
|
|
- ``sphinx.cmd.build``
|
2018-04-21 23:22:42 -05:00
|
|
|
|
2018-07-29 07:49:01 -05:00
|
|
|
* - ``sphinx.make_mode``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- ``sphinx.cmd.make_mode``
|
|
|
|
|
2018-03-05 06:26:35 -06:00
|
|
|
* - ``sphinx.locale.l_()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- :func:`sphinx.locale._()`
|
|
|
|
|
|
|
|
* - ``sphinx.locale.lazy_gettext()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- :func:`sphinx.locale._()`
|
|
|
|
|
|
|
|
* - ``sphinx.locale.mygettext()``
|
|
|
|
- 1.8
|
|
|
|
- 3.0
|
|
|
|
- :func:`sphinx.locale._()`
|
|
|
|
|
|
|
|
* - ``sphinx.util.copy_static_entry()``
|
|
|
|
- 1.5
|
|
|
|
- 3.0
|
|
|
|
- ``sphinx.util.fileutil.copy_asset()``
|
|
|
|
|
2018-02-23 06:33:16 -06:00
|
|
|
* - ``sphinx.build_main()``
|
|
|
|
- 1.7
|
|
|
|
- 2.0
|
|
|
|
- ``sphinx.cmd.build.build_main()``
|
|
|
|
|
|
|
|
* - ``sphinx.ext.intersphinx.debug()``
|
|
|
|
- 1.7
|
|
|
|
- 2.0
|
|
|
|
- ``sphinx.ext.intersphinx.inspect_main()``
|
|
|
|
|
|
|
|
* - ``sphinx.ext.autodoc.format_annotation()``
|
|
|
|
- 1.7
|
|
|
|
- 2.0
|
|
|
|
- ``sphinx.util.inspect.Signature``
|
|
|
|
|
|
|
|
* - ``sphinx.ext.autodoc.formatargspec()``
|
|
|
|
- 1.7
|
|
|
|
- 2.0
|
|
|
|
- ``sphinx.util.inspect.Signature``
|
|
|
|
|
|
|
|
* - ``sphinx.ext.autodoc.AutodocReporter``
|
|
|
|
- 1.7
|
|
|
|
- 2.0
|
|
|
|
- ``sphinx.util.docutils.switch_source_input()``
|
|
|
|
|
|
|
|
* - ``sphinx.ext.autodoc.add_documenter()``
|
|
|
|
- 1.7
|
|
|
|
- 2.0
|
|
|
|
- :meth:`~sphinx.application.Sphinx.add_autodocumenter()`
|
|
|
|
|
|
|
|
* - ``sphinx.ext.autodoc.AutoDirective._register``
|
|
|
|
- 1.7
|
|
|
|
- 2.0
|
|
|
|
- :meth:`~sphinx.application.Sphinx.add_autodocumenter()`
|
|
|
|
|
|
|
|
* - ``AutoDirective._special_attrgetters``
|
|
|
|
- 1.7
|
|
|
|
- 2.0
|
|
|
|
- :meth:`~sphinx.application.Sphinx.add_autodoc_attrgetter()`
|
|
|
|
|
|
|
|
* - ``Sphinx.warn()``, ``Sphinx.info()``
|
|
|
|
- 1.6
|
|
|
|
- 2.0
|
|
|
|
- :ref:`logging-api`
|
|
|
|
|
|
|
|
* - ``BuildEnvironment.set_warnfunc()``
|
|
|
|
- 1.6
|
|
|
|
- 2.0
|
|
|
|
- :ref:`logging-api`
|
|
|
|
|
|
|
|
* - ``BuildEnvironment.note_toctree()``
|
|
|
|
- 1.6
|
|
|
|
- 2.0
|
|
|
|
- ``Toctree.note()`` (in ``sphinx.environment.adapters.toctree``)
|
|
|
|
|
|
|
|
* - ``BuildEnvironment.get_toc_for()``
|
|
|
|
- 1.6
|
|
|
|
- 2.0
|
|
|
|
- ``Toctree.get_toc_for()`` (in ``sphinx.environment.adapters.toctree``)
|
|
|
|
|
|
|
|
* - ``BuildEnvironment.get_toctree_for()``
|
|
|
|
- 1.6
|
|
|
|
- 2.0
|
|
|
|
- ``Toctree.get_toctree_for()`` (in ``sphinx.environment.adapters.toctree``)
|
|
|
|
|
|
|
|
* - ``BuildEnvironment.create_index()``
|
|
|
|
- 1.6
|
|
|
|
- 2.0
|
|
|
|
- ``IndexEntries.create_index()`` (in ``sphinx.environment.adapters.indexentries``)
|
|
|
|
|
|
|
|
* - ``sphinx.websupport``
|
|
|
|
- 1.6
|
|
|
|
- 2.0
|
2018-04-18 21:51:48 -05:00
|
|
|
- `sphinxcontrib-websupport <https://pypi.org/project/sphinxcontrib-websupport/>`_
|
2018-02-23 06:33:16 -06:00
|
|
|
|
|
|
|
* - ``StandaloneHTMLBuilder.css_files``
|
|
|
|
- 1.6
|
|
|
|
- 2.0
|
|
|
|
- :meth:`~sphinx.application.Sphinx.add_stylesheet()`
|
|
|
|
|
2018-02-20 21:58:55 -06:00
|
|
|
* - ``document.settings.gettext_compact``
|
|
|
|
- 1.8
|
|
|
|
- 1.8
|
|
|
|
- :confval:`gettext_compact`
|
|
|
|
|
2018-02-23 06:33:16 -06:00
|
|
|
* - ``Sphinx.status_iterator()``
|
|
|
|
- 1.6
|
|
|
|
- 1.7
|
|
|
|
- ``sphinx.util.status_iterator()``
|
|
|
|
|
|
|
|
* - ``Sphinx.old_status_iterator()``
|
|
|
|
- 1.6
|
|
|
|
- 1.7
|
|
|
|
- ``sphinx.util.old_status_iterator()``
|
|
|
|
|
|
|
|
* - ``Sphinx._directive_helper()``
|
|
|
|
- 1.6
|
|
|
|
- 1.7
|
|
|
|
- ``sphinx.util.docutils.directive_helper()``
|
|
|
|
|
|
|
|
* - ``sphinx.util.compat.Directive``
|
|
|
|
- 1.6
|
|
|
|
- 1.7
|
|
|
|
- ``docutils.parsers.rst.Directive``
|
|
|
|
|
|
|
|
* - ``sphinx.util.compat.docutils_version``
|
|
|
|
- 1.6
|
|
|
|
- 1.7
|
|
|
|
- ``sphinx.util.docutils.__version_info__``
|
|
|
|
|
|
|
|
.. note:: On deprecating on public APIs (internal functions and classes),
|
|
|
|
we also follow the policy as much as possible.
|