I made this in college because I would always make slides last minute before class presentations or talks at my school's CS club, and fiddling with google slides/powerpoint seemed like overkill. I hope you find it useful as I have over the years.
I've attempted to rewrite it 5 or 6 times based on whatever cool technology I was distracted with, but never merged anything upstream (Spectacle https://github.com/FormidableLabs/spectacle is already a wonderful React solution).
A couple other folks maintain cleaver now (they're great), but lemme know if you have any questions!
Yeah after 1-2 presentations I built a template and just drop stuff into each slide I have defined. Then if I need more slides I copy the framework bit for a single slide. Super easy.
Dropbox Paper recently added a similar feature called Presentation mode. It treats --- as slide breaks and intelligently does font sizing of headers, recognizes headers as "soft slides", etc. It takes very little to no effort to go from doc to minimal presentation.
I use Reveal.js for my presentations. The standard docs do have you putting all the slides in one big file, but I re-used slides between presentations so I created a little build systems with sets of slides, as well as individual slides, for different talk types:
I believe it does. The full docs are pretty extensive:
https://github.com/hakimel/reveal.js
IIRC, at the time you had to serve the presentation from a web server for the includes to work correctly (not sure if that's still the case). That combined with me needing to reuse slides and create sets led me down the path I did, but there are probably easier ways to do that now.
This looks great. I love the simplicity on mobile and it has some nice touches (e.g. top progress bar).
I'm working on a project that needs something similar to this - embedded html presentations - but I'm faced with a problem I haven't found an easy solution to yet.
Markdown is great if there is just text or maybe only an image and text, but it falls down pretty hard with oddly shaped images or multiple images.
I'm considering making a js script to reformat things to look reasonable (e.g. Two column text + image with a tall image). Is there anything like this that exists currently?
These kinds of tools have been around forever. There are probably literally hundreds of ways do do slides from plain text. An older one is MagicPoint[1].
I have used mkdocs! Very cool. I actually used it to produce a newsletter. SO much easier to write the whole newsletter in md and push it to "site" which we then published via email.
Thanks for writing it. Slick, simple, and delivers.
The benefit is that it's org files, so you have all your standard org features, like easily adding new items and reordering things. It also, unlike other org presentation modes, presents from inside Emacs.
Forgive me if it's obvious, but I'm new to programming and I'm trying to understand how this works.
I've been looking through the github repo for a while now and I can't find the code that is responsible for parsing the markdown syntax into the html tags which are rendered on the page. Can someone point me to where that logic is occuring?
/**
* Renders a slide.
*
* @param {string} content Markdown content to be rendered as a slide
* @return {string} The formatted slide
*/
Cleaver.prototype.renderSlide = function (content) {
return marked(content);
};
grzm covered it well! But let me know if you have any other questions or are generally curious about how the code is structured. I learned a lot myself while writing it.
I'm @jdan on twitter if that's a better avenue for you (DMs are open)
Md slides day? Nice to see another option. I use Keynote/Powerpoint only if I absolutely have to nowadays (collaboration). The simplicity of plain text -> slides really speaks to me.
I wrote something like this when I was in high school because I got tired of powerpoint being hard to work with across platforms (Linux...). I ended up using it for a couple class presentations, which I enjoyed because it forces you to focus on content vs. unnecessary style and it's just a URL to link to instead of a maybe-compatible .pptx.
Since it appears to be markdown slides day on HN, I am getting close to releasing a beta of Ultradeck (https://ultradeck.co). Currently the marketing site mentions that Ultradeck is a desktop app, but I have since pivoted and it will be a webapp. I am targeting a beta launch next month!
I really like this. Have messed with the other forms of this approach over the years but this looks like the simplest. My need is to create a tool that makes easier for people to quickly throw together presentations from some boilerplate and some code, screenshots, links etc. This looks like 80% of what i need. For anything more sophisticated i would use mkdocs which i already use.
BTW i prefer to use typora for my md editing. Its (so far) the nicest tool with which to work in md directly on windows. I use MOU on osx, and downloading macdown today.
i think it started out being free for everybody, but now
a free account is available only for public slide-decks.
(when it was free for everyone, i think all decks were public, so it's not as if they ripped back functionality.)
Jupyter, does this, but better IMO. Not only you can create slide shows with markdown, but the code is executable and include code completion when your write it.
well this example has very little front end and shouldn't need much of a back end to sync data between systems that want to access it.
If i were to build something like this i would go with a very limited stack - say only jquery and some js libraries in front end. The back end would be a couple of dozen lines of code that does nothing but use a sqlite instance to store the slideshow data.
the front end would be local first and store its data in local storage.
I made this in college because I would always make slides last minute before class presentations or talks at my school's CS club, and fiddling with google slides/powerpoint seemed like overkill. I hope you find it useful as I have over the years.
I've attempted to rewrite it 5 or 6 times based on whatever cool technology I was distracted with, but never merged anything upstream (Spectacle https://github.com/FormidableLabs/spectacle is already a wonderful React solution).
A couple other folks maintain cleaver now (they're great), but lemme know if you have any questions!