markdeck - presentations as code
author cool slide decks, text-only, offline-ready, collaborative

why?
- 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.
tldr
Choose the right binary to download:
# MacOS (Intel)
curl -Lo markdeck https://github.com/arnehilmann/markdeck/releases/download/v0.60.0/markdeck.x86_64-apple-darwin
# Linux
curl -Lo markdeck https://github.com/arnehilmann/markdeck/releases/download/v0.60.0/markdeck.x86_64-unknown-linux-musl
chmod a+rx ./markdeck
./markdeck init my-slides
cd my-slides
../markdeck
open http://localhost:8080/
open http://localhost:8080/admin.html
# edit slides.md, add assets/*, examine example deck, read documentation, create ascii-art, ...
optional components
| Renderer |
Needed Component |
Installation on MacOS |
| render_ditaa, render_plantuml |
java runtime |
brew install java |
| render_dot |
graphviz |
brew install graphviz |
| render_vegalite |
vega-lite |
brew install npm; npm install vega vega-cli vega-lite |
| render_qr |
qrencode |
brew install qrencode |
| render_svgbob |
svgbob |
brew install svgbob |
| render_a2s, render_a2sketch |
docker |
docker run -d -p 22753:22753 arne/a2sketch:0.15 |
tldr, the old way
also see the old README.md for v0.54.
mkdir -p my-slides/deck && cd my-slides
echo -e '# Hello World!\n\n# Second Slide...' > slides.md
curl -LO https://raw.githubusercontent.com/arnehilmann/markdeck/main/docker-compose.yaml
docker-compose up
open http://localhost:8080/
open http://localhost:8080/admin.html
# edit slides.md, add assets/*, examine example deck, read documentation, create ascii-art, ...
links
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
评论