Skip to content

egonrian/example-sphinx-basic

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Example: Basic Sphinx project for Read the Docs

Documentation Status

This example shows a basic Sphinx project with Read the Docs. You're encouraged to view it to get inspiration and copy & paste from the files in the source code. If you are using Read the Docs for the first time, have a look at the official Read the Docs Tutorial.

📚 docs/
A basic Sphinx project lives in docs/. All the *.rst make up sections in the documentation.
⚙️ .readthedocs.yaml
Read the Docs Build configuration is stored in .readthedocs.yaml.
⚙️ docs/conf.py
Both the configuration and the folder layout follow Sphinx default conventions. You can change the Sphinx configuration values in this file
📍 docs/requirements.txt and docs/requirements.in
Python dependencies are pinned (uses pip-tools). Make sure to add your Python dependencies to requirements.txt or if you choose pip-tools, edit docs/requirements.in and remember to run pip-compile docs/requirements.in.
💡 docs/api.rst
By adding our example Python module lumache in the reStructuredText directive :autosummary:, Sphinx will automatically scan this module and generate API docs.
💡 docs/usage.rst
Sphinx can automatically extract API documentation directly from Python modules, using for instance the :autofunction: directive.
💡 lumache.py
API docs are generated for this example Python module - they use docstrings directly in the documentation, notice how this shows up in the rendered documentation.
🔢 Git tags versioning
We use a basic versioning mechanism by adding a git tag for every release of the example project. All releases and their version numbers are visible on example-sphinx-basic.readthedocs.io.
📜 README.rst
Contents of this README.rst are visible on Github and included on the documentation index page (Don't Repeat Yourself).
⁉️ Questions / comments
If you have questions related to this example, feel free to can ask them as a Github issue here.

Example Project usage

This project has a standard Sphinx layout which is built by Read the Docs almost the same way that you would build it locally (on your own laptop!).

You can build and view this documentation project locally - we recommend that you activate a local Python virtual environment first:

# Install required Python dependencies (Sphinx etc.)
pip install -r docs/requirements.txt

# Enter the Sphinx project
cd docs/

# Run the raw sphinx-build command
sphinx-build -M html . _build/

You can also build the documentation locally with make:

# Enter the Sphinx project
cd docs/

# Build with make
make html

# Open with your preferred browser, pointing it to the documentation index page
firefox _build/html/index.html

Using the example in your own project

If you are new to Read the Docs, you may want to refer to the Read the Docs User documentation.

If you are copying this code in order to get started with your documentation, you need to:

  1. place your docs/ folder alongside your Python project. If you are starting a new project, you can adapt the pyproject.toml example configuration.
  2. use your existing project repository or create a new repository on Github, GitLab, Bitbucket or another host supported by Read the Docs
  3. copy .readthedocs.yaml and the docs/ folder into your project.
  4. customize all the files, replacing example contents.
  5. add your own Python project, replacing the pyproject.toml configuration and lumache.py module.
  6. rebuild the documenation locally to see that it works.
  7. finally, register your project on Read the Docs, see Importing Your Documentation.

Read the Docs tutorial

To get started with Read the Docs, you may also refer to the Read the Docs tutorial. It provides a full walk-through of building an example project similar to the one in this repository.

About

A basic Sphinx project for Read the Docs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%