Sphinx development¶
Sphinx is a maintained by a group of volunteers. We value every contribution!
- The code can be found in a Git repository, at https://github.com/sphinx-doc/sphinx/.
- Issues and feature requests should be raised in the tracker.
- The mailing list for development is at Google Groups.
- There is also the #sphinx-doc IRC channel on freenode.
For more about our development process and methods, see the <no title>.
Extensions¶
To learn how to write your own extension, see Developing extensions for Sphinx.
The sphinx-contrib repository contains many contributed extensions. Some of them have their own releases on PyPI, others you can install from a checkout.
This is the current list of contributed extensions in that repository:
- aafig: render embedded ASCII art as nice images using aafigure
- actdiag: embed activity diagrams by using actdiag
- adadomain: an extension for Ada support (Sphinx 1.0 needed)
- ansi: parse ANSI color sequences inside documents
- argdoc: automatically generate documentation for command-line arguments, descriptions, and help text
- astah: embed diagram by using astah
- autoanysrc: Gather reST documentation from any source files
- autorun: Execute code in a
runblock
directive - blockdiag: embed block diagrams by using blockdiag
- cacoo: embed diagram from Cacoo
- cf3domain: a domain for CFEngine 3 policies
- cheader: The missing c:header directive for Sphinx’s built-in C domain
- cheeseshop: easily link to PyPI packages
- clearquest: create tables from ClearQuest queries
- cmakedomain: a domain for CMake
- coffeedomain: a domain for (auto)documenting CoffeeScript source code
- context: a builder for ConTeXt
- disqus: embed Disqus comments in documents
- documentedlist: converts a Python list to a table in the generated documentation
- doxylink: Link to external Doxygen-generated HTML documentation
- domaintools: A tool for easy domain creation
- email: obfuscate email addresses
- erlangdomain: an extension for Erlang support (Sphinx 1.0 needed)
- exceltable: embed Excel spreadsheets into documents using exceltable
- feed: an extension for creating syndication feeds and time-based overviews from your site content
- findanything: an extension to add Sublime Text 2-like findanything panels to your documentation to find pages, sections and index entries while typing
- gnuplot: produces images using gnuplot language
- googleanalytics: track web visitor statistics by using Google Analytics
- googlechart: embed charts by using Google Chart
- googlemaps: embed maps by using Google Maps
- httpdomain: a domain for documenting RESTful HTTP APIs
- hyphenator: client-side hyphenation of HTML using hyphenator
- imgur: embed Imgur images, albums, and metadata in documents
- inlinesyntaxhighlight: inline syntax highlighting
- lassodomain: a domain for documenting Lasso source code
- libreoffice: an extension to include any drawing supported by LibreOffice (e.g. odg, vsd, …)
- lilypond: an extension inserting music scripts from Lilypond in PNG format
- makedomain: a domain for GNU Make
- matlabdomain: document MATLAB code
- mockautodoc: mock imports
- mscgen: embed mscgen-formatted MSC (Message Sequence Chart)s
- napoleon: supports Google style and NumPy style docstrings
- nicovideo: embed videos from nicovideo
- nwdiag: embed network diagrams by using nwdiag
- omegat: support tools to collaborate with OmegaT (Sphinx 1.1 needed)
- osaka: convert standard Japanese doc to Osaka dialect (this is a joke extension)
- paverutils: an alternate integration of Sphinx with Paver
- phpdomain: an extension for PHP support
- plantuml: embed UML diagram by using PlantUML
- py_directive: Execute python code in a
py
directive and return a math node - rawfiles: copy raw files, like a CNAME
- requirements: declare requirements wherever you need (e.g. in test docstrings), mark statuses and collect them in a single list
- restbuilder: a builder for reST (reStructuredText) files
- rubydomain: an extension for Ruby support (Sphinx 1.0 needed)
- sadisplay: display SqlAlchemy model sadisplay
- sdedit: an extension inserting sequence diagram by using Quick Sequence Diagram Editor (sdedit)
- seqdiag: embed sequence diagrams by using seqdiag
- slide: embed presentation slides on slideshare and other sites
- swf: embed flash files
- sword: an extension inserting Bible verses from Sword
- tikz: draw pictures with the TikZ/PGF LaTeX package
- traclinks: create TracLinks to a Trac instance from within Sphinx
- versioning: Sphinx extension that allows building versioned docs for self-hosting
- whooshindex: whoosh indexer extension
- youtube: embed videos from YouTube
- zopeext: provide an
autointerface
directive for using Zope interfaces
See the extension tutorials on getting started with writing your own extensions.