=pod =meta title YA Perl Advent Calendar 2005-12-07 =meta author Jerrad Pierce =meta company View maximized for best effect. =meta controls visible =head1 All Apologies For any readers without a modern CSS feature-ful browser, you'll be able to read the presentation but it'll be like watching somebody else fill out a crossword puzzle. We apologize for the incovenience. =for html
—The Management
=head1 Presents! =for html Last night a new "toy" slipped onto CPAN mirrors... =head1 spod5 =for html
spod5
=head1 So what is it? Awhile back there was a sudden proliferation of standards compliant web-based presentation systems with enough features to make PowerPoint users jealous. =over incremental * SlideML * HTML Slidy * S5 =back =head1 And then there was one Okay, so there weren't I many, and SlideML isn't exactly the same thing... moving on. =head1 Great minds think alike =for html Apparently I wasn't the only who thought one of these needed to join with POD to create Yet Another slide system. My intent though, was to graft it onto PerlPoint (Bundle). P.S. It turns out an S5 PerlPoint converter is in the works =head1 DLL hell Besides dependencies on such heavyweights as Template::Toolkit, POSIX and Encode, as well as the spod5 author's own Pod::POM::View::HTML::Filter, the distribution ought to be relatively easy to install if you have a reasonably sane setup. =head1 Getting it to work So the module, understandably, does not come with the E megabyte S5 toolkit. However, the documentation is a little unclear on what you're supposed to do with it. It implies a certain dependency but that's about it. The rendered output without the toolkit is a vanilla HTML document, so at least that works. =head1 Full steam ahead! If we blindly unzip the S5 tooklit in the same directory as our presentation everything works, however you can't help but wonder if all of that crud is really necessary. =head1 what the? Like, why does MACOSX get a doubly private directory? I thought this was supposed to be standards compliant? =head1 Taking out the garbage It looks like the OSX cruft is a resource fork, and you can safely remove everything but F =begin filter shell rm -rf __MACOSX pix primer* s5-* structure-* ui/i18n xoxo-s* =end filter =head1 Why I didn't link to the slide systems It seems you can't have both clean links and automagic bulleted lists, not that I really expected this to work: =begin html * SlideML * HTML Slidy * s5 =end html =head1 But wait there's more! You I have POD C...E> links =over * L * L * L =back Or you could code your own list in an HTML section. =head1 Titles are important It's very important that you include a title after your =head1-ings otherwise that slide's contents will be in the background throughout the presentation. This could potentially lend itself to interesting effects, though there are probably better ways of achieving them. =head1 Speaking of titles How did I manage to set mine? There's a brief mention of B, but that's not much to go on. The S5 tutorial fills us in on the fact that we're supposed to use lots of CmetaE>s to tag up our presentation. Alas, the obvious doesn't work =begin filter perl =begin html =end html =end filter =head1 Under the covers A quick grep of the script and a glance at the Pod::POM documentation shows us that the accepted syntax is =begin filter perl =meta title YA Perl Advent Calendar 2005-12-07 =end filter =head1 =begin filter The script inherits some nifty features from BooK's module, Pod::POM::View::HTML::Filter. We can even call up our old friend Perl::Tidy like so =begin filter perl =begin filter perl -nnn -css=../style.css foreach( 99..1 ){ print "$_ bottles of beer on the wall, $_ bottles of beer\n"; print "take one down pass it around, $_ bottles of beer on the wall\n"; } =end filter =end filter =head1 Et voilE We get syntax highlighted code. =begin filter perl -nnn -css=../style.css foreach( 99..1 ){ print "$_ bottles of beer on the wall, $_ bottles of beer\n"; print "take one down pass it around, $_ bottles of beer on the wall\n"; } =end filter Although perltidy's -css option is unavailable so you must use the document CSS. =head1 Gripe It's not clear why you have to jump through such hoops to include HTML in an HTML presentation format. Worse still C<=begin>/C<=end html> doesn't even work. But, this I an initial release and as the documentation states this script is just a quick hack for YAPC::Europe 2005 =head1 Summary I think this tool shows great promise, but could stand a little honing e.g; smarter title casing, although that's language specific. Follow the link below for the source to this presentation. =for html mod7.pod I'd hoped to use another feature on the next page to inline the source as a part of the document but C<=include> will helpfully interpret the included pod for you :-P ... regardless of extension. =head1 ../ =for html =head1 Chapter 22: In which I shift my butt =img getfuzzy20031213.gif =cut