7 <title>reveal.js - The HTML Presentation Framework</title>
9 <meta name="description" content="A framework for easily creating beautiful presentations using HTML">
10 <meta name="author" content="Hakim El Hattab">
12 <meta name="apple-mobile-web-app-capable" content="yes" />
13 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
15 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
17 <link rel="stylesheet" href="css/reveal.min.css">
18 <link rel="stylesheet" href="css/theme/default.css" id="theme">
20 <!-- For syntax highlighting -->
21 <link rel="stylesheet" href="lib/css/zenburn.css">
23 <!-- If the query includes 'print-pdf', use the PDF print sheet -->
25 document.write( '<link rel="stylesheet" href="css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
29 <script src="lib/js/html5shiv.js"></script>
37 <!-- Any section element inside of this container is displayed as a slide -->
42 <h3>HTML Presentations Made Easy</h3>
44 <small>Created by <a href="http://hakim.se">Hakim El Hattab</a> / <a href="http://twitter.com/hakimel">@hakimel</a></small>
51 reveal.js is a framework for easily creating beautiful presentations using HTML. You'll need a browser with
52 support for CSS 3D transforms to see it in its full glory.
56 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).
60 <!-- Example of nested vertical slides -->
63 <h2>Vertical Slides</h2>
65 Slides can be nested inside of other slides,
66 try pressing <a href="#" class="navigate-down">down</a>.
68 <a href="#" class="image navigate-down">
69 <img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Down arrow">
73 <h2>Basement Level 1</h2>
74 <p>Press down or up to navigate.</p>
77 <h2>Basement Level 2</h2>
79 <a class="test" href="http://cornify.com">
80 <img width="280" height="326" src="https://s3.amazonaws.com/hakim-static/reveal-js/cornify.gif" alt="Unicorn">
84 <h2>Basement Level 3</h2>
85 <p>That's it, time to go back up.</p>
86 <a href="#/2" class="image">
87 <img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Up arrow" style="-webkit-transform: rotate(180deg);">
95 Not a coder? No problem. There's a fully-featured visual editor for authoring these, try it out at <a href="http://slid.es" target="_blank">http://slid.es</a>.
100 <h2>Point of View</h2>
102 Press <strong>ESC</strong> to enter the slide overview.
105 Hold down alt and click on any element to zoom in on it using <a href="http://lab.hakim.se/zoom-js">zoom.js</a>. Alt + click anywhere to zoom back out.
110 <h2>Works in Mobile Safari</h2>
112 Try it out! You can swipe through the slides and pinch your way to the overview.
117 <h2>Marvelous Unordered List</h2>
119 <li>No order here</li>
127 <h2>Fantastic Ordered List</h2>
129 <li>One is smaller than...</li>
130 <li>Two is smaller than...</li>
135 <section data-markdown>
136 <script type="text/template">
139 For those of you who like that sort of thing. Instructions and a bit more info available [here](https://github.com/hakimel/reveal.js#markdown).
142 <section data-markdown>
145 For those of you who like that sort of thing.
146 Instructions and a bit more info available [here](https://github.com/hakimel/reveal.js#markdown).
152 <section id="transitions">
153 <h2>Transition Styles</h2>
155 You can select from different transitions, like: <br>
156 <a href="?transition=cube#/transitions">Cube</a> -
157 <a href="?transition=page#/transitions">Page</a> -
158 <a href="?transition=concave#/transitions">Concave</a> -
159 <a href="?transition=zoom#/transitions">Zoom</a> -
160 <a href="?transition=linear#/transitions">Linear</a> -
161 <a href="?transition=fade#/transitions">Fade</a> -
162 <a href="?transition=none#/transitions">None</a> -
163 <a href="?#/transitions">Default</a>
167 <section id="themes">
170 Reveal.js comes with a few themes built in: <br>
171 <a href="?theme=sky#/themes">Sky</a> -
172 <a href="?theme=beige#/themes">Beige</a> -
173 <a href="?theme=simple#/themes">Simple</a> -
174 <a href="?theme=serif#/themes">Serif</a> -
175 <a href="?theme=night#/themes">Night</a> -
176 <a href="?#/themes">Default</a>
180 * Theme demos are loaded after the presentation which leads to flicker. In production you should load your theme in the <code><head></code> using a <code><link></code>.
186 <section data-state="alert">
187 <h2>Global State</h2>
189 Set <code>data-state="something"</code> on a slide and <code>"something"</code>
190 will be added as a class to the document element when the slide is open. This lets you
191 apply broader style changes, like switching the background.
193 <a href="#" class="image navigate-down">
194 <img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Down arrow">
197 <section data-state="blackout">
199 <a href="#" class="image navigate-down">
200 <img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Down arrow">
203 <section data-state="soothe">
205 <a href="#" class="image navigate-next">
206 <img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" alt="Up arrow" style="-webkit-transform: rotate(-90deg);">
211 <section data-state="customevent">
212 <h2>Custom Events</h2>
214 Additionally custom events can be triggered on a per slide basis by binding to the <code>data-state</code> name.
216 <pre><code data-trim contenteditable style="font-size: 18px; margin-top: 20px;">
217 Reveal.addEventListener( 'customevent', function() {
218 console.log( '"customevent" has fired' );
224 <h2>Clever Quotes</h2>
226 These guys come in two forms, inline: <q cite="http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations">
227 “The nice thing about standards is that there are so many to choose from”</q> and block:
229 <blockquote cite="http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations">
230 “For years there has been a theory that millions of monkeys typing at random on millions of typewriters would
231 reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.”
237 <pre><code data-trim contenteditable>
238 function linkify( selector ) {
239 if( supports3DTransforms ) {
241 var nodes = document.querySelectorAll( selector );
243 for( var i = 0, len = nodes.length; i < len; i++ ) {
246 if( !node.className ) ) {
247 node.className += ' roll';
253 <p>Courtesy of <a href="http://softwaremaniacs.org/soft/highlight/en/description/">highlight.js</a>.</p>
257 <h2>Intergalactic Interconnections</h2>
259 You can link between slides internally,
260 <a href="#/2/3">like this</a>.
266 <h2>Fragmented Views</h2>
267 <p>Hit the next arrow...</p>
268 <p class="fragment">... to step through ...</p>
270 <li class="fragment"><code>any type</code></li>
271 <li class="fragment"><em>of view</em></li>
272 <li class="fragment"><strong>fragments</strong></li>
275 <aside class="notes">
276 This slide has fragments which are also stepped through in the notes window.
280 <h2>Fragment Styles</h2>
281 <p>There's a few styles of fragments, like:</p>
282 <p class="fragment grow">grow</p>
283 <p class="fragment shrink">shrink</p>
284 <p class="fragment roll-in">roll-in</p>
285 <p class="fragment fade-out">fade-out</p>
286 <p class="fragment highlight-red">highlight-red</p>
287 <p class="fragment highlight-green">highlight-green</p>
288 <p class="fragment highlight-blue">highlight-blue</p>
293 <h2>Spectacular image!</h2>
294 <a class="image" href="http://lab.hakim.se/meny/" target="_blank">
295 <img width="320" height="299" src="http://s3.amazonaws.com/hakim-static/portfolio/images/meny.png" alt="Meny">
300 <h2>Export to PDF</h2>
301 <p>Presentations can be <a href="https://github.com/hakimel/reveal.js#pdf-export">exported to PDF</a>, below is an example that's been uploaded to SlideShare.</p>
302 <iframe id="slideshare" src="http://www.slideshare.net/slideshow/embed_code/13872948" width="455" height="356" style="margin:0;overflow:hidden;border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen> </iframe>
304 document.getElementById('slideshare').attributeName = 'allowfullscreen';
309 <h2>Take a Moment</h2>
311 Press b or period on your keyboard to enter the 'paused' mode. This mode is helpful when you want to take distracting slides off the screen
312 during a presentation.
317 <h2>Stellar Links</h2>
319 <li><a href="http://slid.es">Try the online editor</a></li>
320 <li><a href="https://github.com/hakimel/reveal.js">Source code on GitHub</a></li>
321 <li><a href="http://twitter.com/hakimel">Follow me on Twitter</a></li>
327 <h3>BY Hakim El Hattab / hakim.se</h3>
334 <script src="lib/js/head.min.js"></script>
335 <script src="js/reveal.min.js"></script>
339 // Full list of configuration options available here:
340 // https://github.com/hakimel/reveal.js#configuration
347 theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
348 transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none
350 // Optional libraries used to extend on reveal.js
352 { src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
353 { src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
354 { src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
355 { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
356 { src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
357 { src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }
358 // { src: 'plugin/search/search.js', async: true, condition: function() { return !!document.body.classList; } }
359 // { src: 'plugin/remotes/remotes.js', async: true, condition: function() { return !!document.body.classList; } }