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

mhelmore/markdeck

 
 

Repository files navigation

markdeck - presentations as code

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

Donate

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 https://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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CSS 61.1%
  • Shell 15.4%
  • SCSS 6.8%
  • Lua 6.7%
  • HTML 5.6%
  • Makefile 2.2%
  • JavaScript 2.2%