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.
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"
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.