markdeck - presentations as code
author cool slide decks, text-only, offline-ready, collaborative
markdeck reloaded
In the past years maintaining markdeck, some questions (problems?) came up over and over again. Following some keyphrases:
- what about that pesky docker dependency?
- multi-user setup, how?
- windows support?
- what a poor performance...
- native installation is cool.
I myself found it more and more difficult to bundle all the needed software packages, to improve performance, to add new features and fix bugs... and then delivering a 1GB docker image collection, yikes
So in the upcoming release (v0.60), markdeck gets reloaded (oh no, a rewrite, that cannot work!): the two main docker container (pandoc and liveserver) get merged and reimplemented in rust; and delivered as a binary, not a docker image.
It still is a bit rough around the edges (sanity check at startup: everything
there where expected? ), and for render_a2s
the docker container is still
needed (no way to reimplemented that nodejs/php beauty). But it is working
already quite well, so I keep you posted...
why markdeck?
- converts markdown to a clean html5 slide deck
- cool looking: based on battle-proven web frameworks, like reveal.js
- no uplink required, neither when authoring, nor presenting: no awkward moments during presentation (no "I am still waiting for the Internet, sorry!")
- all batteries included: live renderer, pdf output, asciiart-converter
- text-only, easy syntax: just markdown
- fast-n-easy to write: bring your own editor!
- easy to collaborate-n-reuse: text-only, so bring your own VCS
- eye-candy: supports unicode, emojis, fontawesome, asciiart, math, charts, code highlighting, recorded terminal sessions, ...
- self-documenting documentation slides: see the slide source and the result, side-by-side
You can also visit the shiny landing page, the revealjs showcase, or the impressjs showcase.
install markdeck, tl;dr
You need bash
, curl
, and docker-compose
, then run the following commands:
curl -LO https://raw.githubusercontent.com/arnehilmann/markdeck/master/markdeck
chmod a+x markdeck
./markdeck pull
The markdeck
script can be stored in a folder in $PATH
so that it
can be executed from everywhere in the file system.
documentation
... can be found in DOCUMENTATION.md
how to start from scratch
Run the following command to create an empty presentation (if markdeck
is not stored in $PATH
prefix the command with ./
):
markdeck scaffold
Run the following command to start markdeck:
markdeck
Open the browser at http://localhost:8080
.
edit slides.md, add assets/, consult documentation, ...
how does this work
markdeck takes slide-*.md
files in markdown format
and the assets subdir
and renders a html5 slidedeck, using pandoc as converter
and reveal.js as the presenter framework.
see the side-by-side view, to get an idea how markdeck works and looks like, or have a look at the documentation.
based on
markdown, pandoc, reveal.js, plantuml, ditaamini, asciitosvg, graphviz, asciinema, decktape, vega-lite, mathjax-pandoc-filter, and font-awesome.
known issues
- custom layout hard, but possible
- pixel-perfect layout nearly impossible
- see the todos
similar projects
- http://bigsense.github.io/
- http://slideshow-s9.github.io
- https://github.com/FormidableLabs/spectacle
- https://github.com/divshot/markdeck
- https://github.com/jxnblk/mdx-deck
- https://github.com/munen/p_slides
- https://github.com/regebro/hovercraft
- https://github.com/sinedied/backslide
- https://gitpitch.com/
- https://godoc.org/golang.org/x/tools/cmd/present
- https://www.deckset.com/
- https://yhatt.github.io/marp/