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 builders 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 extensions configuration value docs.