Source

sphinx / doc / extensions.rst

Full commit

Sphinx Extensions

Since many projects will need special features in their documentation, Sphinx is designed to be extensible on several levels.

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.

The configuration file itself can be an extension, see the :confval:`extensions` configuration value docs.

Builtin Sphinx extensions

These extensions are built in and can be activated by respective entries in the :confval:`extensions` configuration value:

Third-party extensions

There are several extensions that are not (yet) maintained in the Sphinx distribution. The Wiki at BitBucket maintains a list of those.