I have a repo which I use to store all of my conference and similar talks. This repo includes any code examples and most importantly the slides.

At the moment all the slides are RevealJS “sites”, which means it’s a presentation built in HTML. Now I would like to have all my talks deployed to single GitLab pages site. For example something like:

So how can we do this ? Simple! In our job to deploy the site we just need to add public/docker-as-a-dev-tool and public/an-intro-to-pocketbase respectively. Which ever path we provide is that path we will be able to access those slides on.

Here is an example .gitlab-ci.yml:

# .gitlab-ci.yml
stages:
  - pages

pages:
  stage: pages
  only:
    - main
  scripts:
    - mkdir -p public/docker-as-a-dev-tool
    - mv docker-as-a-dev-tool public/docker-as-a-dev-tool
  artifacts:
    paths:
      - public

Voila that’s it! Now we have multiple slides deployed to the same GitLab pages site. So I can keep all of my talks nice and neat in a single repo.

Appendix