blob: 36d830281c141927e8a10bb77a49e9b4a67e1686 [file] [log] [blame]
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001<!doctype html>
2<html lang="en">
3
4 <head>
5 <meta charset="utf-8">
6
7 <title>reveal.js – The HTML Presentation Framework</title>
8
9 <meta name="description" content="A framework for easily creating beautiful presentations using HTML">
10 <meta name="author" content="Hakim El Hattab">
11
12 <meta name="apple-mobile-web-app-capable" content="yes">
13 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
14
15 <meta name="viewport" content="width=device-width, initial-scale=1.0">
16
17 <link rel="stylesheet" href="dist/reset.css">
18 <link rel="stylesheet" href="dist/reveal.css">
19 <link rel="stylesheet" href="dist/theme/black.css" id="theme">
20
21 <!-- Theme used for syntax highlighting of code -->
22 <link rel="stylesheet" href="plugin/highlight/monokai.css">
23 </head>
24
25 <body>
26
27 <div class="reveal">
28
29 <!-- Any section element inside of this container is displayed as a slide -->
30 <div class="slides">
31 <section>
32 <a href="https://revealjs.com">
33 <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">
34 </a>
35 <h3>The HTML Presentation Framework</h3>
36 <p>
37 <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>
38 </p>
39 </section>
40
41 <section>
42 <h2>Hello There</h2>
43 <p>
44 reveal.js enables you to create beautiful interactive slide decks using HTML. This presentation will show you examples of what it can do.
45 </p>
46 </section>
47
48 <!-- Example of nested vertical slides -->
49 <section>
50 <section>
51 <h2>Vertical Slides</h2>
52 <p>Slides can be nested inside of each other.</p>
53 <p>Use the <em>Space</em> key to navigate through all slides.</p>
54 <br>
Marc Kupietz09b75752023-10-07 09:32:19 +020055 <a href="#/2/1" class="navigate-down">
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020056 <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">
57 </a>
58 </section>
59 <section>
60 <h2>Basement Level 1</h2>
61 <p>Nested slides are useful for adding additional detail underneath a high level horizontal slide.</p>
62 </section>
63 <section>
64 <h2>Basement Level 2</h2>
65 <p>That's it, time to go back up.</p>
66 <br>
67 <a href="#/2">
68 <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">
69 </a>
70 </section>
71 </section>
72
73 <section>
74 <h2>Slides</h2>
75 <p>
76 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>.
77 </p>
78 </section>
79
80 <section data-visibility="hidden">
81 <h2>Hidden Slides</h2>
82 <p>
83 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`.
84 </p>
85 </section>
86
87 <section data-auto-animate>
88 <h2 data-id="code-title">Pretty Code</h2>
Marc Kupietz09b75752023-10-07 09:32:19 +020089 <pre data-id="code-animation"><code class="hljs javascript" data-trim data-line-numbers>
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020090 import React, { useState } from 'react';
91
92 function Example() {
93 const [count, setCount] = useState(0);
94
95 return (
96 ...
97 );
98 }
99 </code></pre>
100 <p>Code syntax highlighting courtesy of <a href="https://highlightjs.org/usage/">highlight.js</a>.</p>
101 </section>
102
103 <section data-auto-animate>
Marc Kupietz09b75752023-10-07 09:32:19 +0200104 <h2 data-id="code-title">With Animations</h2>
105 <pre data-id="code-animation"><code class="hljs javascript" data-trim data-line-numbers="|4,8-11|17|22-24"><script type="text/template">
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200106 import React, { useState } from 'react';
107
108 function Example() {
109 const [count, setCount] = useState(0);
110
111 return (
112 <div>
113 <p>You clicked {count} times</p>
114 <button onClick={() => setCount(count + 1)}>
115 Click me
116 </button>
117 </div>
118 );
119 }
120
121 function SecondExample() {
122 const [count, setCount] = useState(0);
123
124 return (
125 <div>
126 <p>You clicked {count} times</p>
127 <button onClick={() => setCount(count + 1)}>
128 Click me
129 </button>
130 </div>
131 );
132 }
133 </script></code></pre>
134 </section>
135
136 <section>
137 <h2>Point of View</h2>
138 <p>
139 Press <strong>ESC</strong> to enter the slide overview.
140 </p>
141 <p>
142 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.
143 </p>
144 <p>
145 (NOTE: Use ctrl + click in Linux.)
146 </p>
147 </section>
148
149 <section data-auto-animate data-auto-animate-easing="cubic-bezier(0.770, 0.000, 0.175, 1.000)">
150 <h2>Auto-Animate</h2>
151 <p>Automatically animate matching elements across slides with <a href="https://revealjs.com/auto-animate/">Auto-Animate</a>.</p>
152 <div class="r-hstack justify-center">
153 <div data-id="box1" style="background: #999; width: 50px; height: 50px; margin: 10px; border-radius: 5px;"></div>
154 <div data-id="box2" style="background: #999; width: 50px; height: 50px; margin: 10px; border-radius: 5px;"></div>
155 <div data-id="box3" style="background: #999; width: 50px; height: 50px; margin: 10px; border-radius: 5px;"></div>
156 </div>
157 </section>
158 <section data-auto-animate data-auto-animate-easing="cubic-bezier(0.770, 0.000, 0.175, 1.000)">
159 <div class="r-hstack justify-center">
160 <div data-id="box1" data-auto-animate-delay="0" style="background: cyan; width: 150px; height: 100px; margin: 10px;"></div>
161 <div data-id="box2" data-auto-animate-delay="0.1" style="background: magenta; width: 150px; height: 100px; margin: 10px;"></div>
162 <div data-id="box3" data-auto-animate-delay="0.2" style="background: yellow; width: 150px; height: 100px; margin: 10px;"></div>
163 </div>
164 <h2 style="margin-top: 20px;">Auto-Animate</h2>
165 </section>
166 <section data-auto-animate data-auto-animate-easing="cubic-bezier(0.770, 0.000, 0.175, 1.000)">
167 <div class="r-stack">
Marc Kupietz9c036a42024-05-14 13:17:25 +0200168 <div data-id="box1" style="background: cyan; width: 300px; height: 300px;"></div>
169 <div data-id="box2" style="background: magenta; width: 200px; height: 200px;"></div>
170 <div data-id="box3" style="background: yellow; width: 100px; height: 100px;"></div>
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200171 </div>
172 <h2 style="margin-top: 20px;">Auto-Animate</h2>
173 </section>
174
175 <section>
176 <h2>Touch Optimized</h2>
177 <p>
178 Presentations look great on touch devices, like mobile phones and tablets. Simply swipe through your slides.
179 </p>
180 </section>
181
182 <section data-markdown>
183 <script type="text/template">
Marc Kupietz09b75752023-10-07 09:32:19 +0200184 ## Markdown Support
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200185
186 Write content using inline or external Markdown.
187 Instructions and more info available in the [docs](https://revealjs.com/markdown/).
188
189 ```html []
190 <section data-markdown>
Marc Kupietz09b75752023-10-07 09:32:19 +0200191 ## Markdown Support
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200192
193 Write content using inline or external Markdown.
194 Instructions and more info available in the [docs](https://revealjs.com/markdown/).
195 </section>
196 ```
197 </script>
198 </section>
199
200 <section>
201 <p>Add the <code>r-fit-text</code> class to auto-size text</p>
202 <h2 class="r-fit-text">FIT TEXT</h2>
203 </section>
204
205 <section>
206 <section id="fragments">
207 <h2>Fragments</h2>
208 <p>Hit the next arrow...</p>
209 <p class="fragment">... to step through ...</p>
210 <p><span class="fragment">... a</span> <span class="fragment">fragmented</span> <span class="fragment">slide.</span></p>
211
212 <aside class="notes">
213 This slide has fragments which are also stepped through in the notes window.
214 </aside>
215 </section>
216 <section>
217 <h2>Fragment Styles</h2>
218 <p>There's different types of fragments, like:</p>
219 <p class="fragment grow">grow</p>
220 <p class="fragment shrink">shrink</p>
221 <p class="fragment fade-out">fade-out</p>
222 <p>
223 <span style="display: inline-block;" class="fragment fade-right">fade-right, </span>
224 <span style="display: inline-block;" class="fragment fade-up">up, </span>
225 <span style="display: inline-block;" class="fragment fade-down">down, </span>
226 <span style="display: inline-block;" class="fragment fade-left">left</span>
227 </p>
228 <p class="fragment fade-in-then-out">fade-in-then-out</p>
229 <p class="fragment fade-in-then-semi-out">fade-in-then-semi-out</p>
230 <p>Highlight <span class="fragment highlight-red">red</span> <span class="fragment highlight-blue">blue</span> <span class="fragment highlight-green">green</span></p>
231 </section>
232 </section>
233
234 <section id="transitions">
235 <h2>Transition Styles</h2>
236 <p>
237 You can select from different transitions, like: <br>
238 <a href="?transition=none#/transitions">None</a> -
239 <a href="?transition=fade#/transitions">Fade</a> -
240 <a href="?transition=slide#/transitions">Slide</a> -
241 <a href="?transition=convex#/transitions">Convex</a> -
242 <a href="?transition=concave#/transitions">Concave</a> -
243 <a href="?transition=zoom#/transitions">Zoom</a>
244 </p>
245 </section>
246
247 <section id="themes">
248 <h2>Themes</h2>
249 <p>
250 reveal.js comes with a few themes built in: <br>
251 <!-- Hacks to swap themes after the page has loaded. Not flexible and only intended for the reveal.js demo deck. -->
Marc Kupietz09b75752023-10-07 09:32:19 +0200252 <a href="#/themes" onclick="document.getElementById('theme').setAttribute('href','dist/theme/black.css'); return false;">Black (default)</a> -
253 <a href="#/themes" onclick="document.getElementById('theme').setAttribute('href','dist/theme/white.css'); return false;">White</a> -
254 <a href="#/themes" onclick="document.getElementById('theme').setAttribute('href','dist/theme/league.css'); return false;">League</a> -
255 <a href="#/themes" onclick="document.getElementById('theme').setAttribute('href','dist/theme/sky.css'); return false;">Sky</a> -
256 <a href="#/themes" onclick="document.getElementById('theme').setAttribute('href','dist/theme/beige.css'); return false;">Beige</a> -
257 <a href="#/themes" onclick="document.getElementById('theme').setAttribute('href','dist/theme/simple.css'); return false;">Simple</a> <br>
258 <a href="#/themes" onclick="document.getElementById('theme').setAttribute('href','dist/theme/serif.css'); return false;">Serif</a> -
259 <a href="#/themes" onclick="document.getElementById('theme').setAttribute('href','dist/theme/blood.css'); return false;">Blood</a> -
260 <a href="#/themes" onclick="document.getElementById('theme').setAttribute('href','dist/theme/night.css'); return false;">Night</a> -
261 <a href="#/themes" onclick="document.getElementById('theme').setAttribute('href','dist/theme/moon.css'); return false;">Moon</a> -
262 <a href="#/themes" onclick="document.getElementById('theme').setAttribute('href','dist/theme/solarized.css'); return false;">Solarized</a>
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200263 </p>
264 </section>
265
266 <section>
267 <section data-background="#dddddd">
268 <h2>Slide Backgrounds</h2>
269 <p>
270 Set <code>data-background="#dddddd"</code> on a slide to change the background color. All CSS color formats are supported.
271 </p>
272 <a href="#" class="navigate-down">
273 <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">
274 </a>
275 </section>
Marc Kupietz09b75752023-10-07 09:32:19 +0200276 <section data-background-gradient="linear-gradient(to bottom, #283b95, #17b2c3)">
277 <h2>Gradient Backgrounds</h2>
278 <pre><code class="hljs html wrap">&lt;section data-background-gradient=
279 "linear-gradient(to bottom, #ddd, #191919)"&gt;</code></pre>
280 </section>
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200281 <section data-background="https://static.slid.es/reveal/image-placeholder.png">
282 <h2>Image Backgrounds</h2>
283 <pre><code class="hljs html">&lt;section data-background="image.png"&gt;</code></pre>
284 </section>
285 <section data-background="https://static.slid.es/reveal/image-placeholder.png" data-background-repeat="repeat" data-background-size="100px">
286 <h2>Tiled Backgrounds</h2>
287 <pre><code class="hljs html" style="word-wrap: break-word;">&lt;section data-background="image.png" data-background-repeat="repeat" data-background-size="100px"&gt;</code></pre>
288 </section>
Christophe Dervieux8afae132021-12-06 15:16:42 +0100289 <section data-background-video="https://static.slid.es/site/homepage/v1/homepage-video-editor.mp4" data-background-color="#000000">
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200290 <div style="background-color: rgba(0, 0, 0, 0.9); color: #fff; padding: 20px;">
291 <h2>Video Backgrounds</h2>
292 <pre><code class="hljs html" style="word-wrap: break-word;">&lt;section data-background-video="video.mp4,video.webm"&gt;</code></pre>
293 </div>
294 </section>
295 <section data-background="http://i.giphy.com/90F8aUepslB84.gif">
296 <h2>... and GIFs!</h2>
297 </section>
298 </section>
299
300 <section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom">
301 <h2>Background Transitions</h2>
302 <p>
303 Different background transitions are available via the backgroundTransition option. This one's called "zoom".
304 </p>
305 <pre><code class="hljs javascript">Reveal.configure({ backgroundTransition: 'zoom' })</code></pre>
306 </section>
307
308 <section data-transition="slide" data-background="#b5533c" data-background-transition="zoom">
309 <h2>Background Transitions</h2>
310 <p>
311 You can override background transitions per-slide.
312 </p>
313 <pre><code class="hljs html" style="word-wrap: break-word;">&lt;section data-background-transition="zoom"&gt;</code></pre>
314 </section>
315
316 <section data-background-iframe="https://hakim.se" data-background-interactive>
317 <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;">
318 <h2>Iframe Backgrounds</h2>
319 <p>Since reveal.js runs on the web, you can easily embed other web content. Try interacting with the page in the background.</p>
320 </div>
321 </section>
322
323 <section>
324 <h2>Marvelous List</h2>
325 <ul>
326 <li>No order here</li>
327 <li>Or here</li>
328 <li>Or here</li>
329 <li>Or here</li>
330 </ul>
331 </section>
332
333 <section>
334 <h2>Fantastic Ordered List</h2>
335 <ol>
336 <li>One is smaller than...</li>
337 <li>Two is smaller than...</li>
338 <li>Three!</li>
339 </ol>
340 </section>
341
342 <section>
343 <h2>Tabular Tables</h2>
344 <table>
345 <thead>
346 <tr>
347 <th>Item</th>
348 <th>Value</th>
349 <th>Quantity</th>
350 </tr>
351 </thead>
352 <tbody>
353 <tr>
354 <td>Apples</td>
355 <td>$1</td>
356 <td>7</td>
357 </tr>
358 <tr>
359 <td>Lemonade</td>
360 <td>$2</td>
361 <td>18</td>
362 </tr>
363 <tr>
364 <td>Bread</td>
365 <td>$3</td>
366 <td>2</td>
367 </tr>
368 </tbody>
369 </table>
370 </section>
371
372 <section>
373 <h2>Clever Quotes</h2>
374 <p>
375 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:
376 </p>
377 <blockquote cite="http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations">
378 &ldquo;For years there has been a theory that millions of monkeys typing at random on millions of typewriters would
379 reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.&rdquo;
380 </blockquote>
381 </section>
382
383 <section>
384 <h2>Intergalactic Interconnections</h2>
385 <p>
386 You can link between slides internally,
387 <a href="#/2/3">like this</a>.
388 </p>
389 </section>
390
391 <section>
392 <h2>Speaker View</h2>
393 <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>
394 <p>Press the <em>S</em> key to try it out.</p>
395
396 <aside class="notes">
397 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).
398 </aside>
399 </section>
400
401 <section>
402 <h2>Export to PDF</h2>
403 <p>Presentations can be <a href="https://revealjs.com/pdf-export/">exported to PDF</a>, here's an example:</p>
404 <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>
405 </section>
406
407 <section>
408 <h2>Global State</h2>
409 <p>
410 Set <code>data-state="something"</code> on a slide and <code>"something"</code>
411 will be added as a class to the document element when the slide is open. This lets you
412 apply broader style changes, like switching the page background.
413 </p>
414 </section>
415
416 <section data-state="customevent">
417 <h2>State Events</h2>
418 <p>
419 Additionally custom events can be triggered on a per slide basis by binding to the <code>data-state</code> name.
420 </p>
421 <pre><code class="javascript" data-trim contenteditable style="font-size: 18px;">
422Reveal.on( 'customevent', function() {
423 console.log( '"customevent" has fired' );
424} );
425 </code></pre>
426 </section>
427
428 <section>
429 <h2>Take a Moment</h2>
430 <p>
431 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.
432 </p>
433 </section>
434
435 <section>
436 <h2>Much more</h2>
437 <ul>
438 <li>Right-to-left support</li>
439 <li><a href="https://revealjs.com/api/">Extensive JavaScript API</a></li>
440 <li><a href="https://revealjs.com/auto-slide/">Auto-progression</a></li>
441 <li><a href="https://revealjs.com/backgrounds/#parallax-background">Parallax backgrounds</a></li>
442 <li><a href="https://revealjs.com/keyboard/">Custom keyboard bindings</a></li>
443 </ul>
444 </section>
445
446 <section style="text-align: left;">
447 <h1>THE END</h1>
448 <p>
449 - <a href="https://slides.com">Try the online editor</a> <br>
450 - <a href="https://github.com/hakimel/reveal.js">Source code &amp; documentation</a>
451 </p>
452 </section>
453
454 </div>
455
456 </div>
457
458 <script src="dist/reveal.js"></script>
459 <script src="plugin/zoom/zoom.js"></script>
460 <script src="plugin/notes/notes.js"></script>
461 <script src="plugin/search/search.js"></script>
462 <script src="plugin/markdown/markdown.js"></script>
463 <script src="plugin/highlight/highlight.js"></script>
464 <script>
465
466 // Also available as an ES module, see:
467 // https://revealjs.com/initialization/
468 Reveal.initialize({
469 controls: true,
470 progress: true,
471 center: true,
472 hash: true,
473
474 // Learn about plugins: https://revealjs.com/plugins/
475 plugins: [ RevealZoom, RevealNotes, RevealSearch, RevealMarkdown, RevealHighlight ]
476 });
477
478 </script>
479
480 </body>
481</html>