documentation-builder is now considered a legacy product, as all user maintained documentation sets should now be moving to the discourse-docs model.
Important fixes will still be performed, but we will not be adding new features.
A tool for building a set of documentation files in HTML format, from a remote git repository containing markdown files.
The best way to install documentation-builder is with snap:
sudo snap install documentation-builder
If you don't have snap on your system, you can also install it with pip3:
pip3 install ubuntudesign.documentation-builder
For more information see the documentation.
documentation-builder is a Python module. The main application code lives in ubuntudesign/documentation_builder. Updates to the markup or styling should be made in the default template.
To check your changes to documentation-builder, it's probably easiest to install the module locally, in editable mode, within an encapsulated environment:
python3 -m venv env3 && source env3/bin/activate # Create encapsulated environment
pip install -e . # Install the module in editable mode
documentation-builder --source-folder docs # build the documentation-builder's own documentation
xdg-open build/en/index.html # Open up the documentation page
On Ubuntu et al. you can use inotifywait to watch for changes to the source files, and rebuild when something changes as follows:
sudo apt install inotify-tools # Ensure inotifywait is installed
# Force rebuild docs when anything changes in the source folder
while inotifywait -r -e close_write "./ubuntudesign"; do bin/documentation-builder --force --source-folder docs; done
To run tests:
./setup.py test
To run a specific test:
./setup.py test --addopts tests/test_operations.py::test_find_files
You can debug tests by adding a debugger to the code and running the test again.