Reproducible and Scalable Research with Snakemake and Software Containers

July 15, 2026 · View on GitHub

GitHub Release Date DOI License: CC BY-SA 4.0

Reproducible and Scalable Research with Snakemake and Software Containers

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