revelation is a cli tool that makes your revealjs presentations nice and easy using markdown and serving it locally.
- Presentation server to run it locally when you are offline.
- Presentation creation from template with a single command.
- Custom theming support with css.
- Export to static html tool.
- Debug mode with server auto refresh.
You can install it with:
pip install revelation
Or with pipx:
pipx install revelation
Revelation depends on revealjs to run its presentation and every command bellow will check and install it if revealjs isn't installed yet.
But, you can also manually install or even update it to a different version with the installreveal
command:
revelation installreveal
To create a new presentation you can use mkpresentation
command that will setup a new presentation using the base layout for you:
revelation mkpresentation mypresentation
You can start presenting with the start
command on your presentation markdown file:
cd mypresentation
revelation start slides.md
To export the presentation as static HTML content use the command:
revelation mkstatic slides.md
Presentations can be exported to PDF via a special print stylesheet. This feature will be described using Google Chrome or Chromium, but I got the same results using Firefox.
- Run the presentation with revelation.
- Open your browser with the
print-pdf
as query string like :localhost:5000/?print-pdf
. - Open the in-browser print dialog (CTRL+P or CMD+P).
- Change the Destination setting to Save as PDF.
- Change the Layout to Landscape.
- Change the Margins to None.
- Enable the Background graphics option.
- Click Save.
Alternatively you can use the decktape project.
The base presentation file structure looks like this:
presentation/
|- media/
|- theme/
|- config.py
|- slides.md
This is your presentation file written using markdown with some especial tags described on markdown section and is placed on your presentation root folder.
Split your slides by setting up a slide separator and vertical slide separator into REVEAL_CONFIG. Default separator are ---
and ---~
.
By default, revelation looks for a folder called media inside your presentation root folder. All media placed inside it can be referenced on your presentation by the path /media
:
![Python Logo](media/python.png)
You can define a custom media path using the --media
option on revelation start
command.
You can create your custom theme file and place it inside a theme folder and reference it at the configuration file by the option --theme
.
The configuration file located in the root folder of your presentation, allows you to customize your presentation. This file is optional and have the following configuration options:
- REVEAL_META: Metadata of your presentation, mostly to identify the author and title.
- REVEAL_THEME: A string where you can select the theme you would like to use. All revealjs base themes are available.
- REVEAL_CONFIG: A python dictionary with the revealjs configuration attributes but using python types (e.g.: true is python boolean True)
Once you create a new presentation, all configuration values will be there for you to customize.
The markdown used on the presentation files support everything that revealjs docs allows to place inside the data-template
section.