stevedore/doc/source/sphinxext.rst
Doug Hellmann 7295f785f0 Add sphinx integration
Add a restructuredtext directive for documenting a set of plugins with
the needed hooks to make it available is sphinx.

Change-Id: I1a24f9326b4e54174d9dc0ae366315fe29c3ac1b
2015-05-27 23:36:04 +00:00

74 lines
1.7 KiB
ReStructuredText

====================
Sphinx Integration
====================
Stevedore includes an extension for integrating with Sphinx to
automatically produce documentation about the supported plugins. To
activate the plugin add ``stevedore.sphinxext`` to the list of
extensions in your ``conf.py``.
.. rst:directive:: .. list-plugins:: namespace
List the plugins in a namespace.
Options:
``detailed``
Flag to switch between simple and detailed output (see
below).
``overline-style``
Character to use to draw line above header,
defaults to none.
``underline-style``
Character to use to draw line below header,
defaults to ``=``.
Simple List
===========
By default, the ``list-plugins`` directive produces a simple list of
plugins in a given namespace including the name and the first line of
the docstring. For example:
::
.. list-plugins:: stevedore.example.formatter
produces
------
.. list-plugins:: stevedore.example.formatter
------
Detailed Lists
==============
Adding the ``detailed`` flag to the directive causes the output to
include a separate subsection for each plugin, with the full docstring
rendered. The section heading level can be controlled using the
``underline-style`` and ``overline-style`` options to fit the results
into the structure of your existing document.
::
.. list-plugins:: stevedore.example.formatter
:detailed:
produces
------
.. list-plugins:: stevedore.example.formatter
:detailed:
:underline-style: -
------
.. note::
Depending on how Sphinx is configured, bad reStructuredText syntax in
the docstrings of the plugins may cause the documentation build to
fail completely when detailed mode is enabled.