JavaScript theme Kubernetes openshift gist presentations revealjs Docker CSS
Need help with gist-reveal?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
ryanj

Description

Gist-powered Revealjs slides

136 Stars 42 Forks MIT License 1.3K Commits 40 Opened issues

Services available

Need anything else?

Gist-Reveal

Greenkeeper badge Build Status Build Status Dependency Check Gitter Chat

Gist-powered Revealjs presentations

Gist-Reveal.it is an open source slideshow templating service that makes it easy to create, edit, present, and share Reveal.js slides on the web by using github's gist service as a datastore.

gist-reveal.it/YOURGISTID

Store any Revealjs-compatible HTML or Markdown content in a gist, then append your resulting gist id to the end of any gist-reveal site url to view the resulting presentation:

http://gist-reveal.it/GIST_ID_CONTAINING_REVEALJS_SLIDE_CONTENT

Example:

http://gist-reveal.it/af84d40e58c5c2a908dd

Use bitly or another url shortener to make these long urls easier to share, and to make enagement rates easier to count.

gist-reveal.it/bit.ly/SHORTNAME

Creating a bit.ly shortname for your longer

gist-reveal/gist_id
deck urls will also make your presentations available at an alternate presentation path:
http://gist-reveal.it/bit.ly/SHORTNAME

Example:

http://gist-reveal.it/bit.ly/k8s-workshops

Much nicer! Make sure to continue sending traffic to the shorter

bit.ly/shortname
url for metrics collection purposes.

Gist-powered Slideshow Themes

Available CSS themes include the default reveal.js list of themes, but can be easily extended by storing new themes in a gist:

Conference organizers can host their own modified gist-reveal templating service (with its own default theme), to provide a consistent look for all presentations at an event.

Application Config

The following environment variables can be used to autoconfigure the application:

Variable Name

Contents Default Value
DEFAULTGIST The default gist id slideshow content for the site af84d40e58c5c2a908dd
REVEALTHEME The site's default theme. Should be a locally bundled theme name, or a remote gistid. 450836bbaebcf4c4ae08b331343a7886
GHCLIENTSECRET GitHub client secret unset
GHCLIENTID GitHub client ID unset
GATRACKER Google Analytics tracker token unset
PORT The server port number 8080
IPADDR The server IP address 0.0.0.0
GISTTHEMES Allow reveal.js CSS themes to be installed dynamically "url/?theme=gistid". Disable this feature by setting this config to the string "false". "true"
REVEALSOCKET_SECRET the site's broadcast token (alphanumeric) randomly generated

See

server.js
for more information about the site's configuration options.

Broadcasting Slide Transitions

Administrators can configure the application's

REVEAL_SOCKET_SECRET
to broadcast slide transitions using Reveal's socket Multiplexing support.

Presenters who know the site's

REVEAL_SOCKET_SECRET
value can configure their browser as a presentation device using the
setToken
querystring param:
http://YOUR_REVEAL_HOST_URL/?setToken=REVEAL_SOCKET_SECRET_VALUE

This token will be stored in the browser's

localStorage
area (per host url) as
localStorage.secret
. To reconfigure your browser as a client device (as a listener), use the
clearToken
querystring param:
http://YOUR_REVEAL_HOST_URL/?clearToken

Running Gist-Reveal.it

Gist-reveal makes it easy to run your own Gist-powered RevealJS slideshow service

Local Development

The simplest way to get started with this project, is to clone a copy of the source from github (

git clone http://github.com/ryanj/gist-reveal && cd gist-reveal
), then run the app locally with
npm install
followed by
npm start
.

Kubernetes

To create a kubernetes

deployment
and
NodePort
service
, both named
gist-reveal
:
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

Docker

To run the docker image locally on port

8080
:
docker pull ryanj/gist-reveal
docker run -d -p 8080:8080 ryanj/gist-reveal

Environment variables can be passed into the Docker container in order to configure the websocket relay, or to change the default slideshow content:

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

OpenShiftV3

Build from GitHub sources, using a "nodejs" base image, and Source2Image:

oc new-app nodejs~http://github.com/ryanj/gist-reveal -e REVEAL_SOCKET_SECRET=1234

License

gist-reveal.it was created at the first DockerCon Hackathon by @ryanj and @fkautz.

Reveal.js is MIT licensed Copyright (C) 2014 Hakim El Hattab, http://hakim.se

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.