<meta charset="utf-8">
<title>reveal.js</title>
+
+ <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">
<link href='http://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
// Display a presentation progress bar
progress: true,
+ // If true; each slide will be pushed to the browser history
+ history: false,
+
// Apply a 3D roll to links on hover
rollingLinks: true,
theme: query.theme || 'default', // default/neon
// Transition style
- transition: query.transition || 'default' // default/cube/page/concave/linear(2d),
+ transition: query.transition || 'default' // default/cube/page/concave/linear(2d)
});
hljs.initHighlightingOnLoad();
</script>
-
+
</body>
</html>
\ No newline at end of file
* - Slides were moved one level deeper, into #reveal .slides
* - Controls and progress bar were moved into #reveal
* - All CSS is now much more explicit, rooted at #reveal, to prevent conflicts
+ * - Config option for disabling updates to URL, defaults to true
*
*
* @author Hakim El Hattab | http://hakim.se
indexh = 0,
indexv = 0,
- // Configurations options, including;
- // > {Boolean} controls
- // > {Boolean} progress
- // > {String} theme
- // > {String} transition
- // > {Boolean} rollingLinks
- config = {},
+ // Configurations options, can be overridden at initialization time
+ config = {
+ controls: false,
+ progress: false,
+ history: false,
+ transition: 'default',
+ theme: 'default',
+ rollingLinks: true
+ },
// Cached references to DOM elements
dom = {},
dom.controlsUp.addEventListener('click', preventAndForward( navigateUp ), false);
dom.controlsDown.addEventListener('click', preventAndForward( navigateDown ), false);
- // Fall back on default options
- config.rollingLinks = options.rollingLinks === undefined ? true : options.rollingLinks;
- config.controls = options.controls === undefined ? false : options.controls;
- config.progress = options.progress === undefined ? false : options.progress;
- config.transition = options.transition === undefined ? 'default' : options.transition;
- config.theme = options.theme === undefined ? 'default' : options.theme;
-
- // Transition alias
- if( config.transition === 'box' ) config.transition = 'cube';
+ // Copy options over to our config object
+ extend( config, options );
// Fall back on the 2D transform theme 'linear'
if( supports3DTransforms === false ) {
readURL();
}
+ /**
+ * Extend object a with the properties of object b.
+ * If there's a conflict, object b takes precedence.
+ */
+ function extend( a, b ) {
+ for( var i in b ) {
+ a[ i ] = b[ i ];
+ }
+ }
+
/**
* Prevents an events defaults behavior calls the
* specified delegate.
* state.
*/
function writeURL() {
- var url = '/';
-
- // Only include the minimum possible number of components in
- // the URL
- if( indexh > 0 || indexv > 0 ) url += indexh;
- if( indexv > 0 ) url += '/' + indexv;
-
- window.location.hash = url;
+ if( config.history ) {
+ var url = '/';
+
+ // Only include the minimum possible number of components in
+ // the URL
+ if( indexh > 0 || indexv > 0 ) url += indexh;
+ if( indexv > 0 ) url += '/' + indexv;
+
+ window.location.hash = url;
+ }
}
/**