The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


spod5 - Turn pod into S5


spod5 [--quiet] [--force] [--exec] [--base dir] [--slides style.css] [--multi] [--help] [--version] file.pod [ ... ]


spod5 is a pod-to-S5 tool, that uses Pod::POM::View::HTML::Filter to add syntax coloring to your slides.

Command-line options

spod5 supports the following options:


Do not print information messages.


Clobber existing .html files.

--base dir

Directory where the S5 CSS and JavaScript files are to be found. Default is ui/default.

--slides file

Provide a replacement for the standard slides.css file found in ui/default. This allows one to define their own styles. See also the =meta slides directive in the source file.


Use an alternative template to create an HTML file per slide. (This is still beta.)


Execute the commands in =exec directives.


Provide the list of available options and exit.


Print version information and exit.


Writing a presentation with spod5 is rather easy: all the =head1 headers mark the beginning of a new slide. The rest of the pod mark-up is converted as usual.

spod5 add several shortcuts and features:

  • =begin filter / =end filter sections allow support for syntax highlighting as done by Pod::POM::View::HTML::Filter.

    Several shortcuts are recognised:

  • convert into a bulleted list (can be nested):

        * bam
        * powie
        * kapow
  • support the incremental and incremental show-first classes, by using an explicit =over style:

        =over incremental
        * zlonk
        * ouch

    +>> is an alias for =over incremental and +> for =over incremental show-first.

  • put the inner text in the handout only:

  • insert an image:

        =img image.png
  • include another file:

        =include file.txt

    Note that the file is not parsed for special extensions like +, -, etc. If you want to include slide content, use plain pod.

  • insert the output of a command (dangerous):

        =exec command

    This is disabled by default: you must pass the --exec command-line parameter to enable execution of code.

  • for inserting more complex HTML, you can still use the classic =for html or =begin html / =end html constructs.


You can add several meta information to your pod:

    title        (presentation title)
    presdate     (presentation date)
    slides       (alternate slides.css file, to easily change styles)
    view         (slideshow or outline)
    controls     (hidden or visible)

S5 Version

This version of spod5 is meant to be used with S5 1.1, which can be downloaded here:

The main template is based on the blank.html file provided with S5 1.1.

For all things S5, see


Well, this script is just a quick hack for YAPC::Europe 2005. However, if you find bugs or have feature requests, send them to, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


Copyright 2005, Philippe Bruhat.


This script is free software; you can redistribute it or modify it under the same terms as Perl itself.