2 <html$if(lang)$ lang="$lang$"$endif$$if(dir)$ dir="$dir$"$endif$>
 
   5   <meta name="generator" content="pandoc">
 
   7   <meta name="author" content="$author-meta$" />
 
  10   <meta name="dcterms.date" content="$date-meta$" />
 
  13   <meta name="keywords" content="$for(keywords)$$keywords$$sep$, $endfor$">
 
  15   <title>$if(title-prefix)$$title-prefix$ – $endif$$pagetitle$</title>
 
  16   <meta name="apple-mobile-web-app-capable" content="yes">
 
  17   <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
 
  18   <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
 
  19   <link rel="stylesheet" href="$revealjs-url$/css/reveal.css"/>
 
  22 <link rel="stylesheet"
 
  23       href="$highlightjs$/$if(highlightjs-theme)$$highlightjs-theme$$else$default$endif$.css"
 
  24       $if(html5)$$else$type="text/css" $endif$/>
 
  25 <script src="$highlightjs$/highlight.js"></script>
 
  28 $if(highlighting-css)$
 
  29 <style type="text/css">
 
  35 <link rel="stylesheet" href="$revealjs-url$/css/theme/$theme$.css" id="theme">
 
  39 <style type="text/css">
 
  41   background: rgba(255, 255, 255, 0.85);
 
  48   <!-- some tweaks to reveal css -->
 
  49   <style type="text/css">
 
  50     .reveal h1 { font-size: 2.0em; }
 
  51     .reveal h2 { font-size: 1.5em;  }
 
  52     .reveal h3 { font-size: 1.25em;     }
 
  53     .reveal h4 { font-size: 1em;        }
 
  55     .reveal .slides>section,
 
  56     .reveal .slides>section>section {
 
  74       border-collapse: collapse;
 
  96 $if(plugin-chalkboard)$
 
  97     .reveal .slide-menu-button {
 
  98       left: 105px !important;
 
 105     <style type="text/css">code{white-space: pre;}</style>
 
 109     <link rel="stylesheet" href="$css$"/>
 
 113 <!-- Printing and PDF exports -->
 
 114 <script id="paper-css" type="application/dynamic-css">
 
 116 /* Default Print Stylesheet Template
 
 117    by Rob Glazebrook of CSSnewbie.com
 
 118    Last Updated: June 4, 2008
 
 120    Feel free (nay, compelled) to edit, append, and
 
 121    manipulate this file as you see fit. */
 
 126         /* SECTION 1: Set default width, margin, float, and
 
 127            background. This prevents elements from extending
 
 128            beyond the edge of the printed page, and prevents
 
 129            unnecessary background images from printing */
 
 145                 float: none !important;
 
 148         /* SECTION 2: Remove any elements not needed in print.
 
 149            This would include navigation, ads, sidebars, etc. */
 
 156         .reveal .backgrounds {
 
 157                 display: none !important;
 
 160         /* SECTION 3: Set body font face, size, and color.
 
 161            Consider using a serif font for readability. */
 
 162         body, p, td, li, div {
 
 163                 font-size: 20pt!important;
 
 164                 font-family: Georgia, "Times New Roman", Times, serif !important;
 
 168         /* SECTION 4: Set heading font face, sizes, and color.
 
 169            Differentiate your headings from your body text.
 
 170            Perhaps use a large sans-serif for distinction. */
 
 172                 color: #000!important;
 
 175                 font-family: Georgia, "Times New Roman", Times, serif !important;
 
 176                 text-shadow: 0 0 0 #000 !important;
 
 178                 letter-spacing: normal;
 
 180         /* Need to reduce the size of the fonts for printing */
 
 181         h1 { font-size: 28pt !important;  }
 
 182         h2 { font-size: 24pt !important; }
 
 183         h3 { font-size: 22pt !important; }
 
 184         h4 { font-size: 22pt !important; font-variant: small-caps; }
 
 185         h5 { font-size: 21pt !important; }
 
 186         h6 { font-size: 20pt !important; font-style: italic; }
 
 188         /* SECTION 5: Make hyperlinks more usable.
 
 189            Ensure links are underlined, and consider appending
 
 190            the URL to the end of the link for usability. */
 
 193                 color: #000 !important;
 
 195                 text-decoration: underline;
 
 198         .reveal a:link:after,
 
 199         .reveal a:visited:after {
 
 200                 content: " (" attr(href) ") ";
 
 201                 color: #222 !important;
 
 207         /* SECTION 6: more reveal.js specific additions by @skypanther */
 
 216                 text-align: left !important;
 
 225                 border: 1px solid #ddd;
 
 231                 position: static !important;
 
 232                 width: auto !important;
 
 233                 height: auto !important;
 
 237                 margin-left: 0 !important;
 
 238                 margin-top: 0 !important;
 
 239                 padding: 0 !important;
 
 242                 overflow: visible !important;
 
 243                 display: block !important;
 
 245                 text-align: left !important;
 
 246                 -webkit-perspective: none;
 
 247                    -moz-perspective: none;
 
 248                     -ms-perspective: none;
 
 251                 -webkit-perspective-origin: 50% 50%;
 
 252                    -moz-perspective-origin: 50% 50%;
 
 253                     -ms-perspective-origin: 50% 50%;
 
 254                         perspective-origin: 50% 50%;
 
 256         .reveal .slides section {
 
 257                 visibility: visible !important;
 
 258                 position: static !important;
 
 259                 width: auto !important;
 
 260                 height: auto !important;
 
 261                 display: block !important;
 
 262                 overflow: visible !important;
 
 266                 margin-left: 0 !important;
 
 267                 margin-top: 0 !important;
 
 268                 padding: 60px 20px !important;
 
 269                 z-index: auto !important;
 
 271                 opacity: 1 !important;
 
 273                 page-break-after: always !important;
 
 275                 -webkit-transform-style: flat !important;
 
 276                    -moz-transform-style: flat !important;
 
 277                     -ms-transform-style: flat !important;
 
 278                         transform-style: flat !important;
 
 280                 -webkit-transform: none !important;
 
 281                    -moz-transform: none !important;
 
 282                     -ms-transform: none !important;
 
 283                         transform: none !important;
 
 285                 -webkit-transition: none !important;
 
 286                    -moz-transition: none !important;
 
 287                     -ms-transition: none !important;
 
 288                         transition: none !important;
 
 290         .reveal .slides section.stack {
 
 291                 padding: 0 !important;
 
 293         .reveal section:last-of-type {
 
 294                 page-break-after: avoid !important;
 
 296         .reveal section .fragment {
 
 297                 opacity: 1 !important;
 
 298                 visibility: visible !important;
 
 300                 -webkit-transform: none !important;
 
 301                    -moz-transform: none !important;
 
 302                     -ms-transform: none !important;
 
 303                         transform: none !important;
 
 305         .reveal section img {
 
 308                 background: rgba(255,255,255,1);
 
 309                 border: 1px solid #666;
 
 313         .reveal section small {
 
 321 <script id="pdf-css" type="application/dynamic-css">
 
 324  * This stylesheet is used to print reveal.js
 
 325  * presentations to PDF.
 
 327  * https://github.com/hakimel/reveal.js#pdf-export
 
 331         -webkit-print-color-adjust: exact;
 
 335         margin: 0 auto !important;
 
 338         float: none !important;
 
 348 /* Remove any elements not needed in print. */
 
 357         display: none !important;
 
 360 h1, h2, h3, h4, h5, h6 {
 
 361         text-shadow: 0 0 0 #000 !important;
 
 365         overflow: hidden !important;
 
 366         font-family: Courier, 'Courier New', monospace !important;
 
 379         width: auto !important;
 
 380         height: auto !important;
 
 381         overflow: hidden !important;
 
 390         margin: 0 !important;
 
 391         padding: 0 !important;
 
 396         -webkit-perspective: none;
 
 397            -moz-perspective: none;
 
 398             -ms-perspective: none;
 
 401         -webkit-perspective-origin: 50% 50%; /* there isn't a none/auto value but 50-50 is the default */
 
 402            -moz-perspective-origin: 50% 50%;
 
 403             -ms-perspective-origin: 50% 50%;
 
 404                 perspective-origin: 50% 50%;
 
 407 .reveal .slides section {
 
 408         page-break-after: always !important;
 
 410         visibility: visible !important;
 
 411         position: relative !important;
 
 412         display: block !important;
 
 413         position: relative !important;
 
 415         margin: 0 !important;
 
 416         padding: 0 !important;
 
 417         box-sizing: border-box !important;
 
 420         opacity: 1 !important;
 
 422         -webkit-transform-style: flat !important;
 
 423            -moz-transform-style: flat !important;
 
 424             -ms-transform-style: flat !important;
 
 425                 transform-style: flat !important;
 
 427         -webkit-transform: none !important;
 
 428            -moz-transform: none !important;
 
 429             -ms-transform: none !important;
 
 430                 transform: none !important;
 
 433 .reveal section.stack {
 
 434         margin: 0 !important;
 
 435         padding: 0 !important;
 
 436         page-break-after: avoid !important;
 
 437         height: auto !important;
 
 438         min-height: auto !important;
 
 450 /* Slide backgrounds are placed inside of their slide when exporting to PDF */
 
 451 .reveal section .slide-background {
 
 452         display: block !important;
 
 460 /* All elements should be above the slide-background */
 
 466 /* Display slide speaker notes when 'showNotes' is enabled */
 
 467 .reveal .speaker-notes-pdf {
 
 476 /* Display slide numbers when 'slideNumber' is enabled */
 
 477 .reveal .slide-number-pdf {
 
 487 var style = document.createElement( 'style' );
 
 488 style.type = 'text/css';
 
 489 var style_script_id = window.location.search.match( /print-pdf/gi ) ? 'pdf-css' : 'paper-css';
 
 490 var style_script = document.getElementById(style_script_id).text;
 
 491 style.innerHTML = style_script;
 
 492 document.getElementsByTagName('head')[0].appendChild(style);
 
 495 $for(header-includes)$
 
 500 $for(include-before)$
 
 511     <h1 class="title">$title$</h1>
 
 513   <h1 class="subtitle">$subtitle$</h1>
 
 516     <h2 class="author">$author$</h2>
 
 519     <h3 class="date">$date$</h3>
 
 524 <section id="$idprefix$TOC">
 
 534   <script src="$revealjs-url$/lib/js/head.min.js"></script>
 
 535   <script src="$revealjs-url$/js/reveal.js"></script>
 
 539       // Full list of configuration options available at:
 
 540       // https://github.com/hakimel/reveal.js#configuration
 
 543         // Display controls in the bottom right corner
 
 544         controls: $controls$,
 
 547         // Display a presentation progress bar
 
 548         progress: $progress$,
 
 551         // Display the page number of the current slide
 
 552         slideNumber: $slideNumber$,
 
 555         // Push each slide change to the browser history
 
 559         // Enable keyboard shortcuts for navigation
 
 560         keyboard: $keyboard$,
 
 563         // Enable the slide overview mode
 
 564         overview: $overview$,
 
 567         // Vertical centering of slides
 
 571         // Enables touch navigation on devices with touch input
 
 575         // Loop the presentation
 
 579         // Change the presentation direction to be RTL
 
 583         // Turns fragments on and off globally
 
 584         fragments: $fragments$,
 
 587         // Flags if the presentation is running in an embedded mode,
 
 588         // i.e. contained within a limited portion of the screen
 
 589         embedded: $embedded$,
 
 592         // Flags if we should show a help overlay when the questionmark
 
 597         // Number of milliseconds between automatically proceeding to the
 
 598         // next slide, disabled when set to 0, this value can be overwritten
 
 599         // by using a data-autoslide attribute on your slides
 
 600         autoSlide: $autoSlide$,
 
 602 $if(autoSlideStoppable)$
 
 603         // Stop auto-sliding after user input
 
 604         autoSlideStoppable: $autoSlideStoppable$,
 
 607         // Enable slide navigation via mouse wheel
 
 608         mouseWheel: $mouseWheel$,
 
 611         // Hides the address bar on mobile devices
 
 612         hideAddressBar: $hideAddressBar$,
 
 615         // Opens links in an iframe preview overlay
 
 616         previewLinks: $previewLinks$,
 
 620         transition: '$transition$', // none/fade/slide/convex/concave/zoom
 
 622 $if(transitionSpeed)$
 
 624         transitionSpeed: '$transitionSpeed$', // default/fast/slow
 
 626 $if(backgroundTransition)$
 
 627         // Transition style for full page slide backgrounds
 
 628         backgroundTransition: '$backgroundTransition$', // none/fade/slide/convex/concave/zoom
 
 631         // Number of slides away from the current that are visible
 
 632         viewDistance: $viewDistance$,
 
 634 $if(parallaxBackgroundImage)$
 
 635         // Parallax background image
 
 636         parallaxBackgroundImage: '$parallaxBackgroundImage$', // e.g. "'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg'"
 
 638 $if(parallaxBackgroundSize)$
 
 639         // Parallax background size
 
 640         parallaxBackgroundSize: '$parallaxBackgroundSize$', // CSS syntax, e.g. "2100px 900px"
 
 642 $if(parallaxBackgroundHorizontal)$
 
 643         // Amount to move parallax background (horizontal and vertical) on slide change
 
 645         parallaxBackgroundHorizontal: '$parallaxBackgroundHorizontal$',
 
 647 $if(parallaxBackgroundVertical)$
 
 648         parallaxBackgroundVertical: '$parallaxBackgroundVertical$',
 
 651         // The "normal" size of the presentation, aspect ratio will be preserved
 
 652         // when the presentation is scaled to fit different resolutions. Can be
 
 653         // specified using percentage units.
 
 660         // Factor of the display size that should remain empty around the content
 
 664         // Bounds for smallest/largest possible scale to apply to content
 
 665         minScale: $minScale$,
 
 668         maxScale: $maxScale$,
 
 677           numbers: $menu-numbers$,
 
 679 $if(menu-titleSelector)$
 
 680           titleSelector: $menu-titleSelector$,
 
 682 $if(menu-hideMissingTitles)$
 
 683           hideMissingTitles: $menu-hideMissingTitles$,
 
 686           markers: $menu-markers$,
 
 688 $if(menu-openButton)$
 
 689           openButton: $menu-openButton$,
 
 691 $if(menu-openSlideNumber)$
 
 692           openSlideNumber: $menu-openSlideNumber$,
 
 695           keyboard: $menu-keyboard$,
 
 704 $if(plugin-chalkboard)$
 
 708           src: $chalkboard-src$,
 
 710 $if(chalkboard-readOnly)$
 
 711           readOnly: $chalkboard-readOnly$,
 
 713 $if(chalkboard-toggleNotesButton)$
 
 714           toggleNotesButton: $chalkboard-toggleNotesButton$,
 
 716 $if(chalkboard-toggleChalkboardButton)$
 
 717           toggleChalkboardButton: $chalkboard-toggleChalkboardButton$,
 
 719 $if(chalkboard-transition)$
 
 720           transition: $chalkboard-transition$,
 
 722 $if(chalkboard-theme)$
 
 723           theme: $chalkboard-theme$,
 
 725 $if(chalkboard-color)$
 
 726           color: $chalkboard-color$,
 
 728 $if(chalkboard-background)$
 
 729           background: $chalkboard-background$,
 
 732           pen: $chalkboard-pen$,
 
 737           67: function() { RevealChalkboard.toggleNotesCanvas() },    // toggle notes canvas when 'c' is pressed
 
 738           66: function() { RevealChalkboard.toggleChalkboard() }, // toggle chalkboard when 'b' is pressed
 
 739           46: function() { RevealChalkboard.clear() },    // clear chalkboard when 'DEL' is pressed
 
 740            8: function() { RevealChalkboard.reset() },    // reset chalkboard data on current slide when 'BACKSPACE' is pressed
 
 741           68: function() { RevealChalkboard.download() }, // downlad recorded chalkboard drawing when 'd' is pressed
 
 745         // Optional reveal.js plugins
 
 748           { src: '$revealjs-url$/plugin/notes/notes.js', async: true },
 
 751           { src: '$revealjs-url$/plugin/search/search.js', async: true },
 
 754           { src: '$revealjs-url$/plugin/zoom-js/zoom.js', async: true },
 
 756 $if(plugin-chalkboard)$
 
 757           { src: '$revealjs-url$/plugin/chalkboard/chalkboard.js', async: true },
 
 760           { src: '$revealjs-url$/plugin/menu/menu.js', async: true },
 
 766   <!-- dynamically load mathjax for compatibility with self-contained -->
 
 769       var script = document.createElement("script");
 
 770       script.type = "text/javascript";
 
 771       script.src  = "$mathjax-url$";
 
 772       document.getElementsByTagName("head")[0].appendChild(script);
 
 780       Reveal.addEventListener( 'slidechanged', function(event) {  
 
 781         window.jQuery(event.previousSlide).trigger('hidden');
 
 782         window.jQuery(event.currentSlide).trigger('shown');