Markdown slides with native translations and file includes. One binary, no build step.
β / β or swipe to move between slides
## Hello π
Each `##` starts a slide.
/*
Notes for the speaker view
*/
No Vue, no React, no config: a .md file is a talk.
demo/
βββ main.md β !include(slides)
βββ slides/
β βββ 01-markdown.md
β βββ 02-includes.md
β βββ β¦
βββ en.lang.json
βββ fr.lang.json
One !include(slides) pulls a whole directory, in order. This talk is built that way.
Slides hold $$key$$ variables, the words live in en.lang.json, fr.lang.jsonβ¦
slidesk my-talk # English
slidesk -l fr my-talk # French, same slides
Templates are plain HTML with named blocks. Themes, components and plugins are shared on the hub.
## My slide .[#split]
[[left]]
On the left
[[/left]]
slidesk export -t pdf my-talk # my-talk.pdf
slidesk export -t pptx my-talk # my-talk.pptx
slidesk save -t public my-talk # a static site
slidesk link host my-talk # online for 72 h
PDF, PowerPoint, a static site for GitHub or GitLab Pages, or hosted on slidesk.link.
slidesk import deck.pptx
slidesk import https://docs.google.com/presentation/d/β¦
slidesk import slides.md -t slidev
slidesk import index.html -t revealjs
PowerPoint, Google Slides, Slidev and reveal.js decks become SliDesk talks.
slidesk -t my-talk
telnet localhost 2323
Yes, really: --telnet serves a text version of your talk.
brew install gouz/tools/slidesk
slidesk create my-talk
slidesk my-talk
Documentation Β· GitHub Β· Hub