For normal people making a presentation is as simple as opening PowerPoint and starting typing.
But I’m not normal. 🙂
I would like to start with a mind map and end up with a presentation – with Markdown as my preferred intermediary.
It doesn’t matter what the presentation is. Mine tend to be in one of the following categories:
- Something incredibly informal, perhaps to share with colleagues.
- A conference presentation.
- Workshop materials.
And sometimes the material isn’t going to be a presentation. Or at any rate not just a presentation. Hence Markdown being my preferred medium – as it can be readily converted to eg HTML.
And I want a low friction way of creating a presentation the way I like to create it.
The Workflow I Was Aiming For
The ideal steps go something like this:
- Have an idea.
- Create a mind map with the idea in.
- Work on the mind map until it’s time to flesh out some slides.
- Generate the skeleton Markdown for the slides.
- Flesh out the slides.
- Create the presentation – as readable by PowerPoint.
Steps 5 and 6 are, of course, iterative.
How I Built The Tooling For The Workflow
Steps 1 – 3 are all in my head or using MindNode, a very nice multi-platform mind mapping tool.
Steps 5 and 6 are:
- Use a text editor to work on the Markdown (with some extensions)
- Use my mdpre and md2pptx open source tools – via the make utility – to generate pure Markdown and convert it to PowerPoint .pptx format.
Decent text editors and make enable those last two steps to be quick and frictionless.
Step 4 is the interesting one. Let’s look at it in more detail – including how it’s done:
- I wrote a Shortcuts shortcut – that could run on iOS, iPad OS, or Mac OS (as of Mac OS 12 Monterey). It exports a mind map you select to Markdown, does a small amount of editing, and copies it to the clipboard. MindNode has a built in action to export to a number of formats, including Markdown. Which is why I’m favouring MindNode for this task.
- I wrote a Keyboard Maestro macro that invokes the shortcut.
- The same macro writes the Markdown out – to a directory and file you nominate.
- It also creates a make file that invokes mdpre and then md2pptx.
- It also copies some files – boilerplate Markdown and CSS – into place.
So, the whole thing is as automatic as it could be – with the user specifying only what they need to. And it runs very fast – and much more reliably than a human doing it.
Here is what a presentation outline looks like in MindNode.
I’ve deliberately used text that describes what the generated parts will be.
And here’s the Markdown the whole process generates.
=include metadata.md =include standard.css # Presentation title ## Section 1 ### Slide A * Bullet 1 * Bullet 2 ### Slide B ## Section 2 ### Slide C
As you can see, it’s plain text – which is what Markdown is. So you could use any text editor you like to work on this. And you can apply Git version control to it – which is often what I do for more formal presentations.
=include lines aren’t standard Markdown; They are what mdpre will recognise as instructions to include files.
In this case both
standard.css embed other files the same way.
One final thought: You might think that a mind map is overkill for a presentation but consider what a minimal mind map is: It’s just a single word, or maybe it’s just the title. MindNode, for one, makes it very easy to create just such a mind map. It really is very minimal indeed. And I would hope that any formal presentation would go through a structural process like mind mapping.
So, “Instant Presentation”? Well, not quite – but very close. And close enough to make it easy and quick to kick off another presentation – however formal or informal.
2 thoughts on “Instant Presentations?”