Sandstorm Hacker Slides
A simple app that combines Ace Editor and RevealJS
You can write markdown on the left, and preview your presentation on the right.
Hack on Hacker Slides
I built this app very quickly and it is unfortunately not one of my main
priorities right now. Contributions are very welcome!
Hacker Slides uses vagrant-spk, so dev setup is quite easy.
- You will need vagrant-spk installed. If you get an error running the
following command, follow the vagrant-spk installation
instructions
$ vagrant-spk -h
usage: /home/jack/bin/vagrant-spk [-h] [--work-directory WORK_DIRECTORY]
...
- Make sure you have virtualbox installed before bringing up vagrant vm
$ VirtualBox -h
Oracle VM VirtualBox Manager 5.0.0
...
- Bring up the Vagrant VM
$ vagrant-spk up
- Start the application in dev mode
$ vagrant-spk dev
- Navigate to the Sandstorm dev instance
http://local.sandstorm.io:6080/
Here are some things to know about the code base.
- It's a little hacky (it is Hacker Slides after all :))
- RevealJS 3.0.0 has been
copied into thestatic/revealjs
directory. main.py
is a super simple python server that mainly just accepts GETs and
PUTs for/slides.md
and reads and saves markdown from/to/var/slides.md
index.{html,js}
is the one and only main page for the app. Its only job is to
load Ace Editor on the left side of the screen, andslides.html
in an
iframe on the right side.slides.{html,js}
sets up RevealJS to load markdown from/slides.md
. It
also knows how to reload the markdown via a postMessage call.save.js
adds a debouncedkeyup
handler to the editor that a) fires off an
ajax PUT to save the markdown content and b) sends a postMessage message to
the RevealJS iframe telling it to reload its markdown preview (which
currently roundtrips to the server again)