2021-05-19 Building Docs#

Status#

Accepted and Implemented

Context#

It is expected that many different contributors with a variety of skill levels will be contributing to this extension module. Rather than relying on a manual step to ensure that links get added to the docs folder to the states and modules, we decided to automate this process.

We did have a manual step using nox to generate API docs, but that ended out generating things that were too comprehensive, documenting internal functionality that wasn’t relevant for a user.

Decision#

The decision we made was to implement a pre-commit hook within the repository to automatically create rST files that Sphinx would use to auto-generate the docs based on the state/module code.

Consequences#

By using a pre-commit hook, the only thing that’s necessary to have docs correctly created is to setup pre-commit and run a git commit.

These files are (re)-created every time, so there is some extra overhead, but the number of files in this module should be relatively small, so this shouldn’t be a big problem. It may be necessary later to adjust this approach, but for now it works well.