2016-03-20 17:50:14 +00:00
<!doctype html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< title > reveal.js – The HTML Presentation Framework< / title >
< meta name = "description" content = "A framework for easily creating beautiful presentations using HTML" >
< meta name = "author" content = "Hakim El Hattab" >
< meta name = "apple-mobile-web-app-capable" content = "yes" >
< meta name = "apple-mobile-web-app-status-bar-style" content = "black-translucent" >
2019-01-30 15:31:31 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
2016-03-20 17:50:14 +00:00
2020-03-06 18:58:40 +00:00
< link rel = "stylesheet" href = "dist/reset.css" >
< link rel = "stylesheet" href = "dist/reveal.css" >
< link rel = "stylesheet" href = "dist/theme/black.css" id = "theme" >
2016-03-20 17:50:14 +00:00
2016-03-20 17:57:30 +00:00
<!-- Theme used for syntax highlighting of code -->
2021-02-04 13:15:35 +00:00
< link rel = "stylesheet" href = "plugin/highlight/monokai.css" >
2016-03-20 17:50:14 +00:00
< / head >
< body >
< div class = "reveal" >
<!-- Any section element inside of this container is displayed as a slide -->
< div class = "slides" >
< section >
2020-05-29 10:07:04 +00:00
< a href = "https://revealjs.com" >
< img src = "https://static.slid.es/reveal/logo-v1/reveal-white-text.svg" alt = "reveal.js logo" style = "height: 180px; margin: 0 auto 4rem auto; background: transparent;" class = "demo-logo" >
< / a >
2016-03-20 17:50:14 +00:00
< h3 > The HTML Presentation Framework< / h3 >
< p >
2017-11-22 13:46:55 +00:00
< small > Created by < a href = "http://hakim.se" > Hakim El Hattab< / a > and < a href = "https://github.com/hakimel/reveal.js/graphs/contributors" > contributors< / a > < / small >
2016-03-20 17:50:14 +00:00
< / p >
< / section >
2016-04-07 08:25:10 +00:00
< section >
2016-03-20 17:50:14 +00:00
< h2 > Hello There< / h2 >
< p >
reveal.js enables you to create beautiful interactive slide decks using HTML. This presentation will show you examples of what it can do.
< / p >
< / section >
<!-- Example of nested vertical slides -->
< section >
< section >
< h2 > Vertical Slides< / h2 >
< p > Slides can be nested inside of each other.< / p >
< p > Use the < em > Space< / em > key to navigate through all slides.< / p >
< br >
2022-03-21 08:38:31 +00:00
< a href = "#/2/1" class = "navigate-down" >
2020-05-27 13:51:05 +00:00
< img class = "r-frame" style = "background: rgba(255,255,255,0.1);" width = "178" height = "238" data-src = "https://static.slid.es/reveal/arrow.png" alt = "Down arrow" >
2016-03-20 17:50:14 +00:00
< / a >
< / section >
< section >
< h2 > Basement Level 1< / h2 >
< p > Nested slides are useful for adding additional detail underneath a high level horizontal slide.< / p >
< / section >
< section >
< h2 > Basement Level 2< / h2 >
< p > That's it, time to go back up.< / p >
< br >
< a href = "#/2" >
2020-05-27 13:51:05 +00:00
< img class = "r-frame" style = "background: rgba(255,255,255,0.1); transform: rotate(180deg);" width = "178" height = "238" data-src = "https://static.slid.es/reveal/arrow.png" alt = "Up arrow" >
2016-03-20 17:50:14 +00:00
< / a >
< / section >
< / section >
< section >
< h2 > Slides< / h2 >
< p >
2017-11-22 13:46:55 +00:00
Not a coder? Not a problem. There's a fully-featured visual editor for authoring these, try it out at < a href = "https://slides.com" target = "_blank" > https://slides.com< / a > .
2016-03-20 17:50:14 +00:00
< / p >
< / section >
2020-06-02 11:47:34 +00:00
< section data-visibility = "hidden" >
< h2 > Hidden Slides< / h2 >
< p >
This slide is visible in the source, but hidden when the presentation is viewed. You can show all hidden slides by setting the `showHiddenSlides` config option to `true`.
< / p >
< / section >
2020-03-01 09:21:30 +00:00
< section data-auto-animate >
< h2 data-id = "code-title" > Pretty Code< / h2 >
2023-01-17 08:11:30 +00:00
< pre data-id = "code-animation" > < code class = "hljs javascript" data-trim data-line-numbers >
2020-03-01 09:21:30 +00:00
import React, { useState } from 'react';
function Example() {
const [count, setCount] = useState(0);
return (
...
);
}
< / code > < / pre >
< p > Code syntax highlighting courtesy of < a href = "https://highlightjs.org/usage/" > highlight.js< / a > .< / p >
< / section >
< section data-auto-animate >
< h2 data-id = "code-title" > With animations< / h2 >
2023-01-17 08:11:30 +00:00
< pre data-id = "code-animation" > < code class = "hljs javascript" data-trim data-line-numbers = "|4,8-11|17|22-24" > < script type = "text/template" >
2020-03-01 09:21:30 +00:00
import React, { useState } from 'react';
function Example() {
const [count, setCount] = useState(0);
return (
2020-06-05 08:47:24 +00:00
< div >
< p > You clicked {count} times< / p >
< button onClick = {() = > setCount(count + 1)}>
2020-03-01 09:21:30 +00:00
Click me
2020-06-05 08:47:24 +00:00
< / button >
< / div >
2020-03-01 09:21:30 +00:00
);
}
2020-03-12 16:08:20 +00:00
function SecondExample() {
const [count, setCount] = useState(0);
return (
2020-06-05 08:47:24 +00:00
< div >
< p > You clicked {count} times< / p >
< button onClick = {() = > setCount(count + 1)}>
2020-03-12 16:08:20 +00:00
Click me
2020-06-05 08:47:24 +00:00
< / button >
< / div >
2020-03-12 16:08:20 +00:00
);
}
2020-06-05 08:47:24 +00:00
< / script > < / code > < / pre >
2020-03-01 09:21:30 +00:00
< / section >
2016-03-20 17:50:14 +00:00
< section >
< h2 > Point of View< / h2 >
< p >
Press < strong > ESC< / strong > to enter the slide overview.
< / p >
< p >
2018-11-21 07:29:17 +00:00
Hold down the < strong > alt< / strong > key (< strong > ctrl< / strong > in Linux) and click on any element to zoom towards it using < a href = "http://lab.hakim.se/zoom-js" > zoom.js< / a > . Click again to zoom back out.
2016-03-20 17:50:14 +00:00
< / p >
2019-03-06 22:05:45 +00:00
< p >
(NOTE: Use ctrl + click in Linux.)
< / p >
2016-03-20 17:50:14 +00:00
< / section >
2020-05-19 08:22:19 +00:00
< section data-auto-animate data-auto-animate-easing = "cubic-bezier(0.770, 0.000, 0.175, 1.000)" >
< h2 > Auto-Animate< / h2 >
2020-05-19 16:27:00 +00:00
< p > Automatically animate matching elements across slides with < a href = "https://revealjs.com/auto-animate/" > Auto-Animate< / a > .< / p >
2020-05-19 08:22:19 +00:00
< div class = "r-hstack justify-center" >
< div data-id = "box1" style = "background: #999; width: 50px; height: 50px; margin: 10px; border-radius: 5px;" > < / div >
< div data-id = "box2" style = "background: #999; width: 50px; height: 50px; margin: 10px; border-radius: 5px;" > < / div >
< div data-id = "box3" style = "background: #999; width: 50px; height: 50px; margin: 10px; border-radius: 5px;" > < / div >
< / div >
< / section >
< section data-auto-animate data-auto-animate-easing = "cubic-bezier(0.770, 0.000, 0.175, 1.000)" >
< div class = "r-hstack justify-center" >
< div data-id = "box1" data-auto-animate-delay = "0" style = "background: cyan; width: 150px; height: 100px; margin: 10px;" > < / div >
< div data-id = "box2" data-auto-animate-delay = "0.1" style = "background: magenta; width: 150px; height: 100px; margin: 10px;" > < / div >
< div data-id = "box3" data-auto-animate-delay = "0.2" style = "background: yellow; width: 150px; height: 100px; margin: 10px;" > < / div >
< / div >
< h2 style = "margin-top: 20px;" > Auto-Animate< / h2 >
< / section >
< section data-auto-animate data-auto-animate-easing = "cubic-bezier(0.770, 0.000, 0.175, 1.000)" >
< div class = "r-stack" >
< div data-id = "box1" style = "background: cyan; width: 300px; height: 300px; border-radius: 200px;" > < / div >
< div data-id = "box2" style = "background: magenta; width: 200px; height: 200px; border-radius: 200px;" > < / div >
< div data-id = "box3" style = "background: yellow; width: 100px; height: 100px; border-radius: 200px;" > < / div >
< / div >
< h2 style = "margin-top: 20px;" > Auto-Animate< / h2 >
< / section >
2016-03-20 17:50:14 +00:00
< section >
< h2 > Touch Optimized< / h2 >
< p >
Presentations look great on touch devices, like mobile phones and tablets. Simply swipe through your slides.
< / p >
< / section >
< section data-markdown >
< script type = "text/template" >
## Markdown support
Write content using inline or external Markdown.
2020-10-12 09:51:04 +00:00
Instructions and more info available in the [docs](https://revealjs.com/markdown/).
2016-03-20 17:50:14 +00:00
2021-02-10 09:33:22 +00:00
```html []
2016-03-20 17:50:14 +00:00
< section data-markdown >
## Markdown support
Write content using inline or external Markdown.
2020-10-12 09:51:04 +00:00
Instructions and more info available in the [docs](https://revealjs.com/markdown/).
2016-03-20 17:50:14 +00:00
< / section >
```
< / script >
< / section >
2020-10-12 09:51:04 +00:00
< section >
< p > Add the < code > r-fit-text< / code > class to auto-size text< / p >
< h2 class = "r-fit-text" > FIT TEXT< / h2 >
< / section >
2016-03-20 17:50:14 +00:00
< section >
< section id = "fragments" >
< h2 > Fragments< / h2 >
< p > Hit the next arrow...< / p >
< p class = "fragment" > ... to step through ...< / p >
< p > < span class = "fragment" > ... a< / span > < span class = "fragment" > fragmented< / span > < span class = "fragment" > slide.< / span > < / p >
< aside class = "notes" >
This slide has fragments which are also stepped through in the notes window.
< / aside >
< / section >
< section >
< h2 > Fragment Styles< / h2 >
< p > There's different types of fragments, like:< / p >
< p class = "fragment grow" > grow< / p >
< p class = "fragment shrink" > shrink< / p >
< p class = "fragment fade-out" > fade-out< / p >
2018-06-11 08:59:31 +00:00
< p >
< span style = "display: inline-block;" class = "fragment fade-right" > fade-right, < / span >
< span style = "display: inline-block;" class = "fragment fade-up" > up, < / span >
< span style = "display: inline-block;" class = "fragment fade-down" > down, < / span >
< span style = "display: inline-block;" class = "fragment fade-left" > left< / span >
< / p >
< p class = "fragment fade-in-then-out" > fade-in-then-out< / p >
2018-06-13 12:12:25 +00:00
< p class = "fragment fade-in-then-semi-out" > fade-in-then-semi-out< / p >
2016-03-20 17:50:14 +00:00
< p > Highlight < span class = "fragment highlight-red" > red< / span > < span class = "fragment highlight-blue" > blue< / span > < span class = "fragment highlight-green" > green< / span > < / p >
< / section >
< / section >
< section id = "transitions" >
< h2 > Transition Styles< / h2 >
< p >
You can select from different transitions, like: < br >
< a href = "?transition=none#/transitions" > None< / a > -
< a href = "?transition=fade#/transitions" > Fade< / a > -
< a href = "?transition=slide#/transitions" > Slide< / a > -
< a href = "?transition=convex#/transitions" > Convex< / a > -
< a href = "?transition=concave#/transitions" > Concave< / a > -
< a href = "?transition=zoom#/transitions" > Zoom< / a >
< / p >
< / section >
< section id = "themes" >
< h2 > Themes< / h2 >
< p >
reveal.js comes with a few themes built in: < br >
<!-- Hacks to swap themes after the page has loaded. Not flexible and only intended for the reveal.js demo deck. -->
2020-11-30 14:43:09 +00:00
< a href = "#" onclick = "document.getElementById('theme').setAttribute('href','dist/theme/black.css'); return false;" > Black (default)< / a > -
< a href = "#" onclick = "document.getElementById('theme').setAttribute('href','dist/theme/white.css'); return false;" > White< / a > -
< a href = "#" onclick = "document.getElementById('theme').setAttribute('href','dist/theme/league.css'); return false;" > League< / a > -
< a href = "#" onclick = "document.getElementById('theme').setAttribute('href','dist/theme/sky.css'); return false;" > Sky< / a > -
< a href = "#" onclick = "document.getElementById('theme').setAttribute('href','dist/theme/beige.css'); return false;" > Beige< / a > -
< a href = "#" onclick = "document.getElementById('theme').setAttribute('href','dist/theme/simple.css'); return false;" > Simple< / a > < br >
< a href = "#" onclick = "document.getElementById('theme').setAttribute('href','dist/theme/serif.css'); return false;" > Serif< / a > -
< a href = "#" onclick = "document.getElementById('theme').setAttribute('href','dist/theme/blood.css'); return false;" > Blood< / a > -
< a href = "#" onclick = "document.getElementById('theme').setAttribute('href','dist/theme/night.css'); return false;" > Night< / a > -
< a href = "#" onclick = "document.getElementById('theme').setAttribute('href','dist/theme/moon.css'); return false;" > Moon< / a > -
< a href = "#" onclick = "document.getElementById('theme').setAttribute('href','dist/theme/solarized.css'); return false;" > Solarized< / a >
2016-03-20 17:50:14 +00:00
< / p >
< / section >
< section >
< section data-background = "#dddddd" >
< h2 > Slide Backgrounds< / h2 >
< p >
Set < code > data-background="#dddddd"< / code > on a slide to change the background color. All CSS color formats are supported.
< / p >
< a href = "#" class = "navigate-down" >
2020-05-27 13:51:05 +00:00
< img class = "r-frame" style = "background: rgba(255,255,255,0.1);" width = "178" height = "238" data-src = "https://static.slid.es/reveal/arrow.png" alt = "Down arrow" >
2016-03-20 17:50:14 +00:00
< / a >
< / section >
2022-05-02 12:49:21 +00:00
< section data-background-gradient = "linear-gradient(to bottom, #283b95, #17b2c3)" >
< h2 > Gradient Backgrounds< / h2 >
< pre > < code class = "hljs html wrap" > < section data-background-gradient=
"linear-gradient(to bottom, #ddd, #191919)"> < / code > < / pre >
< / section >
2020-05-27 13:51:05 +00:00
< section data-background = "https://static.slid.es/reveal/image-placeholder.png" >
2016-03-20 17:50:14 +00:00
< h2 > Image Backgrounds< / h2 >
2019-03-08 14:07:59 +00:00
< pre > < code class = "hljs html" > < section data-background="image.png"> < / code > < / pre >
2016-03-20 17:50:14 +00:00
< / section >
2020-05-27 13:51:05 +00:00
< section data-background = "https://static.slid.es/reveal/image-placeholder.png" data-background-repeat = "repeat" data-background-size = "100px" >
2016-03-20 17:50:14 +00:00
< h2 > Tiled Backgrounds< / h2 >
2019-03-08 14:07:59 +00:00
< pre > < code class = "hljs html" style = "word-wrap: break-word;" > < section data-background="image.png" data-background-repeat="repeat" data-background-size="100px"> < / code > < / pre >
2016-03-20 17:50:14 +00:00
< / section >
2021-09-09 08:25:33 +00:00
< section data-background-video = "https://static.slid.es/site/homepage/v1/homepage-video-editor.mp4" data-background-color = "#000000" >
2016-03-20 17:50:14 +00:00
< div style = "background-color: rgba(0, 0, 0, 0.9); color: #fff; padding: 20px;" >
< h2 > Video Backgrounds< / h2 >
2019-03-08 14:07:59 +00:00
< pre > < code class = "hljs html" style = "word-wrap: break-word;" > < section data-background-video="video.mp4,video.webm"> < / code > < / pre >
2016-03-20 17:50:14 +00:00
< / div >
< / section >
< section data-background = "http://i.giphy.com/90F8aUepslB84.gif" >
< h2 > ... and GIFs!< / h2 >
< / section >
< / section >
< section data-transition = "slide" data-background = "#4d7e65" data-background-transition = "zoom" >
< h2 > Background Transitions< / h2 >
< p >
Different background transitions are available via the backgroundTransition option. This one's called "zoom".
< / p >
2019-03-08 14:07:59 +00:00
< pre > < code class = "hljs javascript" > Reveal.configure({ backgroundTransition: 'zoom' })< / code > < / pre >
2016-03-20 17:50:14 +00:00
< / section >
< section data-transition = "slide" data-background = "#b5533c" data-background-transition = "zoom" >
< h2 > Background Transitions< / h2 >
< p >
You can override background transitions per-slide.
< / p >
2019-03-08 14:07:59 +00:00
< pre > < code class = "hljs html" style = "word-wrap: break-word;" > < section data-background-transition="zoom"> < / code > < / pre >
2016-03-20 17:50:14 +00:00
< / section >
2019-03-20 08:12:31 +00:00
< section data-background-iframe = "https://hakim.se" data-background-interactive >
< div style = "position: absolute; width: 40%; right: 0; box-shadow: 0 1px 4px rgba(0,0,0,0.5), 0 5px 25px rgba(0,0,0,0.2); background-color: rgba(0, 0, 0, 0.9); color: #fff; padding: 20px; font-size: 20px; text-align: left;" >
< h2 > Iframe Backgrounds< / h2 >
< p > Since reveal.js runs on the web, you can easily embed other web content. Try interacting with the page in the background.< / p >
< / div >
< / section >
2016-03-20 17:50:14 +00:00
< section >
< h2 > Marvelous List< / h2 >
< ul >
< li > No order here< / li >
< li > Or here< / li >
< li > Or here< / li >
< li > Or here< / li >
< / ul >
< / section >
< section >
< h2 > Fantastic Ordered List< / h2 >
< ol >
< li > One is smaller than...< / li >
< li > Two is smaller than...< / li >
< li > Three!< / li >
< / ol >
< / section >
< section >
< h2 > Tabular Tables< / h2 >
< table >
< thead >
< tr >
< th > Item< / th >
< th > Value< / th >
< th > Quantity< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > Apples< / td >
< td > $1< / td >
< td > 7< / td >
< / tr >
< tr >
< td > Lemonade< / td >
< td > $2< / td >
< td > 18< / td >
< / tr >
< tr >
< td > Bread< / td >
< td > $3< / td >
< td > 2< / td >
< / tr >
< / tbody >
< / table >
< / section >
< section >
< h2 > Clever Quotes< / h2 >
< p >
2017-06-14 08:42:41 +00:00
These guys come in two forms, inline: < q cite = "http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations" > The nice thing about standards is that there are so many to choose from< / q > and block:
2016-03-20 17:50:14 +00:00
< / p >
< blockquote cite = "http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations" >
“ For years there has been a theory that millions of monkeys typing at random on millions of typewriters would
reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.”
< / blockquote >
< / section >
< section >
< h2 > Intergalactic Interconnections< / h2 >
< p >
You can link between slides internally,
< a href = "#/2/3" > like this< / a > .
< / p >
< / section >
< section >
< h2 > Speaker View< / h2 >
2020-05-19 16:27:00 +00:00
< p > There's a < a href = "https://revealjs.com/speaker-view/" > speaker view< / a > . It includes a timer, preview of the upcoming slide as well as your speaker notes.< / p >
2016-03-20 17:50:14 +00:00
< p > Press the < em > S< / em > key to try it out.< / p >
< aside class = "notes" >
Oh hey, these are some notes. They'll be hidden in your presentation, but you can see them if you open the speaker notes window (hit 's' on your keyboard).
< / aside >
< / section >
< section >
< h2 > Export to PDF< / h2 >
2020-05-19 16:27:00 +00:00
< p > Presentations can be < a href = "https://revealjs.com/pdf-export/" > exported to PDF< / a > , here's an example:< / p >
2016-04-10 09:57:38 +00:00
< iframe data-src = "https://www.slideshare.net/slideshow/embed_code/42840540" width = "445" height = "355" frameborder = "0" marginwidth = "0" marginheight = "0" scrolling = "no" style = "border:3px solid #666; margin-bottom:5px; max-width: 100%;" allowfullscreen > < / iframe >
2016-03-20 17:50:14 +00:00
< / section >
< section >
< h2 > Global State< / h2 >
< p >
Set < code > data-state="something"< / code > on a slide and < code > "something"< / code >
will be added as a class to the document element when the slide is open. This lets you
apply broader style changes, like switching the page background.
< / p >
< / section >
< section data-state = "customevent" >
< h2 > State Events< / h2 >
< p >
Additionally custom events can be triggered on a per slide basis by binding to the < code > data-state< / code > name.
< / p >
< pre > < code class = "javascript" data-trim contenteditable style = "font-size: 18px;" >
2020-04-07 07:05:56 +00:00
Reveal.on( 'customevent', function() {
2016-03-20 17:50:14 +00:00
console.log( '"customevent" has fired' );
} );
< / code > < / pre >
< / section >
< section >
< h2 > Take a Moment< / h2 >
< p >
Press B or . on your keyboard to pause the presentation. This is helpful when you're on stage and want to take distracting slides off the screen.
< / p >
< / section >
< section >
< h2 > Much more< / h2 >
< ul >
< li > Right-to-left support< / li >
2020-05-19 16:27:00 +00:00
< li > < a href = "https://revealjs.com/api/" > Extensive JavaScript API< / a > < / li >
< li > < a href = "https://revealjs.com/auto-slide/" > Auto-progression< / a > < / li >
< li > < a href = "https://revealjs.com/backgrounds/#parallax-background" > Parallax backgrounds< / a > < / li >
< li > < a href = "https://revealjs.com/keyboard/" > Custom keyboard bindings< / a > < / li >
2016-03-20 17:50:14 +00:00
< / ul >
< / section >
< section style = "text-align: left;" >
< h1 > THE END< / h1 >
< p >
2017-11-22 13:46:55 +00:00
- < a href = "https://slides.com" > Try the online editor< / a > < br >
2016-03-20 17:50:14 +00:00
- < a href = "https://github.com/hakimel/reveal.js" > Source code & documentation< / a >
< / p >
< / section >
< / div >
< / div >
2020-05-18 18:52:51 +00:00
< script src = "dist/reveal.js" > < / script >
2022-01-19 17:08:08 +00:00
< script src = "plugin/zoom/zoom.js" > < / script >
< script src = "plugin/notes/notes.js" > < / script >
< script src = "plugin/search/search.js" > < / script >
< script src = "plugin/markdown/markdown.js" > < / script >
< script src = "plugin/highlight/highlight.js" > < / script >
2020-05-18 18:52:51 +00:00
< script >
2022-01-19 17:08:08 +00:00
// Also available as an ES module, see:
// https://revealjs.com/initialization/
Reveal.initialize({
controls: true,
progress: true,
center: true,
hash: true,
2023-02-22 03:01:21 +00:00
// disableLayout: true,
2022-01-19 17:08:08 +00:00
// Learn about plugins: https://revealjs.com/plugins/
plugins: [ RevealZoom, RevealNotes, RevealSearch, RevealMarkdown, RevealHighlight ]
});
2016-03-20 17:50:14 +00:00
< / script >
< / body >
< / html >