Building the documentation¶
- Make sure you are in a virtual environment with Python 3.9+ or use the
uv
commands as demonstrated below. - Run the
mkdocs serve
from the project root older - Create new pages by adding folder and Markdown files inside
docs/*
Set up your environment¶
The pyproject.toml
file of the cgse
root contains additional dependencies for running the
mkdocs
commands. When working on the documentation, make sure you have installed the 'docs'
dependency group. Currently, only mkdocs
and mkdocs-material
are needed. You can use the
following command to add the documentation dependencies to your development environment.
$ cd ~/github/cgse
$ uv sync --all-packages --all-groups
Now you can start the live-reload server of mkdocs
. This will recreate the documentation
whenever you make a change in the files below the docs
folder. After starting this command,
navigate to the http://127.0.0.1:8000/cgse/
site in your favorite browser.
$ uv run mkdocs serve
Now you can update files, create new folders in docs/*
, create new Markdown files and all changes
will be reloaded live in the browser.
When you are ready with updating, you will need to build the site and publish it on GitHub pages:
$ uv run mkdocs build
$ uv run mkdocs gh-deploy -r upstream -m "documentation update on .."
Commands¶
mkdocs serve
— start the live-reloading docs servermkdocs build
— build the documentation sitemkdocs deploy
— publish your documentation on GitHub pagesmkdocs -h
— print a help message for more options
Project layout¶
The documentation pages follow more or less the structure of the code in terms of libs and projects. Below I have laid out this structure leaving out less important files and folders.
mkdocs.yml # the mkdocs configuration file
docs
├── index.md # the documentation homepage
├── initialize.md
├── getting_started.md
├── package_list.md
├── dev_guide/
├── user_guide/
├── libs
│ ├── cgse-common/
│ ├── cgse-coordinates/
│ ├── cgse-core/
│ ├── cgse-gui/
│ └── index.md
├── projects/
│ ├── cgse-tools.md
│ ├── symetrie-hexapod.md
│ └── index.md
├── images/
└── roadmap.md