reveal-ck: a reveal.js construction kit

Build Status

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.