Reproducible and Scalable Research with Snakemake and Software Containers
July 15, 2026 · View on GitHub
Reproducible and Scalable Research with Snakemake and Software Containers
-
Website is hosted at https://sib-swiss.github.io/containers-snakemake-training/latest/
-
Please refer to issues for improvements/bugs for course material or the website
-
Any contribution to this course material is highly appreciated :+1:. Please have a look at the CONTRIBUTING.md file to learn more on how to contribute
Authors
How to host the website locally?
Once you have cloned the repo, you can host it on your local browser. The website is generated with Zensical, a modern static site generator built on the Material for MkDocs theme, and configured entirely through the existing mkdocs.yml (Zensical reads it natively, no config changes required).
-
Clone the repository:
git clone https://github.com/sib-swiss/containers-snakemake-training.git -
Create and activate a virtual environment (recommended):
python3 -m venv .venv source .venv/bin/activate -
Install Zensical:
pip install zensical -
Make sure you are in the repository directory and type:
zensical serve
The website will be hosted on your local browser at http://localhost:8000/.
Note: Zensical is under active development. Plugin support is currently a subset of the MkDocs plugin ecosystem, with full parity planned for upcoming releases. If you rely on custom plugins in
mkdocs.yml, check Zensical's compatibility notes before switching.
How to generate a github page?
Zensical does not ship a gh-deploy shortcut like MkDocs did. Instead, see Zensical's publishing guide for a ready-to-use GitHub Actions workflow that builds the site with zensical build --clean and deploys it to GitHub Pages on every push.
This repository publishes multiple versions of the course material (e.g. latest/, 2023.10/), which requires a versioning tool on top of the base publishing setup. Zensical integrates with a fork of mike (the versioning tool originally built for MkDocs) as a bridge solution until native versioning support lands. To publish a new version:
mike deploy --push --update-aliases <version> latest
mike set-default --push latest
Note that mike's Zensical fork isn't on PyPI yet — it must be installed directly from GitHub:
pip install git+https://github.com/squidfunk/mike.git