Skip navigation

Tag Archives: markdown

Over the years, I met a number of people — trainers, speakers, hackers — who produce a lot of slide-ware (decks often more than a hundred pages wide), but never really use the conventional presentation packages for it.

Instead, they script things, (partially) autogenerate text, and use one of the markup-to-presentation converters out there: latex beamer, showoff, pandoc, or S9 (there’s much more).

Asking them why, the answer is always one or more of the below:

  • I prefer my text editor over the slide editing package
  • I want to track my content in a revision control system
  • I auto-generate content, or need to frequently merge stuff
  • and (rather infrequently): because PowerPoint is just sooo not cool

I can’t really help with the last item, but the first three clearly resonate well with me. While I was preparing slides for a hands-on session about ceph last year, I thought it would be pretty nice to get some tool hacked up that formats all the shell commands in nice typewriter script, and let me re-generate slides after every major rework (we were in the middle of moving demo setup to AWS, i.e. the ground was changing under our feet substantially). Born was the first rough cut of odpdown:

Why I didn’t re-use one of the existing tools from above? Well, the event in question had strict requirements on the design and formatting of the slides, so I was stuck with a given Impress or PowerPoint slide template. And secondly, I think the auto-generation software space in the ODF ecosystem is under-developed — this is therefore to some extent a showcase for what is possible, and what existing libraries are there to build upon.

So the initial hack has since been refined a lot, and test-driven by a few people (12 issues filed in two days by Adam Spiers, I was embarrassed!). Therefore today I feel confident enough to announce version 0.4.1 as a beta release a bit more widely:

Using it should be a matter of installing the package (manual installation instructions and a quick usage howto here), typing up some markdown, and calling it thusly:

     odpdown \
     --break-master=break_slides --content-master=content_slides \ corp_template.odp out_slides.odp

A quick walk-through PDF for basic markup is available here:

Basic markup

Basic markup


Conversely, a quick walk-through PDF for more advanced markup is here:

Advanced markup

Advanced markup


Have fun!