Project documentation, automatically tested and deployed to getavalon.github.io
$ cd docs
$ export AVALON_CORE=/path/to/avalon-core
$ . build_docker.sh
$ . serve_docker.sh
The theme is built with mkdocs and based on squidfunk/mkdocs-material, with some changes and additions.
For each version of Avalon, a new series of pages are made such that each version may be documented in full without a newer version overshadowing an older one.
Placeholders are added where live code is injected at build time. This ensures that reference material, such as schemas, is never out of date and tell you when there is anything amiss, such as missing example material.
{{schema:subset-2.0.json}}
Every Python snippet in this documentation is executed during build, including interactively as you edit the documentation on your local machine. The results of the execution is included into the documentation itself.
This ensures that no example code carries any errors and is up to date with the actual code it is referring to. It's also handy to know whether the code you write actually runs!
As Avalon is cross-platform, it's important that each OS-specific snippet of code is compatible with your favorite platform. The documentation includes tabs for such occasions. Additionally, changing one tab automatically changes all other tabs, as it is assumed you are only ever interested in snippets for a single platform at a time. For convenience, the active tab as you read is based on your current OS, such as Windows or Linux.