A simple app that combines Ace Editor and RevealJS
You can write markdown on the left, and preview your presentation on the right.
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 the
static/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)