Wiki Infrastructure Overview¶
The wiki is built using the static site generator Sphinx from source written in reStructured Text markup and hosted on GitHub here.
The Pre-commit framework is used to auto-detect some issues. Run “pre-commit install” for local use.
Every pull request is automatically built & tested under Linux and Docker, that must succeed before the PR is merged. It is recommended that the wiki be built locally before submitting PRs since the automatic tests do not fail for many Sphinx warnings, which will not be caught by the tests and should be fixed before the PR is submitted. See Setup the Environment and Build the Wiki to locally build the wiki to check for warnings.
The wiki has several sections:
Common holds pages that are common to all vehicles like the Optional Hardware section of the wikis. The pages all have the common- prefix and are stored in the /common/source/docs/ directory. Common images are in the images directory. Common configuration information for the Wiki Sphinx build is stored in /common_conf.py.
Each vehicle or ground station has a separate folder in the repository (e.g. ‘/copter’, ‘/plane’) which contains its own source and configuration files (conf.py). Corresponding images are stored in the /images/ subfolder.
The update.py build script copies the common topics into specified (in source) target wikis directories and then build them.
The Vagrantfile can be used by Vagrant to set up a local build environment independent of your host system. (Vagrant is a software tool that allows for the quick and automated setup of a virtual machine on your host operating system). This allows you to edit the source in your host computer but manage the build inside Vagrant. You can also manually set up a build environment (just inspect the Vagrantfile for dependencies).
The wikis use a common theme that provides the top menu bar.