Sphinx is a documentation generator or a tool that translates a set of plain text source files into various output formats, automatically producing cross-references, indices, etc. That is, if you have a directory containing a bunch of reStructuredText or Markdown documents, Sphinx can generate a series of HTML files, a PDF file (via LaTeX), man pages and much more.
It was originally created for the new Python documentation, and has excellent facilities for Python project documentation, but C/C++ is supported as well, and more languages are planned.
Sphinx uses reStructuredText as its markup language, and many of its strengths come from the power and straightforwardness of reStructuredText and its parsing and translating suite, the Docutils.
Sphinx is free and open source software.
Key Features
- Output formats: HTML (including derivative formats such as HTML Help, Epub and Qt Help), plain text, manual pages and LaTeX or direct PDF output using rst2pdf.
- Extensive cross-references: semantic markup and automatic links for functions, classes, glossary terms and similar pieces of information.
- Hierarchical structure: easy definition of a document tree, with automatic links to siblings, parents and children.
- Automatic indices: general index as well as a module index.
- Code handling: automatic highlighting using the Pygments highlighter.
- Flexible HTML output using the Jinja 2 templating engine.
- Various extensions are available, e.g. for automatic testing of snippets and inclusion of appropriately formatted docstrings.
- Setuptools integration.
Website: www.sphinx-doc.org
Support: Documentation, GitHub Code Repository
Developer: Georg Brandl and Sphinx team
License: BSD License
Sphinx is written in Python and JavaScript. Learn Python with our recommended free books and free tutorials. Learn JavaScript with our recommended free books and free tutorials.
Related Software
| Documentation Generators | |
|---|---|
| JSDoc | API documentation generator for JavaScript |
| Javadoc | Generate API documentation in HTML format |
| Sphinx | Create intelligent and beautiful documentation for Python projects |
| phpDocumentor | Complete documentation solution for PHP |
| Doxygen | Documentation system for C, C++, Java, Python and other languages |
| YARD | Ruby documentation tool |
| Docco | Literate-programming-style documentation generator |
| Natural Docs | Documentation generator that supports 21 different languages |
| Crycco | Quick and dirty documentation generator |
| ROBODoc | Documentation tool similar to Javadoc |
Read our verdict in the software roundup.
| Python Static Site Generators | |
|---|---|
| MkDocs | Project documentation with Markdown. It's easy to use and extensible |
| Pelican | Static site generator that supports Markdown and reST syntax |
| Sphinx | Create intelligent and beautiful documentation for Python projects |
| Lektor | Flexible and powerful static content management system |
| Nikola | Static website and blog generator |
| Bestatic | Really minimal yet feature-rich |
| Teedoc | Simple static website/document/blog generator |
| makesite | Simple, lightweight, and magic-free static site/blog generator |
| Prosopopee | Static site generator for your story |
| Grow | Declarative website generator |
| Hyde | Support for powerful template languages like Jinja2 |
| Cactus | Simple but powerful static website generator |
| Stapy | Works with Python on any operating system without additional packages. |
| Frozen-Flask | Freezes a Flask application into a set of static files |
| Blurry | Focused on page speed and SEO |
| Urubu | Micro content management system for static websites |
| Miyadaiku | Suitable for blogs, documentation, and other static publishing projects |
| incorporeal-cms | Lightweight static site generator for Markdown-based sites |
| blag | Blog-aware, static site generator which uses Markdown |
| wmk | Flexible and versatile static site generator |
| Pagegen | With reStructuredText or Markdown markup and Mako templates |
| Baku | Simple, Markdown-based blogging engine/static website generator |
| Aurora | Support for static and incremental builds |
| Genja | Uses Jinja templates for page rendering |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

