index.html 9.25 KB
Newer Older
Hakim El Hattab's avatar
Hakim El Hattab committed
1
2
3
4
5
6
<!doctype html>  
<html lang="en">
	
	<head>
		<meta charset="utf-8">
		
7
		<title>reveal.js</title>
8
9
10

		<meta name="description" content="An easy to use CSS 3D slideshow tool for quickly creating good looking HTML presentations.">
		<meta name="author" content="Hakim El Hattab">
Hakim El Hattab's avatar
Hakim El Hattab committed
11
		
12
		<link href='http://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
Hakim El Hattab's avatar
Hakim El Hattab committed
13
14
15
		
		<link rel="stylesheet" href="css/reset.css">
		<link rel="stylesheet" href="css/main.css">
16
17

		<link rel="stylesheet" href="lib/zenburn.css">
Hakim El Hattab's avatar
Hakim El Hattab committed
18
19
20
21
	</head>
	
	<body>
		
22
		<div id="reveal">
23
24
25

			<!-- Used to fade in a background when a specific slide state is reached -->
			<div class="state-background"></div>
Hakim El Hattab's avatar
Hakim El Hattab committed
26
			
27
28
29
30
31
32
33
34
35
36
37
38
			<!-- Any section element inside of this container is displayed as a slide -->
			<div class="slides">
				<section>
					<h1>Reveal.js</h1>
					<h3 class="inverted">A CSS 3D Slideshow</h3>
					<script>
						// Delicously hacky. Look away.
						if( navigator.userAgent.match( /(iPhone|iPad|iPod|Android)/i ) )
						document.write( '<p style="color: rgba(0,0,0,0.3); text-shadow: none;">('+'Tap to navigate'+')</p>' );
					</script>
				</section>
				
Hakim El Hattab's avatar
Hakim El Hattab committed
39
				<section>
40
					<h2>Heads Up</h2>
Hakim El Hattab's avatar
Hakim El Hattab committed
41
					<p>
42
43
44
45
46
						reveal.js is an easy to use, HTML based, presentation tool. You'll need a modern browser with 
						support for CSS 3D transforms to see it in its full glory.
					</p>
					<p>
						<i><small>- <a href="http://hakim.se">Hakim El Hattab</a> / <a href="http://twitter.com/hakimel">@hakimel</a></small></i>
Hakim El Hattab's avatar
Hakim El Hattab committed
47
48
					</p>
				</section>
49
50
				
				<!-- Example of nested vertical slides -->
Hakim El Hattab's avatar
Hakim El Hattab committed
51
				<section>
52
53
54
55
56
57
58
					<section>
						<h2>Vertical Slides</h2>
						<p>
							Slides can be nested inside of other slides,<br/>
							try pressing <a href="#/2/1">down</a>.
						</p>
						<a href="#/2/1" class="image">
59
							<img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png">
60
61
62
63
64
65
66
67
68
						</a>
					</section>
					<section>
						<h2>Basement Level 1</h2>
						<p>Press down or up to navigate.</p>
					</section>
					<section>
						<h2>Basement Level 2</h2>
						<p>Cornify</p>
69
70
71
						<a class="test" href="http://cornify.com">
							<img width="280" height="326" src="https://s3.amazonaws.com/hakim-static/reveal-js/cornify.gif">
						</a>
72
73
74
75
76
					</section>
					<section>
						<h2>Basement Level 3</h2>
						<p>That's it, time to go back up.</p>
						<a href="#/2" class="image">
77
							<img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" style="-webkit-transform: rotate(180deg);">
78
79
						</a>
					</section>
Hakim El Hattab's avatar
Hakim El Hattab committed
80
				</section>
81

Hakim El Hattab's avatar
Hakim El Hattab committed
82
				<section>
83
84
					<h2>Holistic Overview</h2>
					<p>
85
						Press <strong>ESC</strong> to enter the slide overview!
86
					</p>
87
88
89
90
				</section>

				<section>
					<h2>Transition Styles</h2>
91
					<p>
92
						You can select from different transitions, like:
93
					</p>
94
95
96
97
98
					<ul>
						<li><a href="http://lab.hakim.se/reveal-js/?transition=cube">Cube</a></li>
						<li><a href="http://lab.hakim.se/reveal-js/?transition=page">Page</a></li>
						<li><a href="http://lab.hakim.se/reveal-js/?transition=concave">Concave</a></li>
					</ul>
Hakim El Hattab's avatar
Hakim El Hattab committed
99
				</section>
100

Hakim El Hattab's avatar
Hakim El Hattab committed
101
				<section>
102
103
104
105
106
107
108
					<h2>Marvelous Unordered List</h2>
					<ul>
						<li>No order here</li>
						<li>Or here</li>
						<li>Or here</li>
						<li>Or here</li>
					</ul>
Hakim El Hattab's avatar
Hakim El Hattab committed
109
110
				</section>
				
111
112
113
114
115
116
117
118
				<section>
					<h2>Fantastic Ordered List</h2>
					<ol>
						<li>One is smaller than...</li>
						<li>Two is smaller than...</li>
						<li>Three!</li>
					</ol>
				</section>
119

