summaryrefslogtreecommitdiffstats
path: root/doc/development/overview.rst
blob: df8f5bb8b735ab7b090dc6a259c25fee16da6874 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Developing extensions overview
==============================

This page contains general information about developing Sphinx extensions.

Make an extension depend on another extension
---------------------------------------------

Sometimes your extension depends on the functionality of another
Sphinx extension. Most Sphinx extensions are activated in a
project's :file:`conf.py` file, but this is not available to you as an
extension developer.

.. module:: sphinx.application
   :no-index:

To ensure that another extension is activated as a part of your own extension,
use the :meth:`sphinx.application.Sphinx.setup_extension` method. This will
activate another extension at run-time, ensuring that you have access to its
functionality.

For example, the following code activates the ``recommonmark`` extension:

.. code-block:: python

    def setup(app):
        app.setup_extension("recommonmark")

.. note::

   Since your extension will depend on another, make sure to include
   it as a part of your extension's installation requirements.