Extensões

Diversos projetos necessitam funcionalidades especiais em sua documentação, O Sphinx permite adicionar “extensões” ao processo de construção da documentação e cada qual pode modificar aspectos individualizados no processamento.

Este capítulo descreve as extensões incluídas no Sphinx. Para a documentação da API sobre como escrever sua própria extensão, consulte o API do Sphinx para extensões.

Extensões embutidas

Essas extensões são construidas e pode ser ativadas através das respectivas entradas e valores na configuração extensions :

Extensões de terceiros

You can find several extensions contributed by users in the sphinx-contrib organization. If you wish to include your extension in this organization, simply follow the instructions provided in the github-administration project. This is optional and there are several extensions hosted elsewhere. The awesome-sphinxdoc and sphinx-extensions projects are both curated lists of Sphinx packages, and many packages use the Framework :: Sphinx :: Extension and Framework :: Sphinx :: Theme trove classifiers for Sphinx extensions and themes, respectively.

Onde colocar suas próprias extensões?

Extensões locais para um projeto devem ser colocadas dentro da estrutura de diretório do projeto. Defina o path de pesquisa do módulo do Python, sys.path, de forma que o Sphinx possa localizá-los. Por exemplo, se sua extensão foo.py estiver no subdiretório exts da raiz do projeto, coloque em conf.py:

import sys, os

sys.path.append(os.path.abspath('exts'))

extensions = ['foo']

Também pode instalar extensões em qualquer outro lugar do sys.path, ex.. diretórios site-packages.