2. Creating a development environment¶
Your repository hosts the content that must be built with our static website generator. The static website generator is not in the repository, only the documentation files and other configuration files are hosted. The simple rule is do not host files that can be generated.
This means that anyone who wants to modify the documentation must set up Sphinx and the rest of the tool chain to build the documentation. This required setup to build the docs is called a development environment.
As you can imagine, setting up a development environment is something that can be tedious. Because we want to promote contributions, let’s make this one-time setup as painless as possible.
Create a
requirements.txtfile at the root of your repository. This file should contain every name of the parts needed to build the documentation (Python modules, extensions, etc).Go through your Sphinx
conf.pyfile and add the name of each extension to therequirements.txtfile. One extension name per line.Example
The
requirements.txtfile of the project used to build the docs you are reading now contains:sphinx sphinxcontrib-mermaid
Push this file to your master branch of your repository.
This file is ready to be used by pip to install every Python module needed by your docs platform.
To use it, contributors who already have Python installed, enter:
pip install -r requirements.txt
Why do we care about our contributors so early in the project? Because Travis CI could be seen as one. A special kind of contributor, the lazy type, that only clones and builds the documentation and never pushes docs updates (sad).
Note
This can also be simplified using Docker.
Next step: Linking GitHub and Travis.