This repository is the source from which the DSP documentation on docs.dasch.swiss is generated. It includes these components:
Each software component has its own documentation in its repository.
The individual documentations are stored as git submodules in the /dsp
folder. Please do not change anything there.
They have to be updated in their own repositories. To grab the latest version of them, run make update-submodules
.
In addition to those embedded contents, there are contents that live in this repository.
They are stored in the /docs
folder:
- main landing page
- general DSP developers guide, with basics about DSP and how to contribute to the DSP software
Images like screenshots and so on have to be stored in /docs/assets/images
.
In order to build the documentation from source, you need to install the following prerequisites:
Some Terminal commands used for the instructions below are not shipped with macOS by default. They must be installed separately. Install the Xcode command line tools (not to be confused with the entire Xcode application) as follows:
xcode-select --install
You will be asked in a prompt if you want to install the command line developer tools. Click "Install".
Homebrew is a package manager that allows us to install other software. Install it with
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
just
is a handy way to save and run project-specific commands.
We need it to build the OpenAPI documentation for DSP-API and DSP-INGEST.
brew install just
In order to build the OpenAPI documentation for DSP-API and DSP-INGEST, you need to have Java 21 installed. We recommend using SDKMAN to manage Java versions. You should install the Temurin distribution of Java 21.
For example, to install Java 21.0.3:
sdk install java 21.0.3-tem
The documentation is built with MkDocs, which requires Python. You can check if you have it already installed with:
python --version
If this command doesn't output a version number, then run
brew install python
Install Graphviz (Graph visualization software) to work with .dot
files:
brew install graphviz
Clone this repository from GitHub and initialize the submodules:
git clone https://github.com/dasch-swiss/dsp-docs.git
cd dsp-docs
make init-submodules
If you have been away for a while, you might want to update the submodules to get the latest version of DSP-API, DSP-APP and DSP-TOOLS documentation:
make update-submodules
Install the required python packages (this will automatically create a virtual environment):
make install-requirements
MkDocs comes with a built-in dev-server that lets you preview your documentation as you work on it.
Make sure that the submodules are up-to-date (run make init-submodules
and/or make update-submodules
).
Then start the server with:
make serve
Open up http://127.0.0.1:8000/ in your browser, and you'll see the documentation landing page.
Deploying the documentation to docs.dasch.swiss is automated via GitHub actions.
Whenever a PR with the prefix deploy:
is merged into the main branch, a deployment is triggered.
So, to deploy a new version of the docs, follow these steps:
- switch to a new branch
- update the
release.mk
file with the corresponding versions (update-versions.sh
facilitates this step) - pull the documentations from the individual software components with
make update-submodules
- commit everything (incl. the submodules), and create a PR named
deploy: bump docs to <platform-release>
(e.g.deploy: bump docs to 2024.07.01
) - in order to merge, the automated tests must pass, and you need a review
- once the PR is merged, the docs are deployed to docs.dasch.swiss
To get help for the make
commands, run:
make help