to view and share reveal.js presentations
using GitHub's Gist service as a datastore
Slides are forkable using the "Presented by" link
1. Create a deck by placing revealjs <section> tag content into a fresh gist. Or, by forking a copy of this gist:
https://gist.github.com/c9427cb7829f4e4ba9c2614ac387105c
2. Copy the resulting Gist ID, then view your slides at:
3. Use /login
to authenticate and broadcast your slide transions to other viewers
NOTE: Broadcasting is restricted to the gist owner. See the web console output for additional details.
4. Visit /logout
to exit presentation mode
Creating a bit.ly shortname for your gist-reveal/gist_id
deck url will also make your slides available at an alternate path.
This url path is much easier on the eyes:
Start gist-reveal on port 8080 using docker
or podman
:
docker run --rm -p 8080:8080 ryanj/gist-reveal
Optionally configure the default gist_id:
docker run --rm -p 8080:8080 -e "DEFAULT_GIST=af84d40e58c5c2a908dd" ryanj/gist-reveal
Include your own GitHub API Token to avoid rate limiting:
docker run --rm -p 8080:8080 -e "GH_API_TOKEN=YOUR_API_TOKEN" ryanj/gist-reveal
To enable websockets, create a GitHub OAuth app that redirects to: YOUR_SITE/github/callback
Then configure your CLIENT_ID
and CLIENT_SECRET
:
docker run --rm -p 8080:8080 -e "CLIENT_SECRET=YOUR_SECRET_KEY" \
-e "CLIENT_ID=YOUR_CLIENT_ID" ryanj/gist-reveal
Create a kubernetes pod and service:
kubectl run gist-reveal --image=ryanj/gist-reveal \
--expose --port=8080 \
--env="DEFAULT_GIST=YOUR_DEFAULT_GIST_ID" \
--env="GH_API_TOKEN=YOUR_GH_API_TOKEN" \
--env="CLIENT_SECRET=YOUR_GH_CLIENT_SECRET" \
--env="CLIENT_ID=YOUR_GH_CLIENT_ID"
See the README for additional app configuration options
github.com/ryanj/gist-reveal
hub.docker.com/r/ryanj/gist-reveal