<a id="sphinx-stack"></a>

# Sphinx Stack documentation

The **Sphinx Stack** is a well-crafted template repository for Sphinx projects, and is
the standard documentation setup at Canonical.

The repository contains a setup for Sphinx and its required extensions, plus basic
scaffolding for standard document types. A CLI is provided for building the documents
and checking their quality.

The Sphinx Stack contains everything you need to bootstrap and host new documentation.
You can copy it as a standalone documentation repository, or incorporate into a
project’s codebase.

The Sphinx Stack is for all employees at Canonical, and is available to writers and
developers looking to begin a robust and capable Sphinx project.

## In this documentation

### Getting started

### Document elements

### Customization

### Quality

### Lifecycle management

### How the stack works

## How this documentation is organized

This documentation uses the [Diátaxis documentation structure](https://diataxis.fr/).

* The [tutorial](https://documentation.ubuntu.com/sphinx-stack/latest/set-up-a-new-project/index.html.md#set-up-a-new-project) walks through copying the Sphinx
  Stack template, removing unneeded files, and performing the required initial
  configuration before the first build.
* [How-to guides](https://documentation.ubuntu.com/sphinx-stack/latest/how-to/index.html.md#how-to-guides) cover specific tasks: building locally, running
  documentation checks, publishing on Read the Docs, updating the stack, and enabling
  optional extensions.
* [Reference](https://documentation.ubuntu.com/sphinx-stack/latest/reference/index.html.md#reference) provides the list of default Sphinx extensions, GitHub
  workflow definitions, and the reST and MyST syntax guides.
* [Explanation](https://documentation.ubuntu.com/sphinx-stack/latest/explanation/index.html.md#explanation) describes the architecture of the Sphinx Stack,
  covering its core components (Sphinx, Python, extensions), the Make-based build
  system, and sitemap generation.

## Project and community

The Sphinx Stack is a Canonical open source project that forms part of the tooling
supporting documentation across Ubuntu and other Canonical offerings.

### Get involved

* [Sphinx Stack repository](https://github.com/canonical/sphinx-stack)
* [Issue tracker](https://github.com/canonical/sphinx-stack/issues)
* [Contribute to documentation](https://documentation.ubuntu.com/sphinx-stack/latest/contribute/documentation/index.html.md#contribute-documentation)
* [Contribute to development](https://documentation.ubuntu.com/sphinx-stack/latest/contribute/development/index.html.md#contribute-development)

### Releases

* [Release notes](https://documentation.ubuntu.com/sphinx-stack/latest/release-notes/index.html.md#release-notes)

### Governance and policies

* [Code of conduct](https://ubuntu.com/community/ethos/code-of-conduct)
