Skip to content
Slides application using reveal.js as engine
Java FreeMarker Dockerfile Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This project provides an easy way to produce HTML slides based on reveal.js

How to use

The recommended way to use it is to run the Docker container.

In case you have a slides directory in your working directory, run the following command can start a ready-to-use slides webapp for you.

docker run --rm -p 8080:8080 -v `pwd`:/opt/app aoingl/slides-app

Now you can visit the slides:


Slides in 'slides' directory:

The most common way to design your reveal.js based slides using this project is to have a slides directory in the current working directory.

Suppose you are in working directory samples:

cd samples

The structure in samples directory is:

tree samples

└── slides
    └── free_talk                  # the slide name can be overriden 
        ├── reactive-traits.svg    # the image can be refered as relative link in the slide.html
        ├──            # sample file that can be refered to in the side.html as well
        ├── server.js              # sample file that can be refered to in the side.html as well
        ├── slide.html             # the main slide content (reveal.js defined content)
        └── slide.json             # customized freemarker context used in default slide template

After running above command, the slide in slides/free_talk can be accessed using link:


Any changes in the slides will take effect immediately.

Sample Talk

Slides in a zip file

Sometime you may want to share your slides, it is better to have it zipped.

You can simply put the zip file in the slides_zip directory in the current working directory.

If the slides are packaged into a zip file, like the in the slides_zip directory in the working directory, it can be accessed using link:


The file structure is just like the free_talk directory:

[🎩 lgao@lgao slides]$ unzip -l slides_zip/ 
Archive:  slides_zip/
  Length      Date    Time    Name
---------  ---------- -----   ----
    27360  06-19-2019 16:37   use_mouse.jpg
      141  06-19-2019 16:40   slide.html
       40  06-19-2019 16:40   slide.json
---------                     -------
    27541                     3 files

How to build

mvn clean install -Papp

Use the profile app to build the slides-app.jar

How to release

mvn clean install -Psonatype-oss-release

This will build the all ready to deploy artifiacts

You can’t perform that action at this time.