Gist-Powered

Reveal.js

Slideshow Presentations


gist-reveal.it

Try it out!

Create your own deck by forking a copy of this github gist:
https://gist.github.com/ryanj/af84d40e58c5c2a908dd

Or, by placing any valid Revealjs <section> tag content into a fresh gist.


When you're ready to view your slides, grab your github gist id and add it to the end of this url:

http://gist-reveal.it/YOUR_GIST_ID_HERE

Presentations on the Open Web

Reveal.js is a framework
for easily crafting
beautiful presentations
in HTML

You'll need a browser with support for CSS 3D transforms to see it's full capabilities.

Tips on using Reveal.js

There is a lot of great information about using Reveal.js in the project's README page on GitHub.

Their original slide deck sample conent also contains a lot of great examples.

## Gist-powered Slideshow Themes Available CSS themes include [the default reveal.js themes](http://lab.hakim.se/reveal-js/#/themes), but can be easily extended by storing new themes [in a gist](https://gist.github.com/450836bbaebcf4c4ae08b331343a7886): * [a theme from the CoreOS team](?theme=450836bbaebcf4c4ae08b331343a7886#/themes) * [a theme for OpenShift fans](?theme=60e54843de11a545897e#/themes) * [the revealjs black theme](?theme=black#/themes) * [the revealjs simple theme](?theme=simple#/themes) * [the revealjs league theme](?theme=default#/themes) * [the revealjs sky theme](?theme=sky#/themes) Conference organizers can host their own modified gist-reveal templating service (with it's own default theme), to provide a consistent look for all presentations at an event.

Host your own slideshow service on Kubernetes

To create a kubernetes deployment and NodePort service, both named gist-reveal, run:

kubectl run gist-reveal --image=ryanj/gist-reveal \
--expose --port=8080 --service-overrides='{ "spec": { "type": "NodePort" } }' \
--env="DEFAULT_GIST=YOUR_DEFAULT_GIST_ID" \
--env="GH_CLIENT_SECRET=YOUR_GH_CLIENT_SECRET" \
--env="GH_CLIENT_ID=YOUR_GH_CLIENT_ID" \
--env="REVEAL_SOCKET_SECRET=0P3N-S0URC3" \
--env="GA_TRACKER=YOUR_GA_TRACKER"

Minikube users should be able to open the new service in their browser by running:

minikube service gist-reveal

Host your own slideshow index with Docker

Start up a local development server on port 8080:

docker run ryanj/gist-reveal

For production, I like to daemonize the process, configure a default gist_id, and make the container available on port 80:

docker run -d -p 80:8080 -e "DEFAULT_GIST=af84d40e58c5c2a908dd" ryanj/gist-reveal

GITHUB API RATE LIMITS

Include your own GitHub application keys if you plan on making more than 60 requests in 2 hours:

docker run -e "GH_CLIENT_SECRET=11becbb840e0ff7414b19104e9e797556498fc3f" -e "GH_CLIENT_ID=639ffe9fd9dcc4f6eb4b" ryanj/gist-reveal

Built-in Analytics

Include your own GA-TRACKER key:

docker run -e "GA_TRACKER=UA-12345678" ryanj/gist-reveal

Hosting on OpenShift

You can launch this application on OpenShift in a single command:

rhc app create gistreveal nodejs-0.10 \
--from code=http://github.com/ryanj/gist-reveal \
DEFAULT_GIST=YOUR_DEFAULT_GIST_ID \
GH_CLIENT_SECRET=YOUR_GH_CLIENT_SECRET \
GH_CLIENT_ID=YOUR_GH_CLIENT_ID \
REVEAL_SOCKET_SECRET=0P3N-S0URC3 \
GA_TRACKER=YOUR_GA_TRACKER

Or, click here to launch on the web!

Then, use the rhc env set command to publish your application config and keys to the system environment.

Broadcasting Your Slide Transitions

with Socket.IO

docker run -e "REVEAL_SOCKET_SECRET=0P3N-S0URC3" ryanj/gist-reveal

Configure your browser as a presentation device by setting the same key in your browser's localStorage

localStorage.secret="YOUR_SECRET_KEY"

Be sure to use two different devices or brower types when testing your broadcasting relay
(FireFox vs. Chrome, desktop vs. mobile, etc.)

THE END

Revaljs by Hakim El Hattab / hakim.se

gist-reveal by ryanj and fkautz


github.com/ryanj/gist-reveal
hub.docker.com/r/ryanj/gist-reveal

Runs on Kubernetes Presentation Source