1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# Slideshow presentations in the browser
Conventional tools for slideshow presentations are pretty horrible, at least compatibility-wise.
I've made my fair share of presentations, especially during high-school, usually I ran a much newer Microsoft Office version than was available on the school computers (on which I would present).
Everything "worked", but often a lot of features like animations and formattings were completely wrong.
Visual Basic for Applications, however, was despicable.
For an assignment I worked on an interactive [Who wants to be a millionare presentations](TODO), with buttons, sound effects and all of the pazzaz.
After 3 days of work, in the final hour of work, Microsoft Office crashed so bad, all of the code was deleted and unrecoverable.
Switching to Linux didn't make the situation any greener.
Some of the blame should be aleviated, since I kinda had to use [Microsoft's proprietary formats](TODO), which are [**the worst**](TODO).
At the time (~2020) I tried out most available FOSS solutions, but the best one was LibreOffice, which still had issues with Bulgarian text, maths fonts and general element placement.
Times have passed, so it's probably a good idea to revisit them, however I doubt anything groundbreaking has happened.
For a while I had to make my presentations in [Microsoft Office 365](TODO) (which my highschool had a license for, so I could use it freely), which did the job.
But now I'm out of (high)school, if I'm gonna make a presentation, it's going to be on a topic I care about and shared with people who might also care, and the process of creating and presenting had to be simplified.
Shopping for a new slideshow tool began with [ozlab's](TODO) list of [linux.conf.au presentation slides](https://lca-kernel.ozlabs.org/).
Snooping around the files, we learn this:
| Tool |Sum|2022|2021|2020|2019|2018|
|------------------------|---|----|----|----|----|----|
|LibreOffice Impress | 10| 2 | 1 | 1 | 3 | 3 |
|Microsoft Powerpoint 365| 1| 1 | | | | |
|Microsoft Poweropint | 3| | 1 | | | 2 |
|LaTeX | 3| 1 | 1 | | 1 | |
|Google Slides | 9| 3 | 4 | 1 | 1 | |
|macOS Quartz | 2| 1 | 1 | | | |
|reveal.js | 1| | | 1 | | |
|Markdown | 1| | | 1 | | |
|iText | 1| | | | | 1 |
LibreOffice was most widely used!
However, that still doesn't fix my problem.
Proprietaries are a no-go, TeX is fantastic for papers but it isn't very visually appealing (without some work) and there are easier ways to format text, and Markdown needs to be somehow extended to work for a presentation (more on that later).
What's left is reveal.js, hinting at the idea of web browsers (direct HTML, not like MS Office 365) as presentation tools.
As an overall replacement, reveal.js is great, especially when paired with their (non-free) web GUI, [slides.com](https://slides.com/).
It supports arbitrary placement of elements, (obviously) text, images, code blocks, transitions and animations and everything else you might want.
On the other hand, elementary observations reveal that most presentations from linux.conf.au, are shared as a PDF file.
Furthermore, most of the slides have only a heading, some text (often in the form as an item list) and an image or two, either below the text, or taking up the whole slide.
This rules out animations, transitions and arbitrary placement!
Additionally, this seems to apply to most presentations in other conferences, like [strangeloop](TODO) or [TODO].
Thus, the new slideshow system needs to be significantly simpler, mostly wrapping HTML into slides and adding some additional options to present, export to PDF and so on.
Moreover, I have a website, I can create HTML text paragraphs, lists, images and so on very easily with Markdown, wouldn't it be awesome if I could pretty much write an article, which is then split into slides?
There are actually [quite a lot](https://gist.github.com/johnloy/27dd124ad40e210e91c70dd1c24ac8c8) of utilities that support this.
Most are web or electron based apps, which I would like to avoid, since I write with vim.
Most of the command-line tools, that convert Markdown to HTML, use either [Remark.js](https://github.com/gnab/remark) or [mdx](TODO) [TODO INEFFICIENCY COMPARISON]
|