Create professional slideshows in seconds with App::revealup

App::revealup is a command line app that creates slide shows from markdown documents. We listed it in this this month’s “What’s new on CPAN”, but the app is so much fun I thought it was worth a separate feature.

Requirements

You’ll need to grab App::revealup from CPAN. The latest version (0.03) should run on most platforms including Windows. At the command line type:

$ cpan App::revealup

Create a presentation

App::revealup transforms markdown documents into slide shows, so let’s start by creating a basic presentation file, called presentation.md:

A quick guide to markdown  as served by `App::revealup`  
David Farrell  
[PerlTricks.com](http://perltricks.com)
June 2014

As you can see, markdown is easy to read. The code above is a single slide presentation. The only two interesting things going on here is the use of backticks (”`App::revealup`”) to create inline code and the hyperlink “PerlTricks.com”.

To view this slide in presentation mode, at the command line type:

$ revealup server presentation.md --port 5000

Now open your browser and navigate to http://localhost:5000. You should see something like this:

Let’s add a second slide to showcase how different headers appear. In App::revealup the horizontal slide separator is three hyphens in a row (“—”).

A quick guide to markdown  as served by `App::revealup`  
David Farrell  
[PerlTricks.com](http://perltricks.com)
June 2014  

---
# This is H1
## This is H2
### This is H3
#### This is H4

App::reveal dynamically reads the source presentation file, so you can leave the process running and just save the changes to the source presentation file. Reloading the browser at http://localhost:5000 should show the updated presentation. Press → to move to the second slide.

You can add vertical slides too. These are delimited by three underscores (”___”):

A quick guide to markdown  as served by `App::revealup`  
David Farrell  
[PerlTricks.com](http://perltricks.com)
June 2014  

---
# This is H1
## This is H2
### This is H3
#### This is H4

---

+ Unordered
- lists are
* made with plus, minus or asterisk
___

1. Ordered
2. lists are
3. made with numbers and a period

Refreshing the browser, we get two additional slides. Press ↓ to move down one slide:

Instead of trawling through every slide, I’ve completed the rest of the presentation and put it on GitHub. The presentation content is an overview of the markdown syntax. Try running it with App::revealup!

One nice feature is if you ever want to zoom out, just press the escape key:

How App::revealup works

App::revealup is the glue between the reveal.js library and the source markdown file. It launches a PSGI web server, and compiles a basic HTML document which loads reveal.js and any required libraries or css. You can override the default css theme by passing an extra command line option:

$ revealup server presentation.md --port 5000 --theme solarized.css

App::revealup installs all of the basic reveal.js themes or you can provide your own:

$ revealup server presentation.md --port 5000 --theme "/path/to/custom.css"

Conclusion

App::revealup is great example of Perl as a glue language - pulling together useful libraries to create something greater than the sum of its parts. If you’d like to learn more about the markdown syntax, check out this cheetsheet.

Enjoyed this article? Help us out and tweet about it!

Update: command changed to match v0.10 (see changelog) 2014-08-24.

Tags

David Farrell

David is the founder and editor of PerlTricks.com. An organizer of the New York Perl Meetup, he works for ZipRecruiter as a software developer.

Browse their articles