

...but not so excited about Ruby
(But kudos to S9 for showing us the way!)

The only complicated part is the $do_slides:
$do_slides[=[
<div class='slide'>
<h1>$heading</h1>
$content
</div>
]=]

We'll also need an "action".
It's simple: most of the work is done by markdown
module(..., package.seeall)
actions = {}
actions.slides = function(node, request, sputnik)
require"markdown"
local delim = "@@@@@@@@@@"
local html = ("\n"..node.markup.transform(node.content).."<h2>"):gsub("<h2>", "\n"..delim.."\n<h2>").."\n"..delim
return cosmo.f(node.templates.SLIDESHOW){
title = node.title,
do_slides = function()
for heading, content in html:gmatch("\n<h2>(.-)</h2>(.-)\n"..delim) do
cosmo.yield{heading=heading, content=content}
end
end
}
end
Save this to ~/sputnik/share/lua/5.1/sputnik/actions/s9.lua

##) as slide titlestemplates to _templates_for_s9actions to slides="s9.slides"Save.
(Remember that you need "FullerScreen" - https://addons.mozilla.org/en-US/firefox/addon/4650)

Wikilinks work as long as we append ".slides to them"
For example: Slideshow Demo 2
To do: no way to link to specific slides

(Handy if we'll be making many slideshows).
templates to _templates_for_s9actions to slides="s9.slides"Then create new slideshow nodes by just setting prototype to `@Slideshow'