120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
				<section>
					<section data-state="alert">
						<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 let's you
							apply broader style changes, like switching the background.
						</p>
						<a href="#/7/1" class="image">
							<img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png">
						</a>
					</section>
					<section data-state="blackout">
						<h2>"blackout"</h2>
						<a href="#/7/2" class="image">
							<img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png">
						</a>
					</section>
					<section data-state="soothe">
						<h2>"soothe"</h2>
						<a href="#/7/0" class="image">
							<img width="178" height="238" src="https://s3.amazonaws.com/hakim-static/reveal-js/arrow.png" style="-webkit-transform: rotate(180deg);">
						</a>
					</section>
144
145
				</section>

146
147
148
149
150
151
152
153
154
155
156
157
				<section data-state="customevent">
					<h2>Custom Events</h2>
					<p>
						Additionally custom events can be triggered on a per slide basis by binding to the <code>data-state</code> name.
					</p>
					<p><code style="font-size: 27px;">
						document.addEventListener('customevent', function(){<br />
							alert('event has fired');<br />
						});
					</code></p>
				</section>

158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
				<section>
					<h2>Clever Quotes</h2>
					<p>
						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:
					</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>Pretty Code</h2>
					<pre><code contenteditable>
	var supports3DTransforms =  document.body.style['webkitPerspective'] !== undefined || 
					document.body.style['MozPerspective'] !== undefined ||
					document.body.style['perspective'] !== undefined;

	function linkify( selector ) {
	    if( supports3DTransforms ) {
	        
	        var nodes = document.querySelectorAll( selector );

	        for( var i = 0, len = nodes.length; i < len; i++ ) {
	            var node = nodes[i];

	            if( !node.className || !node.className.match( /roll/g ) ) {
	                node.className += ' roll';
	                node.innerHTML = '<span data-title="'+ node.text +'">' + node.innerHTML + '</span>';
	            }
	        };
	    }
	}

	linkify( 'a' );
					</code></pre>
					<p>Courtesy of <a href="http://softwaremaniacs.org/soft/highlight/en/description/">highlight.js</a>.</p>
				</section>
				
				<section>
					<h2>Intergalactic Interconnections</h2>
					<p>
						You can link between slides internally,<br/>
						<a href="#/2/3">like this</a>.
					</p>
				</section>
205

206
207
208
209
210
211
212
213
214
215
216
217
218
219
				<section>
					<h2>Fragmented Views</h2>
					<p>Hit the next arrow...</p>
					<p class="fragment">... to step through ...</p>
					<ol>
						<li class="fragment"><code>any type</code></li>
						<li class="fragment"><em>of view</em></li>
						<li class="fragment"><strong>fragments</strong></li>
					</ol>
				</section>
				
				<section>
					<h2>Spectacular image!</h2>
					<a class="image" href="http://hakim.se/experiments/html5/breakdom/" target="_blank">
220
						<img width="320" height="412" src="https://s3.amazonaws.com/hakim-static/reveal-js/breakdom.png">
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
					</a>
				</section>
				
				<section>
					<h2>Stellar Links</h2>
					<ul>
						<li><a href="https://github.com/hakimel/reveal.js">Source code on github</a></li>
						<li><a href="http://hakim.se/projects/reveal-js">Read more on my site</a></li>
						<li><a href="http://twitter.com/hakimel">Follow me on Twitter</a></li>
					</ul>
				</section>
				
				<section>
					<h1>THE END</h1>
					<h3 class="inverted">BY Hakim El Hattab / hakim.se</h3>
				</section>
			</div>

			<!-- The navigational controls UI -->
			<aside class="controls">
				<a class="left" href="#">&#x25C4;</a>
				<a class="right" href="#">&#x25BA;</a>
				<a class="up" href="#">&#x25B2;</a>
				<a class="down" href="#">&#x25BC;</a>
			</aside>

			<!-- Displays presentation progress, max value changes via JS to reflect # of slides -->
			<div class="progress"><span></span></div>
Hakim El Hattab's avatar
Hakim El Hattab committed
249
250
			
		</div>
251
		
252
		<script src="js/reveal.js"></script>
253
254

		<!-- Optional libraries for code syntax highlighting and classList support in IE9 -->
255
		<script src="lib/highlight.js"></script>
256
		<script src="lib/classList.js"></script>
257
		
258
		<script>
259
260
261
262
263
264
			// Parse the query string into a key/value object
			var query = {};
			location.search.replace( /[A-Z0-9]+?=(\w*)/gi, function(a) {
				query[ a.split( '=' ).shift() ] = a.split( '=' ).pop();
			} );

265
266
267
268
			document.addEventListener('customevent', function(){
				alert('event has fired');
			});

269
270
271
272
			Reveal.initialize({
				// Display controls in the bottom right corner
				controls: true,

273
274
275
				// Display a presentation progress bar
				progress: true,

276
				// If true; each slide will be pushed to the browser history
277
				history: true,
278

279
280
281
				// Loops the presentation, defaults to false
				loop: false,

282
283
284
				// Flags if mouse wheel navigation should be enabled
				mouseWheel: true,

285
				// Apply a 3D roll to links on hover
286
				rollingLinks: true,
287

288
289
290
291
				// UI style
				theme: query.theme || 'default', // default/neon

				// Transition style
292
				transition: query.transition || 'default' // default/cube/page/concave/linear(2d)
293
294
295
296
			});

			hljs.initHighlightingOnLoad();
		</script>
297

Hakim El Hattab's avatar
Hakim El Hattab committed
298
299
	</body>
</html>