Documentation Generators

Sphinx – extensible technical documentation generator

Sphinx is a documentation generator designed for producing structured technical documentation, including software manuals, API references and developer guides. Originally created for Python’s official documentation, it has developed into a flexible publishing system used by projects across many programming languages.

Authors typically organise content into separate reStructuredText documents, which Sphinx combines into a coherent documentation project. Markdown can also be used through the MyST-Parser extension. A configuration file controls the document structure, extensions, output formats and visual presentation.

One of Sphinx’s major strengths is its ability to combine manually written explanations with automatically extracted programming interfaces. This allows developers to maintain narrative guides and API references within the same documentation system while benefiting from consistent navigation and cross-references.

This is free and open source software.

Key Features

  • Generates HTML, ePub, LaTeX, manual pages, plain text and other documentation formats.
  • The autodoc extension extracts API documentation from Python modules, classes, functions and docstrings.
  • Language domains provide semantic references for Python, C, C++, JavaScript and other languages.
  • Automatic cross-references link functions, classes, glossary terms, figures and other documented elements.
  • Intersphinx enables references between independently generated documentation projects.
  • Hierarchical document trees provide navigation links, contents pages and section relationships.
  • Automatic general, module and domain-specific indices help readers locate relevant material.
  • Pygments provides syntax highlighting for source-code examples.
  • Extensible through themes, directives, roles, builders and Python extensions.
  • Supports documentation testing, including execution of code examples through doctest.
  • Cross-platform support – runs on Linux, macOS, and Windows.

Website: github.com/sphinx-doc/sphinx
Support:
Developer: Georg Brandl and Sphinx team
License: BSD 2-Clause ‘Simplified’ 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
JSDocAPI documentation generator for JavaScript
JavadocGenerate API documentation in HTML format
SphinxCreate intelligent and beautiful documentation for Python projects
phpDocumentorComplete documentation solution for PHP
DoxygenDocumentation system for C, C++, Java, Python and other languages
DocusaurusBuild, deploy and maintain documentation websites
mdBookCreate modern online books from Markdown files
YARDRuby documentation tool
StarlightDocumentation website framework
DoccoLiterate-programming-style documentation generator
Natural DocsDocumentation generator that supports 21 different languages
QuartoScientific and technical publishing system
AntoraModular documentation site generator
CryccoQuick and dirty documentation generator
ROBODocDocumentation tool similar to Javadoc

Read our verdict in the software roundup.

Python Static Site Generators
MkDocsProject documentation with Markdown. It's easy to use and extensible
PelicanStatic site generator that supports Markdown and reST syntax
SphinxCreate intelligent and beautiful documentation for Python projects
LektorFlexible and powerful static content management system
NikolaStatic website and blog generator
BestaticReally minimal yet feature-rich
TeedocSimple static website/document/blog generator
makesite Simple, lightweight, and magic-free static site/blog generator
ProsopopeeStatic site generator for your story
GrowDeclarative website generator
HydeSupport for powerful template languages like Jinja2
CactusSimple but powerful static website generator
StapyWorks with Python on any operating system without additional packages.
Frozen-FlaskFreezes a Flask application into a set of static files
BlurryFocused on page speed and SEO
UrubuMicro content management system for static websites
MiyadaikuSuitable for blogs, documentation, and other static publishing projects
incorporeal-cmsLightweight static site generator for Markdown-based sites
blagBlog-aware, static site generator which uses Markdown
wmkFlexible and versatile static site generator
PagegenWith reStructuredText or Markdown markup and Mako templates
BakuSimple, Markdown-based blogging engine/static website generator
AuroraSupport for static and incremental builds
GenjaUses Jinja templates for page rendering
StaticPipesFlexible pipeline-based static site generator
PicogenMinimalist static website generator with a simple workflow

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted