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 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.
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 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.
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.
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.
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
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...
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.
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 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!
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.
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. . I explain it in this blog post: https://www.pugillum.com/posts/2021_11_28_drawio_in_markdown.... This also works for Marp slides
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.
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 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.
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.
104 comments
[ 1.3 ms ] story [ 172 ms ] threadMost 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)
Back in the day I made GistDeck, which made presentations from Markdown in a gist via a bookmarklet.
https://github.com/nzoschke/gistdeck
Awesome to see this idea fully realized.
A blog post: https://ubikium.gitlab.io/portfolio/latex-beamer-flake.html Example code: https://github.com/crvdgc/latex-beamer-flake
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
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).
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 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.
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.
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.
[0]: https://hedgedoc.org/
[0] https://hedgedoc.org/ and https://demo.hedgedoc.org/slide-example?both
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.
[0]: https://github.com/reveal/multiplex
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.
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.
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.
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.
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
Why not use LaTeX (Beamer) for presentations?
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.
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 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.
(Incidentally, your response is quite condescending. I clearly didn't suggest that visual design isn't a professional field.)
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.
[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...
```
Reveal.initialize({ disableLayout: false });
```
This has been in Go from the very early days - also Markdown.
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/
https://docs.decksetapp.com/English.lproj/Formatting/08-form...
(their docs are also quite good in my experience)
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'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!
[1] https://revealjs.com/pdf-export/
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
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.
Question: is there an option obsidian plug in for this?
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 mean attachment points. I didn't need clickable objects in my presentation so I don't know about them.
For instance, I regularly use ordered and unordered HTML list in table cells, this is generally supported by all MD renderers
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.