This project implements a GitLab CI/CD template to build your static website with [MkDocs](https://www.mkdocs.org/).
Since version 2.11, this template also supports [Zensical](https://zensical.org/docs/get-started/). This tool is highly compatible with MkDocs, particularly Material for MkDocs
, as it was created by the same author.
## Usage
@@ -42,15 +44,22 @@ The MkDocs template uses some global configuration used throughout all jobs.
| Input / Variable | Description | Default value |
| `image` / `MKD_IMAGE` | The Docker image used to run MkDocs | `docker.io/squidfunk/mkdocs-material:latest`<br/>[](https://to-be-continuous.gitlab.io/doc/secu/trivy-MKD_IMAGE) |
| `image` / `MKD_IMAGE` | The Docker image used to run MkDocs or Zensical (see below) | `docker.io/squidfunk/mkdocs-material:latest`<br/>[](https://to-be-continuous.gitlab.io/doc/secu/trivy-MKD_IMAGE) |
| `build-system` / `MKD_BUILD_SYSTEM` | The engine to use: `mkdocs`, `zensical` or `auto` to detect the available tool (see below) | `auto` |
| `requirements-file` / `MKD_REQUIREMENTS_FILE` | Requirements file. If the file is not found in the repository, requirements are read from the `MKD_REQUIREMENTS` variable | `requirements.txt` |
| `requirements` / `MKD_REQUIREMENTS` | Space separated requirements (ignored if a requirement file is found) | `mkdocs` |
| `requirements-file` / `MKD_REQUIREMENTS_FILE` | Requirements file. If the file is not found in the repository, requirements are read from the `MKD_REQUIREMENTS` variable <br/>Not supported by Zensical (see below) | `requirements.txt` |
| `requirements` / `MKD_REQUIREMENTS` | Space separated requirements (ignored if a requirement file is found)<br/>Not supported by Zensical (see below) | `mkdocs` |
| `site-dir`/ `MKD_SITE_DIR` | MkDocs generated site directory (relative to `$MKD_WORKSPACE_DIR`), the path will be declared as artifact | `site` |
:information_source: `MKD_IMAGE`: To use Zensical, you can use `docker.io/squidfunk/mkdocs-material:latest`, or any image with Python (`docker.io/library/python:latest`) or Astral uv (`docker.io/astral/uv:python3.14-trixie-slim`).
:information_source: `MKDOCS_BUILD_SYSTEM`: When using Zensical, you can specify the build tool version by including a [version identifier](https://peps.python.org/pep-0440/). For example: `MKDOCS_BUILD_SYSTEM="zensical==0.0.10"`.
:warning: Unlike MkDocs, Zensical doesn't require managing Python dependencies. While it currently lacks a component system, most features are built-in.