This repository contains deployment infrastructure and documentation for a federation of JupyterHubs that 2i2c manages for various communities.
See the infrastructure documentation for more information.
The documentation is built with the Sphinx documentation engine.
The easiest way to build the documentation in this repository is to use the nox
automation tool, a tool for quickly building environments and running commands within them.
This ensures that your environment has all the dependencies needed to build the documentation.
To do so, follow these steps:
-
Install
nox
$ pip install nox
-
Build the documentation:
$ nox -s docs
This should create a local environment in a .nox
folder, build the documentation (as specified in the noxfile.py
configuration), and the output will be in docs/_build/dirhtml
.
To build live documentation that updates when you update local files, run the following command:
$ nox -s docs -- live
If you wish to manually build the documentation, you can use conda
to do so.
-
Create a
conda
environment to build the documentation.conda env create -f docs/environment.yml -n infrastructure-docs
-
Activate the new environment:
conda activate infrastructure-docs
-
Build the documentation:
make html
This will generate the HTML for the documentation in the docs/_build/dirhtml
folder.
You may preview the documentation by opening any of the .html
files inside.
You can optionally build the documentation with a live server to automatically preview the changes as you build the docs. To use this, run make live
instead of make html
.
You can check for broken links in our documentation with the Sphinx linkcheck builder.
This will build the documentation and test every link to make sure that it resolves properly.
We use a GitHub Action to check this in our CI/CD, so this generally shouldn't be needed unless you want to manually test something.
To check our documentation for broken links, run the following command from the docs/
folder:
make linkcheck
This will build the documentation, reporting broken links as it goes.
It will output a summary of all links in a file at docs/_build/linkcheck/output.txt
.