blob: 685667d4380f624eed978242ec850be7f26a9647 [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>
55 <a href="#" class="navigate-down">
56 <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>
89 <pre data-id="code-animation"><code class="hljs" data-trim data-line-numbers>
90 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>
104 <h2 data-id="code-title">With animations</h2>
105 <pre data-id="code-animation"><code class="hljs" data-trim data-line-numbers="|4,8-11|17|22-24"><script type="text/template">
106 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">
168 <div data-id="box1" style="background: cyan; width: 300px; height: 300px; border-radius: 200px;"></div>
169 <div data-id="box2" style="background: magenta; width: 200px; height: 200px; border-radius: 200px;"></div>
170 <div data-id="box3" style="background: yellow; width: 100px; height: 100px; border-radius: 200px;"></div>
171 </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">
184 ## Markdown support
185
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>
191 ## Markdown support
192
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. -->
252 <a href="#" onclick="document.getElementById('theme').setAttribute('href','dist/theme/black.css'); return false;">Black (default)</a> -
253 <a href="#" onclick="document.getElementById('theme').setAttribute('href','dist/theme/white.css'); return false;">White</a> -
254 <a href="#" onclick="document.getElementById('theme').setAttribute('href','dist/theme/league.css'); return false;">League</a> -
255 <a href="#" onclick="document.getElementById('theme').setAttribute('href','dist/theme/sky.css'); return false;">Sky</a> -
256 <a href="#" onclick="document.getElementById('theme').setAttribute('href','dist/theme/beige.css'); return false;">Beige</a> -
257 <a href="#" onclick="document.getElementById('theme').setAttribute('href','dist/theme/simple.css'); return false;">Simple</a> <br>
258 <a href="#" onclick="document.getElementById('theme').setAttribute('href','dist/theme/serif.css'); return false;">Serif</a> -
259 <a href="#" onclick="document.getElementById('theme').setAttribute('href','dist/theme/blood.css'); return false;">Blood</a> -
260 <a href="#" onclick="document.getElementById('theme').setAttribute('href','dist/theme/night.css'); return false;">Night</a> -
261 <a href="#" onclick="document.getElementById('theme').setAttribute('href','dist/theme/moon.css'); return false;">Moon</a> -
262 <a href="#" onclick="document.getElementById('theme').setAttribute('href','dist/theme/solarized.css'); return false;">Solarized</a>
263 </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>
276 <section data-background="https://static.slid.es/reveal/image-placeholder.png">
277 <h2>Image Backgrounds</h2>
278 <pre><code class="hljs html">&lt;section data-background="image.png"&gt;</code></pre>
279 </section>
280 <section data-background="https://static.slid.es/reveal/image-placeholder.png" data-background-repeat="repeat" data-background-size="100px">
281 <h2>Tiled Backgrounds</h2>
282 <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>
283 </section>
284 <section data-background-video="https://s3.amazonaws.com/static.slid.es/site/homepage/v1/homepage-video-editor.mp4" data-background-color="#000000">
285 <div style="background-color: rgba(0, 0, 0, 0.9); color: #fff; padding: 20px;">
286 <h2>Video Backgrounds</h2>
287 <pre><code class="hljs html" style="word-wrap: break-word;">&lt;section data-background-video="video.mp4,video.webm"&gt;</code></pre>
288 </div>
289 </section>
290 <section data-background="http://i.giphy.com/90F8aUepslB84.gif">
291 <h2>... and GIFs!</h2>
292 </section>
293 </section>
294
295 <section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom">
296 <h2>Background Transitions</h2>
297 <p>
298 Different background transitions are available via the backgroundTransition option. This one's called "zoom".
299 </p>
300 <pre><code class="hljs javascript">Reveal.configure({ backgroundTransition: 'zoom' })</code></pre>
301 </section>
302
303 <section data-transition="slide" data-background="#b5533c" data-background-transition="zoom">
304 <h2>Background Transitions</h2>
305 <p>
306 You can override background transitions per-slide.
307 </p>
308 <pre><code class="hljs html" style="word-wrap: break-word;">&lt;section data-background-transition="zoom"&gt;</code></pre>
309 </section>
310
311 <section data-background-iframe="https://hakim.se" data-background-interactive>
312 <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;">
313 <h2>Iframe Backgrounds</h2>
314 <p>Since reveal.js runs on the web, you can easily embed other web content. Try interacting with the page in the background.</p>
315 </div>
316 </section>
317
318 <section>
319 <h2>Marvelous List</h2>
320 <ul>
321 <li>No order here</li>
322 <li>Or here</li>
323 <li>Or here</li>
324 <li>Or here</li>
325 </ul>
326 </section>
327
328 <section>
329 <h2>Fantastic Ordered List</h2>
330 <ol>
331 <li>One is smaller than...</li>
332 <li>Two is smaller than...</li>
333 <li>Three!</li>
334 </ol>
335 </section>
336
337 <section>
338 <h2>Tabular Tables</h2>
339 <table>
340 <thead>
341 <tr>
342 <th>Item</th>
343 <th>Value</th>
344 <th>Quantity</th>
345 </tr>
346 </thead>
347 <tbody>
348 <tr>
349 <td>Apples</td>
350 <td>$1</td>
351 <td>7</td>
352 </tr>
353 <tr>
354 <td>Lemonade</td>
355 <td>$2</td>
356 <td>18</td>
357 </tr>
358 <tr>
359 <td>Bread</td>
360 <td>$3</td>
361 <td>2</td>
362 </tr>
363 </tbody>
364 </table>
365 </section>
366
367 <section>
368 <h2>Clever Quotes</h2>
369 <p>
370 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:
371 </p>
372 <blockquote cite="http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations">
373 &ldquo;For years there has been a theory that millions of monkeys typing at random on millions of typewriters would
374 reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.&rdquo;
375 </blockquote>
376 </section>
377
378 <section>
379 <h2>Intergalactic Interconnections</h2>
380 <p>
381 You can link between slides internally,
382 <a href="#/2/3">like this</a>.
383 </p>
384 </section>
385
386 <section>
387 <h2>Speaker View</h2>
388 <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>
389 <p>Press the <em>S</em> key to try it out.</p>
390
391 <aside class="notes">
392 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).
393 </aside>
394 </section>
395
396 <section>
397 <h2>Export to PDF</h2>
398 <p>Presentations can be <a href="https://revealjs.com/pdf-export/">exported to PDF</a>, here's an example:</p>
399 <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>
400 </section>
401
402 <section>
403 <h2>Global State</h2>
404 <p>
405 Set <code>data-state="something"</code> on a slide and <code>"something"</code>
406 will be added as a class to the document element when the slide is open. This lets you
407 apply broader style changes, like switching the page background.
408 </p>
409 </section>
410
411 <section data-state="customevent">
412 <h2>State Events</h2>
413 <p>
414 Additionally custom events can be triggered on a per slide basis by binding to the <code>data-state</code> name.
415 </p>
416 <pre><code class="javascript" data-trim contenteditable style="font-size: 18px;">
417Reveal.on( 'customevent', function() {
418 console.log( '"customevent" has fired' );
419} );
420 </code></pre>
421 </section>
422
423 <section>
424 <h2>Take a Moment</h2>
425 <p>
426 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.
427 </p>
428 </section>
429
430 <section>
431 <h2>Much more</h2>
432 <ul>
433 <li>Right-to-left support</li>
434 <li><a href="https://revealjs.com/api/">Extensive JavaScript API</a></li>
435 <li><a href="https://revealjs.com/auto-slide/">Auto-progression</a></li>
436 <li><a href="https://revealjs.com/backgrounds/#parallax-background">Parallax backgrounds</a></li>
437 <li><a href="https://revealjs.com/keyboard/">Custom keyboard bindings</a></li>
438 </ul>
439 </section>
440
441 <section style="text-align: left;">
442 <h1>THE END</h1>
443 <p>
444 - <a href="https://slides.com">Try the online editor</a> <br>
445 - <a href="https://github.com/hakimel/reveal.js">Source code &amp; documentation</a>
446 </p>
447 </section>
448
449 </div>
450
451 </div>
452
453 <script src="dist/reveal.js"></script>
454 <script src="plugin/zoom/zoom.js"></script>
455 <script src="plugin/notes/notes.js"></script>
456 <script src="plugin/search/search.js"></script>
457 <script src="plugin/markdown/markdown.js"></script>
458 <script src="plugin/highlight/highlight.js"></script>
459 <script>
460
461 // Also available as an ES module, see:
462 // https://revealjs.com/initialization/
463 Reveal.initialize({
464 controls: true,
465 progress: true,
466 center: true,
467 hash: true,
468
469 // Learn about plugins: https://revealjs.com/plugins/
470 plugins: [ RevealZoom, RevealNotes, RevealSearch, RevealMarkdown, RevealHighlight ]
471 });
472
473 </script>
474
475 </body>
476</html>