ZIP/Tarballs: download Github: project page

Every time I have to make a presentation, I’m always a bit confused about which software I should use to create and to show my slides, as no one seems to fit my needs (which are very simple, in fact).

Basically, what I want is:

  • Use a web browser to display slides, and be cross-browser at least with latest versions
  • Use a single HTML file to enter the slides data, avoiding at all applications like Impress or PowerPoint, which require a lot of time to create and move things around
  • Scale and display well on any resolution
  • Everything should be centred, both horizontally and vertically, and enlarged as much as possible
  • Center source code and left-align it
  • Painless PDF export

Surprisingly enough, all software out there misses at least a couple of these points: there are excellent tools for web browsers which provide a lot (too many?) features to make all kind of slides, but some don’t seem to be able to centre and enlarge text automatically, others work only on a single vendor’s browser. Moreover, nearly all of them lack an easy way to get a PDF copy of the slides, which is very important (when everything fails, a PDF displayed on a computer you borrow can save your presentation).

Enter Presentazion (the name is Friulian language for presentation).

Creating the slides is very simple, as they’re all in the main file (the whole software consists of 4 small files). The recommended way to create slides is by using the multislide feature:

<div class="multislide">
all lonesome lines are wrapped in p tags
----
and code...
    is automatically formatted as it should
    when leaving 4 blanks at the beginning
    of the line
----
unordered list
// comments are ignored
* one
* two
* three
----
ordered list
# one
# two
# three
----
<h2>HTML is still ok to use</h2>
</div>

If you want full control over what you create, you can also directly create the slide DIVs - it’s easy (even though a bit more verbose than the above example):

<div class="slide">
<p>It's Friulian for <i>presentation</i></p>
</div>

<div class="slide">
<h2>Design Goals</h2>
<ul>
<li>Everything centered</li>
<li>....</li>
</ul>
</div>

<div class="slide">
<h2>Code example</h2>
<code>
sub where_are_you {
    my $self = shift;
    say "I am in " . $self->place;
}
</code>
</div>

slide and multislide can be combined (multiple times) in the same slidewhow at your convenience.

Now open the software in any recent web browser (yes, also Explorer is supported if you have at least version 8.0) and it will look like this example.

You can navigate with PgUp, PgDown and other keys - press h from within the presentation to see them all. You can also jump to a specific slide (press j), see where you are (press n) and even jump forward to a slide which contains a search pattern (press s).

Look can be customized by editing the CSS file.

And… PDF export works out of the box by using the excellent wkhtmltopdf piece of software: the PDF will be almost identical to the presentation you see on the web browser. Take a look at the example script to see how it works; there’s also a print CSS which can be tweaked to change resolution, etc.

ZIP archives and tarballs of latest version can be downloaded by clicking here.

All code, which is released open source under the Artistic (perl5) or GPL v3 license, can be found in the Presentazion github repository.