Welcome to sphinx-extensions’ documentation!

This is a curated and opinionated list of Sphinx extensions that I found useful while working with different Sphinx documentation projects. All the extension listed here have their own page showing a working live example and it’s minimum configuration to make it work in your docs.

Note

Sphinx already has a list of Built-in extensions that are really useful. Besides, there is also a list of Third-party extensions in that page but unfortunately, it’s a bit out of date.

Extensions

  • sphinx-prompt: directive to add unselectable prompt ($, >>>, etc) in code blocks

  • sphinxemoji: use emoji codes in your Sphinx documentation

  • sphinx-copybutton: adds little “copy” button to the right of your code blocks

  • myst-parser[sphinx]: powerful Markdown flavor for your Sphinx documentation without loosing the power of Sphinx itself

  • sphinxcontrib-httpdomain: directives to document APIs in a very detailed way

  • sphinx-autobuild: rebuild the documentation when a change is detected and reload the page to see the changes

  • sphinx-autoapi: auto document your code API without executing the code itself (as sphinx.autodoc does)

  • nbsphinx: render Jupyter Notebooks as documentation pages

  • sphinx-notfound-page: renders a nice 404 page respecting all the look & feel of your documentation

  • sphinx-version-warning: adds a warning banner at the top if reader is reading an old version of your documentation

  • sphinx-hoverxref: adds tooltips on cross references of the documentation with the content of the linked section

  • sphinx-last-updated-by-git: adds the “last updated” date for each page (obtained from the Git commit date)

Themes

Tip

Each page have a “Show Source” link at the right navigation bar. You can click on it to see what you need to write in the source file to make it render as you see.