reveal-ck: a reveal.js construction kit
Overview
This project is the home of a gem named reveal-ck
that lets you
quickly author reveal.js
presentations.
The gem provides an executable of the same name, reveal-ck
, that can
take a single file as input and generate a set of slides from it.
Here's a starter repository that contains everything you need to get going with reveal-ck: https://github.com/jedcn/reveal-ck-template in less than 5 minutes.
The hope is that you will be able to leverage all of the power, beauty, and functionality that comes from reveal.js while focusing entirely on the actual content and ideas you are trying to get across.
As with all reveal.js presentations, you can show these to other people on an iPhone, iPad, or present them in your browser.
What You Provide
You provide:
A file containing your slide content in HAML (
slides.haml
)(optional) If you have any images that are not already on the web, you can save these into a directory named
images
and the contents will be bundled up into your generated slides. This will allow you to relatively reference the images.
Getting Started
At present, we assume you've got a functional Ruby 1.9.x environment up and running one way or another and bundler.
If that's the case, try the following:
$ git clone [email protected]:jedcn/reveal-ck-template.git
Cloning into 'reveal-ck-template'...
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 12 (delta 2), reused 12 (delta 2)
Receiving objects: 100% (12/12), done.
Resolving deltas: 100% (2/2), done.
$ cd reveal-ck-template
$ bundle
Fetching gem metadata from https://rubygems.org/......
Installing rake (10.0.4)
Installing gli (2.5.6)
Installing tilt (1.3.6)
Installing haml (4.0.1)
Installing reveal-ck (0.1.1)
Using bundler (1.2.3)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
$ reveal-ck generate
$ open slides/index.html
If all has gone well, you should now have a slides/
directory and if
you open up slides/index.html
in a browser, you should see a
reveal.js presentation that was generated from the slides.haml
Authoring Slides
Now that you are assured of basic functionality, start making changes
and customizing slides.haml
. Once you've made a change you'd like to
see, re-run reveal-ck generate
and then re-open (or refresh)
slides/index.html
reveal.js has a great
live demo, and if you take a look at
the source in the demo, you can quickly see the HTML and CSS that has
good support by default when placed into your slides.haml
.
Why not just clone reveal.js?
Or why not use http://www.rvl.io/ which offers a WYSIWYG experience?
You can! For sure.
The whole reveal.js offering is great.
If reveal-ck's approach is too contrived or doesn't warrant the setup time, skip it!
Then.. why would anyone use reveal-ck?
The thought behind this project to help you focus on what you want to say.
For me, focusing becomes easier and my thoughts clearer when I reduce
the list of slides to a single file (slides.haml
). It only
contains the slide content I am presenting and there's minimal markup.
HAML isn't the most readable thing (say, compared to markdown), but it
is decent, and sharing or reviewing something like slides.haml
is easier than reviewing the final presentation:
If you look at the presentation in a browser, you can't scan all of the slides at once. You need to visit them. If you're looking at
slides.haml
you can quickly scan through 30+ slides.If you look at the html behind the presentation (say, view source), there's a bunch of stuff that makes the magic happen: styles, javascript, etc.
Finally, if you track your slides in a system like git, you can get
meaningful diffs between versions of slides.haml
. This is
slightly easier than if you track the generated presentation.
In the end, the presentation framework, reveal.js, can make things pretty, but only you can make a presentation that is worthwhile.
Development
If you want to make changes to reveal-ck, you should first try the following:
git submodule init
git submodule update
rake
The gem, reveal-ck, relies on having a copy of reveal.js (the original JavaScript based project) via a git submodule.
The commands above get things online and verify basic functionality.
Testing
The testing strategy blends rspec and cucumber. There's not much going on here (at a code level) so RSpec is straight forward. The executable, reveal-ck, is verified as a command line tool with Aruba.
As you might expect, rake spec
runs specs, rake cucumber
runs
features, and rake
runs both spec
and cucumber
.
Travis
This project is setup within Travis. Here is the project page.