# Reveal.js --- in-browser JS Presentations framework and my CDN-loading template for it
**Category:** [Clinicians Who Code](https://openhealthhub.org/c/clinicians-who-code/48)
**Created:** 2026-03-02 10:11 UTC
**Views:** 5
**Replies:** 0
**URL:** https://openhealthhub.org/t/reveal-js-in-browser-js-presentations-framework-and-my-cdn-loading-template-for-it/2936
---
## Post #1 by @pacharanero
Not directly a coding tool, and not clinical, but I thought might be of interest to some CwC because at some point we all end up doing presentations of our ideas, and this tool can really help.
## Reveal.js
Reveal.js is a fairly light Javascript-based 'framework' that turns an `index.html` into a presentation that you can view in a browser. I have been using it for at least 10 years. However it can be a little tricky to get started, so I have made a GitHub template repository which you can simply copy.
### Marcus' Reveal.js CDN template repository
https://github.com/pacharanero/reveal-js-cdn-template
### Demo
https://pacharanero.github.io/reveal-js-cdn-template/
### Great things about Reveal.js
* 'Presentations as code' - manage source in Git and publish via GitHub
* Put your presentations on the web for free, forever, using GitHub Pages
* In-browser presentation,
* Vertical slides! - as well as the more usual *horizontal* slides, you can scroll up and down too, which helps with 'sectioning out' your idea/story/pitch.
* AV people at conferences are slightly freaked out when you say 'no I don't need PowerPoint', I am using a browser
### Annoying things about Reveal.js
* Your own changes are mainly in index.html, but if following the default install instructions you end up with all the Reveal.js code in a repo as well (see solutions below) - fixed by using the [Submodule](https://github.com/pacharanero/revealjs-submodule-template) or [CDN](https://github.com/pacharanero/reveal-js-cdn-template) versions I have created.
Reveal.js doesn't clearly tell you in its [own installation documentation](https://revealjs.com/installation/) that if you use their default install method - copy the whole Reveal.js repo into your project - not only is your presentation much larger than it needs to be, but you also have a headache if you want to update the version of Reveal.js that you use, because you will have changed some of the files.
I originally solved this with a different approach - load Reveal.js [as a Git submodule](https://github.com/pacharanero/revealjs-submodule-template), which lets you update it independently - but more recently I had the idea to try loading Reveal.js from a CDN so that the only thing you need to think about is `index.html` and any assets or graphics you bring in.
### Embed it in Discourse (or any site!)
Oh, and one final killer feature? You can embed your presentation in basically any website using an `iframe`:
[details="Embedding Code"]
```html
```
For it to work in Discourse you need to allow certain iframe origins in the [settings](https://openhealthhub.org/admin/config/security?filter=allowed_iframes)
[/details]
---
**Canonical:** https://openhealthhub.org/t/reveal-js-in-browser-js-presentations-framework-and-my-cdn-loading-template-for-it/2936
**Original content:** https://openhealthhub.org/t/reveal-js-in-browser-js-presentations-framework-and-my-cdn-loading-template-for-it/2936