For my lectures [1], I use reveal-js [2], created with Jekyll from Markdown slides [3], surprised no one has mentioned reveal-js so far. The combination with Jekyll is great, since you can author & organize larger lectures in multiple smaller, ordered Markdown files. Reveal also has some really nice code animations, e.g. [4] or [5]. This [6] is the git repo for [1].
I wanted to love revealjs... but the "everything centered" approach seems to me low-effort and chaotic. Maybe a pleasure to author and render it, but hard to follow as a viewer the always position-changing content.
I believe https://quarto.org/ is the way to go in the universe of Markdown tools. At least for serious scientific presentations it seems the better choice. Under the hood it uses pandoc markdown and converts it into a revealjs presentation.
It's perhaps unique in that it doesn't require any sort of build process – inheriting its approach from Markdeep (https://casual-effects.com/markdeep/), it's just an HTML file (containing your Markdown content and a few <script> tags at the bottom) and a bit of JS/CSS.
This is so nice.
One feature I would like to see in web presentation tools where we can run multiple browsers in different location with participant view, synced with the view what presenter is showing.
Can save a ton of bandwidth then by not having to share the screen and not having to need video streaming.
Using Markdown for presentations seems like we're going in the wrong direction, if anything?
Presentations should have as little text as possible, but Markdown is a text-first markup language. I feel like if I used Markdown, I would end up putting way too much text on the screen because it's what's most convenient.
Boy, if only you saw how popular Beamer (a LaTeX presentation framework) was in certain academic circles. Spoiler: it leads to exactly the problem you describe, in addition to using some default styling that manages to be both hideous and crushingly bland at the same time. At least, based on the screenshots, this proposed framework doesn't have the second problem.
I guess, the way I view this is as a "better beamer" (which isn't saying much IMO) rather than a better powerpoint. Basically, it's a way for people who were going to make a text-heavy presentation anyway to produce something that looks OK, and to avoid using a heavyweight tool like LaTeX.
Markdown doesn't encourage or discourage text volume per slide. that's entirely the human. I mean sure, there's nothing stopping you from putting the full Illiad per slide but... again, that's you not the markdown.
you could just as easily paste or type paragraphs worth of text per slide in GUI presentation tools.
It's more a problem of not thinking about the volume you're putting on a slide or not using a tool that gives you good visual feedback like a GUI app does as you add text.
I've been using Deckset https://www.deckset.com/ for years and tend to have very little text per screen.
Having used many different tools to create presentations, including sozi, and jessyink (svg to presentation tools using inkscape), Markdown tools (reveal, sli.dev, reveal via org mode) and power point, I actually find that using Markdown tools typically leads to less text in slides (I know this is counterintuitive). You essentially often end up with a single statement/single image type slides that one often sees in "inspirational" type presentation (e.g. Ted talks.
There in also lies an issue with Markdown presentations, more complex layouts (e.g. a side by side comparison) often require tweaking css/html and are more inconsistent. Unfortunately I find it very hard to avoid layouts like these for deeply technical content.
I agree. Graphical animations (even to highlight text, tables, figures) is such an essential part of communicating in a slide show, and I have not found a tool that achieves both separation of content and style while allowing convenient design of these graphical elements.
I agree, but lots of folks are making presentations of this style because it's expected of them and they don't have the power to rock the boat, like the sibling comment about Beamer. Those folks still deserve good tools.
History and momentum is part of it, but the other part is the value of the slides when viewed later. There's an inverse correlation between the usefulness of slides and the quality of the presentation!
Best I've seen is low-text Google slides with heavy speaker notes included, but that's more work and prep than most people are willing to do (myself included).
There's also an alternative coming out from the people building iA Writer: https://ia.net/presenter
The problem with all of these is that there's no good way to live-collaborate with others. I feel like for most work use cases this is table stakes these days.
I hope they won't just focus on the presentation of graphics, but also on text.
When you have many code samples in your project, solutions like Keynote fall apart, unless you screenshot your code and add it as a graphic. Same for formulas; MathJax or something similar would be great.
I used Marp before and it was the best solution I found so far.
Are you talking about collaboration during the draft process for slides? This seems like realm that HedgeDoc[0] could take on, as they already support slide presentation modes for any of their collaborative markdown files. My only issue is with how difficult it seems to an average user to make decent slides using this method.
Markdown is great to write a talk (especially a talk about code) and not get distracted by pimping your slides. But once it comes time to make your slides look really great, I wish there was a proper UI for it (with fancy anination etc).
Pandoc apparently supports exporting to PowerPoint, maybe that could be a sufficient intermediate step from which you can import into keynote?
Alternatively it supports a few HTML-based slides support (as well as beamer), that’s no UI but it should offer good opportunities for styling / customising.
I used to write presentation slides in Markdown using pandoc+beamer. Basic contents are written in plain Markdown, but you can always resort to LaTeX beamer for advanced features. In the end, it compiles to a PDF file.
In the past I used reveal.js with its Markdown plugin to create slides for presentations. While that worked somewhat it always felt like working against reveal.js. Also their default of editing the index.html and other files in the source code felt really odd and I never managed to get good looking PDFs out of it (and I tried a lot).
Then I stumbled over Marp and it's been great. Don't get me wrong, it's not perfect, but for my use cases it's much better than using reveal.js with Markdown, as it just gets out of the way. Write your Markdown, maybe sprinkle in a bit of CSS and that's it. Wanna generate standalone HTML pages or a PDF out of it? Just run one command and get beautiful looking results.
Ha, I am stunned to see there are so many of these!
I’m sure they all work very well, in my own case I’ve been using Deckset for a number of years now and have always been impressed with the polish and usability:
I doubt it uses reveal.js under the hood, but, yeah I think they can effectively do all the same stuff! I just like it because I tried reveal.js (disclaimer, a while ago) and found it kinda fiddly whereas the macOS-native UI of deckset was nicer to use
I _really_ want to like any of the markdown to slides tools, but I can never find one that makes sense for my workflow.
I've revamped my entire workflow around writing proposals, reports, and other collaborative documents using markdown. With the time savings of using plain text and git, I can put together a professional looking document in a third the time compared to when we were all passing around proposal_version2_final_final2.docx around. And with most of the company using Azure DevOps wikis which are markdown based, I can have everyone collaborate in the wiki and then I pull the repo locally, cat the .md files together and render as a pdf and send it out.
...but my presentations are typically a title, one or two phrases, and a figure. And then I mark up the figure with arrows or circles, or other overlays. The only way I can get that to work in a markdown-to-slides workflow is to end up drawing the figures in powerpoint or draw.io or something, exporting them as a png and embedding them in the slide. So if I'm going to be in powerpoint anyway, I just end up making the slides there.
That being said, I'll probably spend the day in the Marp rabbit hole and see if I can get it to work for me. I hadn't heard of it until today. If I can live in markdown and VS Code, I'll be happy!
However, then we're right back at the question of why bother using markdown if you're making complicated graphics in another tool anyway.
I love Monodraw and use it for many things (it can create svg and png and other formats not just ascii) but yeah, it doesn't seem like a great solution for your use case.
You can actually embed drawio files directly in Markdown by creating your files as drawio.svg and then linking them in the Markdown, e.g. ![](my_lovely_drawing.drawio.svg). I explain it in this blog post: https://www.pugillum.com/posts/2021_11_28_drawio_in_markdown.... This also works for Marp slides
I created a makefile that takes the markdown and generates pdf and other outputs using pandoc with reveal-js. It works great for me except for the part about managing complex figures that I need a gui to draw. For figures that I create in python, that's great (I believe quarto was mentioned earlier, and that works great for more dynamic figure too). But if I'm annotating figures, opening up ppt and adding an arrow and text box is so easy.
I am using marp since about 2 years for my lectures. I have started to use markdown with presentations with deckset.com, however it seems as the developer stopped support and development. Also it's mac only which defeats one of the good reasons to use markdown (platform independence).
Generally it's nice for me to have content summarized in text only form. I have generally been distracted by all the layout features i need to define with any other presentation tool.
What i was missing was some layouts in marp, such as left / right splitting for images and text. However it's possible to use markdown-it plugins with marp which makes that possible.
Using pandoc is another nice addition which makes it possible to generate pptx from the files, however it's not supporting the markdown-it plugin definitions. To share something it's still better then the marp's pptx export which creates images in the presentations.
Generally i am missing good support for video's in most presentation tools. Also most presentation tools i have encountered only work on specific browsers. I'd love to share the presentations as html which is currently not feasible.
I never understood the appealing of Markdown for this kind of projects. At least on my environment, a presentation is a document that get send to different people, or live in a network/sharepoint folder were several persons contribute to it.
I imagine it must be a time saver for somebody, otherwise they were not be so many markdown presentation frameworks. But I can't figure it out the case.
TBH the appeal for me is that using powerpoint and the like is miserable. The moment you have more than one element on a slide, it's click click click click click click drag drag drag drag click click drag drag click drag killself to get anything aligned and somehow it still comes out ugly and just MAKE IT STOP.
the dream is that something could do for slides what LaTeX did for text---just make it possible to have basically attractive defaults for most cases rather than have to either tolerate ugly or spend hours doing layout
Honestly, it's not that bad. I've used Beamer for years, and every time I make a presentation using it I fantasize about finding something like Powerpoint to use instead. You think adjusting things is bad in Powerpoint or Keynote, but it's much worse in LaTeX where you only have loose and indirect control over layout, unless you use something like PGF/TikZ, which is just... tedious, let's say. I have thought for a while that taking a class to learn how to properly use something like Adobe Illustrator would repay itself many times over.
Also, a poor craftsman blames his tools... things like Beamer might "look nicer", but the downside is homogeneity. I've you seen one Beamer presentation, you've seen them all. On the other hand, the "ugliness" of a Powerpoint or Keynote presentation is probably down to your lack of skill at visual design.
But that’s precisely the point. There are lots and lots of people who need to make presentations regularly, who do not have professional visual design training or the budget to hire pros. In fact, I’d go so far as to say that the number of PowerPoints and the like made by pros is a vanishingly small number of total PowerPoints. The rest of us are not supposed to be craftsmen in that, we’re supposed to be craftsmen in the thing the presentation is about. This is a market opportunity for someone to make better tools.
If you're giving presentations as part of your job, then part of your job is to give presentations. Presumably, you should also do a good job of giving those presentations. Giving a good presentation means communicating effectively using the medium, which very well could require becoming enough of a craftsman to use the medium well. Lots of jobs require learning skills that are unrelated to main focus of the job. That's just life.
Of course, we could talk about whether so many people should be giving presentations, but that's another issue...
I suppose the opportunity exists for someone to step in and create a magical tool, but I have to say I think it's probably better if people just learn to communicate visually if they're able.
I mean, sure, I guess, if you think that visual design isn’t a professional field that people can spend their whole careers on.
I come at this from a weird angle, maybe. As an academic, I’m basically a professional writer. I recognize that I have pro-level writing skills, earned over years of blood and pain, and that when I read some corporate memo (more often than I’d like) it will almost certainly be written very badly, by my lights. But I forgive that, because even though writing memos and such is a part of many corporate jobs, it isn’t the most important skill, and it’s a skill that takes years to master.
Would it be ideal if those memos were written more skillfully? Sure. Is that realistic, given the constraints on people’s time? Absolutely not. When someone wires up a language transformer model to fix that, I will cheer.
I guess it depends on what field of academics you're in. Speaking as a fellow academic, all the time I've spent improving my ability to communicate visually has repaid itself many times over. This has helped my talks, my skills in the classroom, and my papers (it doesn't hurt to be able to make nice figures). It even helps when I'm just trying to explain something to a colleague on the blackboard.
(Incidentally, your response is quite condescending. I clearly didn't suggest that visual design isn't a professional field.)
I wasn't trying to be condescending, but to point out that your view seems to imply that visual design isn't a professional field---that is, one that takes massive specialized investments to learn!
Well, given a charitable read of my comment, that obviously isn't what I was implying.
There are plenty of fields which require tons of specialized training but which nevertheless can be useful with only a modest amount of time invested. You seem to be making things out to be pretty black and white: "either I will become a master at visual design or I won't give it a second thought!" There's an abundantly useful middle ground.
I've had the exact opposite experience, to be honest. Powerpoint is about the most drag-and-drop friendly tool I've used and makes creating presentations a breeze for my use case. It offers vertical and horizontal guides when moving objects around and manipulating text and images is much more intuitive in my experience than manipulating CSS/HTML/Markdown. I guess my use cases differ from many on here...
I would assume the vast majority of use-cases for this kind of thing is that Markdown is really easy to write, simple to add the few markup type things you'd want (bullet lists, tables etc) while having a simple enough format to render to various other formats which are more widely accepted as being "professional" enough for presentations.
For me it's the ability to type math in LaTeX notation on the slides. Google slides doesn't support this and neither did PowerPoint last time I used it many years ago.
When I was a TA I used a plugin to let me display Jupyter notebooks as a slideshow, that was really handy. Much better editing experience than ppt plus you have readable diffs with git.
You can put markdown into git and see diffs of it as it changes. This is easier with a text format than with PDF.
On top of that you can just concentrate on the content because how it gets shown is mainly handled by the system not you. There might be less freedom but you are freed from burden too.
I wrote something like this for conference talks ~12 years ago because I hate PowerPoint and don't have a Mac (for whatever not completely disastrous presentation tool my coworkers used). Didn't use it for a while but markdown to latex-beamer made total sense to me.
I love the idea of Markdown and try to use it everywhere where there's a need to write text. But, man, Markdown tables just suck. The limitation of what you can put in a cell (exactly one paragraph of text) is just crazy. I understand the need for minimalism but the trade-off is simply not rational. Other limitations I can work around but this is crippling.
I am always looking for ways to quickly put together math presentations and I’ve been recently turning to marp’s VS code plugin for this.
I also recently heard that quarto can do something similar (I.e markdown slides with math notation), and it also has a vs code plugin but I haven’t played with it much
Hackmd also has a nice markdown/math slides mode but unlike Marp it has no pdf export.
With Marp, I use a PowerShell function I call marp-template[0] (I use PowerShell Core on Linux and MacOS) to create a markdown file to serve as a starting template for me.
Then I use Marp's docker image, in another PowerShell function named marp[1] to render the HTML (I like using the --html flag so I can have actual HTML in my markdown files).
This workflow results in me being able to create presentations very quickly.
It depends on what you are presenting. I found [mdp](https://github.com/visit1985/mdp) to be very useful when presenting a tech talk. It is easy to copy and paste from the source material, it can be done all via the terminal, and it views well as a README on github.
I’ve had good success with mdp as well - when I saw the OP I was kind of hoping it would work with the same format mdp uses so I could go either lo-fi or fancy depending on the audience.
I'm not sure something counts as an "ecosystem" if all the pieces that play in that system are produced by the same entity. Feels to me like marketing BS.
I have played around with slides^1 before for doing small demos with my team, but I find that outside of highly technical geeks most people don't want to look at presentations in plain text in a terminal window. I like that this lets you create more traditional graphical slide decks while still using markdown + your favorite editor.
My pain point with these tools has been that my presentation ultimately ends up in the hands of business users, and they expect an editable PowerPoint. This includes native charts/visuals/tables. They don't like giving up control and get frustrated if a chart is an image or an SVG shape. Even when these tools export to PowerPoint, there is no native chart capability.
Here is a trick for you if you want some to have a somewhat editable SVG chart in PowerPoint.
Import your SVG in LibreOffice Impress, right click on it and select "Break", save your file as a .pptx, open your file in PowerPoint, copy the chart to your presentation.
I have used it a few times because I generated my charts using graphviz and the business people wanted something editable within PowerPoint. It is far from perfect because anchors are not supported, but it is enough to do minor modifications like fixing typos or changing the font for something similar sized.
I've decided early on in uni that I will reject LaTeX slides. For the same reason, I think Markdown slides should be rejected. Slides are not written documents, and they shouldn't be. Slides are ways to communicate ideas. This is where you use images, diagrams, animations, etc.
Nothing preventing you from including images or diagrams in Marp presentations. You can include any image or video format the browser can display. The majority of my Marp decks are slides of images.
Animations and especially animated diagrams are key to any good technical presentation. As far as I know there’s nothing as good as PPT or Keynote for that in Beamer/marp/whatever land
Most recently I have been using Figma with great results. I was surprised at how easy it is to make slides and with a few plugins manage page numbering and such alongside components.
Feels like there is room for something that combines marp and figma (assuming it doesnt already exist)
I like writing in markdown and use it literally everyday. But...powerpoint and keynote are so simple, and universal, why would you use anything else to slap together a basic slide show. Yeah I know...independence... forever format... F'Microsoft. Well, I'll take convenience and productivity, thank you very much.
> Well, I'll take convenience and productivity, thank you very much.
This is exactly the reason many people, myself included, prefer markdown. If you want to make an obviously provocative comment like this, you should add some substance it.
While mousing around in a gui to build pages of slides may have a better initial UX, it can never match the productivity of a user who knows the markdown rules creating one small file in a plain text editor.
I agree with that. But if you're doing a presentation about something then curb appeal matters. You can't beat ppt and keynote for simplicity and making it look good too.
[1] e.g. https://kartographie.geo.tu-dresden.de/ad/python_datascience...
[2] https://revealjs.com/
[3] https://github.com/sylhare/Reveal-Jekyll
[4] https://kartographie.geo.tu-dresden.de/ad/python_datascience...
[5] https://kartographie.geo.tu-dresden.de/ad/python_datascience...
[6] https://gitlab.hrz.tu-chemnitz.de/tud-ifk/python_datascience...