Quick Start Guide
A Guide to Creating Memorable Presentations
September 22, 2025
Samantha Monty
Chair for Human-Computer Interaction, University of Würzburg

Welcome to Decker

Decker is an e-authoring tool for the creation of web-based educational content. With Decker you can create media-rich presentations with a few easy-to-use commands. This quick-start guide will get you started with installing Decker and beginning a presentation.

Navigate to the E-Learning & Blended Learning page to download the program.

Windows Setup

If you have already installed decker with an installer you can simply replace the decker.exe inside its installation directory with a new version.

Download

  • Windows installer
  • Double-click on the file in the Downloads directory and follow the installer instructions.

Setup

  • Navigate to a folder suitable for putting presentations. We suggest creating a new folder e.g. C:\Users\<username>\Documents\presentations
  • Open a Console by typing powershell in the address bar of the file explorer
  • Continue with Open a Presentation

MacOS Setup

Download

  • MacOS installer
  • Right-click on the link and select Save link as. Save to the directory .local/bin.
  • Enter the following command in the Terminal: ln -s decker-v0.13.2-macOS-X64 decker.
  • Navigate to System Preferences > Privacy and Security and click Allow to allow the execution of Decker,
  • Navigate to the directory in the Terminal and type chmod +x decker-v0.13.2-macOS-X64.
  • Add the path of the Decker file to your PATH environment variable.

Setup

  • Navigate to a folder suitable for putting presentations. We suggest creating a new folder e.g. /Users/<username>/Documents/presentations
  • Open a Console by right clicking the folder symbol and choosing Services > New Terminal at Folder

First Presentation

  • Type decker --example in the Console*. This will generate a new folder named example
  • Type cd example in the Console and do not close the Console.
  • Type decker --serve in the Console*. This command will open a local web server.
  • Open Google Chrome and navigate to http://localhost:8888/ to access the index of slides.
  • Click on the example link to see the example presentation.
  • Rename and modify the example-deck to create your own presentation.

Project Folder

Basic Files

In the simplest case, a new Decker presentation consists of the following files:

  • *decker.yaml: A file containing configuration option. If you have never used Decker before you should copy the one that is located in the example folder generated by Decker.
  • At least one file called \*-deck.md. This is a text file in the popular Markdown format.

Public Directory

After running e.g. *decker --serve, Decker will generate a folder named public. This folder contains your generated html presentation and files that are needed by the html files to look nice and function during a presentation. Everything in public is generated or copied automatically and will be so again if the folder is deleted.

Slides

Decker will recursively work through the current directory and all subdirectories. Markdown files ending on .md in those directories are processed and converted for presentation.

  • Files ending in *-deck.md are processed as slide decks. From one source file potentially four different targets can be generated:
    • *-deck.html: a reveal.js based slide-show
    • *-handout.html: an HTML document containing the speaker notes to the slide-show.
    • *-deck.pdf: a PDF version of the slide-show
    • *-handout.pdf: a PDF version of the handout
  • Files ending on *-page.md are translated into corresponding HTML or PDF documents.

Handouts

Handouts are created from the same Markdown source as the slide deck. This means if you have an example-deck.md, Decker will create an HTML example-deck.html as well as an example-handout.html.

A handout will be a continuous HTML page containing the same content as the slide deck.

Keep in mind that not all features of slide decks are currently supported for handouts as well.

Pages

Pages are separate documents, whose source file name ends in *-page.md. From these files, Decker creates *-page.html files.

Pages can be useful for supporting material such as exercise sheets.

Publishing

Publish the entire project to a remote location with the command decker publish. The remote location is specified in the meta-data variable publish.rsync.destination: using the URL formats that rsync understands. For example, to publish the entire project directly into the document directory of a remote webserver the decker.yaml file would contain:

publish:
  rsync:
    destination: author@public.server.com:/var/www/html/cg-lectures

To more precisely control the behaviour of rsync, a list of options can be specified in the variable publish.rsync.options. For example, to mirror (as opposed to copy ) the public directory to the destination the setting would be:

publish:
  rsync:
    destination: author@public.server.com:/var/www/html/cg-lectures
    options: 
      - --delete

Decker Commands A-O

  • decker check: check the existence of required external programs
  • decker clean: remove all generated files
  • decker crunch: compress all recordings to smaller size
  • decker decks: build HTML versions of all decks (*-deck.md)
  • decker even-more-info: print info about project parameters, sources, and targets
  • decker example: create an example project
  • decker handouts: build HTML versions of all handouts (*-handout.md)
  • decker html: build HTML versions of all decks and pages (-deck.md, -page.md)
  • decker info: print info about the project’s directories, generated files and the meta-data options
  • decker more-info: print info about project parameters, sources, and targets

Decker Commands P-Z

  • decker pages: build HTML versions of all pages (*-page.md)
  • decker pdf: build PDF versions of all decks (*-deck.md)
  • decker publish: publish files to a remote location using rsync
  • decker purge: remove all generated files
  • decker questions: build HTML versions of all questions (*-quest.md)
  • decker search-index: compile the global search index - required to enable the search feature
  • decker --serve: start a local web server to serve HTML files
  • decker static-files: copy all static files to the public directory
  • decker support: copy runtime support files to the public directory
  • decker transcribe: transcribe recorded videos using Whisper
  • decker version: print the current Decker version and branch
  • decker --watch: build HTML versions of all documents and watch for document changes