Skip to content

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

License

Notifications You must be signed in to change notification settings

arnehilmann/markdeck

Repository files navigation

markdeck - presentations as code

author cool slide decks, text-only, offline-ready, collaborative

Donate

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