Georg Brandl created Sphinx, a tool that makes it simple to build intelligent and appealing documentation. It was designed for Python documentation in mind, but it also offers excellent features for describing software projects in a variety of languages. The following characteristics of the Sphinx are highlighted:
- HTML (including Windows HTML Help), LaTeX (for printable PDF versions), ePub, Texinfo, manual pages, plain text are all possible output formats.
- Extensive cross-references: semantic markup and automatic links for functions, classes, citations, glossary terms, and other related data
- Hierarchical structure: simple document tree definition with automatic links to siblings, parents, and children
- Automatic indices include both a generic index and language-specific module indexes.
- Using the Pygments highlighter, code is automatically highlighted.
- Extensions include code snippets being automatically tested, the integration of docstrings from Python modules (API manuals), and more.
- Contributed extensions: dozens of extensions contributed by users; most of them installable from PyPI
Sphinx’s markup language is reStructuredText, and many of its advantages stem from the power and simplicity of reStructuredText and its parsing and translating suite, the Docutils.