Getting Started with Sphinx¶
Sphinx is a powerful documentation generator that has many great features for writing technical documentation including:
Generate web pages, printable PDFs, documents for e-readers (ePub), and more all from the same sources
You can use reStructuredText or Markdown to write documentation
An extensive system of cross-referencing code and documentation
Syntax highlighted code samples
A vibrant ecosystem of first and third-party extensions
Quick start¶
See also
If you already have a Sphinx project, check out our Importing Your Documentation guide.
Assuming you have Python already, install Sphinx:
pip install sphinx
Create a directory inside your project to hold your docs:
cd /path/to/project
mkdir docs
Run sphinx-quickstart
in there:
cd docs
sphinx-quickstart
This quick start will walk you through creating the basic configuration; in most cases, you
can just accept the defaults. When it’s done, you’ll have an index.rst
, a
conf.py
and some other files. Add these to revision control.
Now, edit your index.rst
and add some information about your project.
Include as much detail as you like (refer to the reStructuredText syntax
or this template if you need help). Build them to see how they look:
make html
Your index.rst
has been built into index.html
in your documentation output directory (typically _build/html/index.html
).
Open this file in your web browser to see your docs.
Edit your files and rebuild until you like what you see, then commit your changes and push to your public repository. Once you have Sphinx documentation in a public repository, you can start using Read the Docs by importing your docs.
Warning
We strongly recommend to pin the Sphinx version used for your project to build the docs to avoid potential future incompatibilities.
Using Markdown with Sphinx¶
You can use Markdown using MyST and reStructuredText in the same Sphinx project. We support this natively on Read the Docs, and you can do it locally:
pip install myst-parser
Then in your conf.py
:
extensions = ['myst_parser']
Warning
Markdown does work for basic prose content. But reStructuredText is the preferred format for technical documentation, please read this blog post for motivation.
External resources¶
Here are some external resources to help you learn more about Sphinx.
Last change: Tue, 03 Aug 2021 10:25 PM UTC