104 comments

[ 1.3 ms ] story [ 172 ms ] thread
Really like this tool, glad to see it here.
I tried marp but fell back to Google slides.

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 Pitch.com for slides. They have a free tier now, I didn’t even notice.
Does anyone care to highlight the main differences between this and pandoc for creating slides in markdown?
For a start, this one has a VS Code plugin, so you can preview the resulting slides while writing them, without having to configure a build step.

It also seems to have a DSL giving you some control of the slides presentation, which in pandoc seems limited to applying CSS.

https://marpit.marp.app/directives

I wish someone made a Markdown -> Keynote tool.

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.

Congrats for posting. But I open up the page - don't see any easy way to launch fullscreen example and I quit.
It seems like all the boxes on the front page would've lent themselves very well to a demo presentation.
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.

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.

[0]: https://hedgedoc.org/

Neat, didn't know about this project. I was indeed talking about the draft-process. Thanks for sharing.
Do you know any way to get the beta access besides just waiting?
oooooh.... I'd love a beta invite for this if anyone has one.
Since everyone's sharing their implementation of "slides, but written in Markdown", here's mine: https://github.com/doersino/markdeep-slides

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.
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.

The idea is that if you just wanted to send someone something to read you could send them a PDF or word document.

If I wanted to present it you could build a ppt.

And having the source for this un Markdown to use with pandoc is nice.

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.

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.
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.

Git is the answer. Inline rendering and versioning/sharing baked in.
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.
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

> the dream is that something could do for slides what LaTeX did for text

Why not use LaTeX (Beamer) for presentations?

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.
I disagree.

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...
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].

[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...

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.
You are free to layout your slides in any way with revealjs. To disable auto-centered content:

```

Reveal.initialize({ disableLayout: false });

```

Yet to see that 0.0001% who does that.
I'm curious what people's experiences are who have used both. It seems to be the most solid competitor in this field.
[flagged]
Surely design and structure are just a matter of sprinkling enough ASCII special characters into a text blob.
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:

https://www.deckset.com/

DeckSet, but I miss being able to create my own template, for example to add a small logo in a corner to follow corporate guidelines.
Is this a creature comfort wrapper for reveal,js?
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
Same! I rarely use it anymore, but was always very pleased at the Deckset functionality.
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.
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.
> 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.

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.
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!

For reveal-js, you can always use `?print-pdf.` to get a static PDF from your slides.

[1] https://revealjs.com/pdf-export/

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 try to model my figures after these suggestions (it means it's not easy to make figures without a visual editor): https://www.youtube.com/watch?v=Unzc731iCUY

Yes, reveal-js is missing an easy to se wysiwyg editor, I agree.
https://github.com/doersino/markdeep-slides

markdeep slides can support all the stuff that markdeep supports https://casual-effects.com/markdeep/ Admittedly, creating that asciiart by hand is obnoxious, but tools like monodrow https://monodraw.helftone.com/ make it easy.

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.

Cool! Also alle the other links other users are posting.

Question: is there an option obsidian plug in for this?

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.

Do you mean anchors as in clickable objects, or do you mean attachments points on nodes for incident edges that stay attached if the node is dragged?
Do you represent the graphviz team? If so, thank you, awesome tool.

I mean attachment points. I didn't need clickable objects in my presentation so I don't know about them.

Yes. Is there a specification for what we need to implement? The native SVG generator is easily modified.
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.
You can put anything in a Markdown table cell using HTML markup!

For instance, I regularly use ordered and unordered HTML list in table cells, this is generally supported by all MD renderers

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.

markdown -> reveals.js pandoc is great. Having an tree-view overlay for your 2D presentation flow in the final presentation is as good as slides get.