reveal.rb 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -0
  3. data/Gemfile.lock +15 -1
  4. data/README.md +8 -1
  5. data/Rakefile +7 -0
  6. data/lib/reveal/cli.rb +15 -97
  7. data/lib/reveal/command.rb +109 -0
  8. data/lib/reveal/templates/revealjs/css/print/paper.css +193 -167
  9. data/lib/reveal/templates/revealjs/css/print/pdf.css +20 -53
  10. data/lib/reveal/templates/revealjs/css/reveal.css +1175 -0
  11. data/lib/reveal/templates/revealjs/css/theme/beige.css +183 -60
  12. data/lib/reveal/templates/revealjs/css/theme/black.css +267 -0
  13. data/lib/reveal/templates/revealjs/css/theme/blood.css +190 -80
  14. data/lib/reveal/templates/revealjs/css/theme/league.css +273 -0
  15. data/lib/reveal/templates/revealjs/css/theme/moon.css +174 -51
  16. data/lib/reveal/templates/revealjs/css/theme/night.css +171 -42
  17. data/lib/reveal/templates/revealjs/css/theme/serif.css +187 -58
  18. data/lib/reveal/templates/revealjs/css/theme/simple.css +179 -50
  19. data/lib/reveal/templates/revealjs/css/theme/sky.css +176 -47
  20. data/lib/reveal/templates/revealjs/css/theme/solarized.css +174 -51
  21. data/lib/reveal/templates/revealjs/css/theme/white.css +267 -0
  22. data/lib/reveal/templates/revealjs/index.html +411 -0
  23. data/lib/reveal/templates/revealjs/js/reveal.js +4508 -0
  24. data/lib/reveal/templates/revealjs/lib/css/zenburn.css +74 -71
  25. data/lib/reveal/templates/revealjs/lib/font/{league_gothic_license → league-gothic/LICENSE} +0 -0
  26. data/lib/reveal/templates/revealjs/lib/font/league-gothic/league-gothic.css +10 -0
  27. data/lib/reveal/templates/revealjs/lib/font/league-gothic/league-gothic.eot +0 -0
  28. data/lib/reveal/templates/revealjs/lib/font/league-gothic/league-gothic.ttf +0 -0
  29. data/lib/reveal/templates/revealjs/lib/font/league-gothic/league-gothic.woff +0 -0
  30. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/LICENSE +45 -0
  31. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.eot +0 -0
  32. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.ttf +0 -0
  33. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro-italic.woff +0 -0
  34. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.eot +0 -0
  35. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.ttf +0 -0
  36. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro-regular.woff +0 -0
  37. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.eot +0 -0
  38. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.ttf +0 -0
  39. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro-semibold.woff +0 -0
  40. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot +0 -0
  41. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf +0 -0
  42. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff +0 -0
  43. data/lib/reveal/templates/revealjs/lib/font/source-sans-pro/source-sans-pro.css +39 -0
  44. data/lib/reveal/templates/revealjs/lib/js/html5shiv.js +0 -0
  45. data/lib/reveal/templates/revealjs/plugin/highlight/highlight.js +2 -4
  46. data/lib/reveal/templates/revealjs/plugin/leap/leap.js +4 -2
  47. data/lib/reveal/templates/revealjs/plugin/markdown/example.html +3 -3
  48. data/lib/reveal/templates/revealjs/plugin/markdown/example.md +0 -0
  49. data/lib/reveal/templates/revealjs/plugin/markdown/markdown.js +10 -9
  50. data/lib/reveal/templates/revealjs/plugin/markdown/marked.js +2 -33
  51. data/lib/reveal/templates/revealjs/plugin/math/math.js +1 -1
  52. data/lib/reveal/templates/revealjs/plugin/multiplex/client.js +0 -0
  53. data/lib/reveal/templates/revealjs/plugin/multiplex/index.js +0 -0
  54. data/lib/reveal/templates/revealjs/plugin/multiplex/master.js +0 -0
  55. data/lib/reveal/templates/revealjs/plugin/notes/notes.html +321 -182
  56. data/lib/reveal/templates/revealjs/plugin/notes/notes.js +89 -45
  57. data/lib/reveal/templates/revealjs/plugin/notes-server/client.js +49 -46
  58. data/lib/reveal/templates/revealjs/plugin/notes-server/index.js +28 -21
  59. data/lib/reveal/templates/revealjs/plugin/notes-server/notes.html +351 -97
  60. data/lib/reveal/templates/revealjs/plugin/print-pdf/print-pdf.js +24 -20
  61. data/lib/reveal/templates/revealjs/plugin/remotes/remotes.js +0 -0
  62. data/lib/reveal/templates/revealjs/plugin/search/search.js +0 -0
  63. data/lib/reveal/templates/revealjs/plugin/zoom-js/zoom.js +78 -58
  64. data/lib/reveal/templates/template.html +17 -24
  65. data/lib/reveal/version.rb +1 -1
  66. data/lib/reveal.rb +1 -0
  67. data/reveal.rb.gemspec +3 -0
  68. data/spec/lib/reveal/cli_spec.rb +26 -0
  69. data/spec/lib/reveal/command_spec.rb +165 -0
  70. metadata +65 -28
  71. data/lib/reveal/templates/revealjs/css/reveal.min.css +0 -7
  72. data/lib/reveal/templates/revealjs/css/theme/README.md +0 -25
  73. data/lib/reveal/templates/revealjs/css/theme/default.css +0 -148
  74. data/lib/reveal/templates/revealjs/css/theme/source/beige.scss +0 -50
  75. data/lib/reveal/templates/revealjs/css/theme/source/blood.scss +0 -91
  76. data/lib/reveal/templates/revealjs/css/theme/source/default.scss +0 -42
  77. data/lib/reveal/templates/revealjs/css/theme/source/moon.scss +0 -68
  78. data/lib/reveal/templates/revealjs/css/theme/source/night.scss +0 -35
  79. data/lib/reveal/templates/revealjs/css/theme/source/serif.scss +0 -35
  80. data/lib/reveal/templates/revealjs/css/theme/source/simple.scss +0 -38
  81. data/lib/reveal/templates/revealjs/css/theme/source/sky.scss +0 -46
  82. data/lib/reveal/templates/revealjs/css/theme/source/solarized.scss +0 -74
  83. data/lib/reveal/templates/revealjs/css/theme/template/mixins.scss +0 -29
  84. data/lib/reveal/templates/revealjs/css/theme/template/settings.scss +0 -34
  85. data/lib/reveal/templates/revealjs/css/theme/template/theme.scss +0 -170
  86. data/lib/reveal/templates/revealjs/js/reveal.min.js +0 -9
  87. data/lib/reveal/templates/revealjs/lib/font/league_gothic-webfont.eot +0 -0
  88. data/lib/reveal/templates/revealjs/lib/font/league_gothic-webfont.svg +0 -230
  89. data/lib/reveal/templates/revealjs/lib/font/league_gothic-webfont.ttf +0 -0
  90. data/lib/reveal/templates/revealjs/lib/font/league_gothic-webfont.woff +0 -0
  91. data/lib/reveal/templates/revealjs/plugin/postmessage/example.html +0 -39
  92. data/lib/reveal/templates/revealjs/plugin/postmessage/postmessage.js +0 -42
@@ -1,68 +0,0 @@
1
- /**
2
- * Solarized Dark theme for reveal.js.
3
- * Author: Achim Staebler
4
- */
5
-
6
-
7
- // Default mixins and settings -----------------
8
- @import "../template/mixins";
9
- @import "../template/settings";
10
- // ---------------------------------------------
11
-
12
-
13
-
14
- // Include theme-specific fonts
15
- @font-face {
16
- font-family: 'League Gothic';
17
- src: url('../../lib/font/league_gothic-webfont.eot');
18
- src: url('../../lib/font/league_gothic-webfont.eot?#iefix') format('embedded-opentype'),
19
- url('../../lib/font/league_gothic-webfont.woff') format('woff'),
20
- url('../../lib/font/league_gothic-webfont.ttf') format('truetype'),
21
- url('../../lib/font/league_gothic-webfont.svg#LeagueGothicRegular') format('svg');
22
-
23
- font-weight: normal;
24
- font-style: normal;
25
- }
26
-
27
- @import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
28
-
29
- /**
30
- * Solarized colors by Ethan Schoonover
31
- */
32
- html * {
33
- color-profile: sRGB;
34
- rendering-intent: auto;
35
- }
36
-
37
- // Solarized colors
38
- $base03: #002b36;
39
- $base02: #073642;
40
- $base01: #586e75;
41
- $base00: #657b83;
42
- $base0: #839496;
43
- $base1: #93a1a1;
44
- $base2: #eee8d5;
45
- $base3: #fdf6e3;
46
- $yellow: #b58900;
47
- $orange: #cb4b16;
48
- $red: #dc322f;
49
- $magenta: #d33682;
50
- $violet: #6c71c4;
51
- $blue: #268bd2;
52
- $cyan: #2aa198;
53
- $green: #859900;
54
-
55
- // Override theme settings (see ../template/settings.scss)
56
- $mainColor: $base1;
57
- $headingColor: $base2;
58
- $headingTextShadow: none;
59
- $backgroundColor: $base03;
60
- $linkColor: $blue;
61
- $linkColorHover: lighten( $linkColor, 20% );
62
- $selectionBackgroundColor: $magenta;
63
-
64
-
65
-
66
- // Theme template ------------------------------
67
- @import "../template/theme";
68
- // ---------------------------------------------
@@ -1,35 +0,0 @@
1
- /**
2
- * Black theme for reveal.js.
3
- *
4
- * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
5
- */
6
-
7
-
8
- // Default mixins and settings -----------------
9
- @import "../template/mixins";
10
- @import "../template/settings";
11
- // ---------------------------------------------
12
-
13
-
14
- // Include theme-specific fonts
15
- @import url(https://fonts.googleapis.com/css?family=Montserrat:700);
16
- @import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic,700italic);
17
-
18
-
19
- // Override theme settings (see ../template/settings.scss)
20
- $backgroundColor: #111;
21
-
22
- $mainFont: 'Open Sans', sans-serif;
23
- $linkColor: #e7ad52;
24
- $linkColorHover: lighten( $linkColor, 20% );
25
- $headingFont: 'Montserrat', Impact, sans-serif;
26
- $headingTextShadow: none;
27
- $headingLetterSpacing: -0.03em;
28
- $headingTextTransform: none;
29
- $selectionBackgroundColor: #e7ad52;
30
- $mainFontSize: 30px;
31
-
32
-
33
- // Theme template ------------------------------
34
- @import "../template/theme";
35
- // ---------------------------------------------
@@ -1,35 +0,0 @@
1
- /**
2
- * A simple theme for reveal.js presentations, similar
3
- * to the default theme. The accent color is brown.
4
- *
5
- * This theme is Copyright (C) 2012-2013 Owen Versteeg, http://owenversteeg.com - it is MIT licensed.
6
- */
7
-
8
-
9
- // Default mixins and settings -----------------
10
- @import "../template/mixins";
11
- @import "../template/settings";
12
- // ---------------------------------------------
13
-
14
-
15
-
16
- // Override theme settings (see ../template/settings.scss)
17
- $mainFont: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
18
- $mainColor: #000;
19
- $headingFont: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
20
- $headingColor: #383D3D;
21
- $headingTextShadow: none;
22
- $headingTextTransform: none;
23
- $backgroundColor: #F0F1EB;
24
- $linkColor: #51483D;
25
- $linkColorHover: lighten( $linkColor, 20% );
26
- $selectionBackgroundColor: #26351C;
27
-
28
- .reveal a:not(.image) {
29
- line-height: 1.3em;
30
- }
31
-
32
-
33
- // Theme template ------------------------------
34
- @import "../template/theme";
35
- // ---------------------------------------------
@@ -1,38 +0,0 @@
1
- /**
2
- * A simple theme for reveal.js presentations, similar
3
- * to the default theme. The accent color is darkblue.
4
- *
5
- * This theme is Copyright (C) 2012 Owen Versteeg, https://github.com/StereotypicalApps. It is MIT licensed.
6
- * reveal.js is Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
7
- */
8
-
9
-
10
- // Default mixins and settings -----------------
11
- @import "../template/mixins";
12
- @import "../template/settings";
13
- // ---------------------------------------------
14
-
15
-
16
-
17
- // Include theme-specific fonts
18
- @import url(https://fonts.googleapis.com/css?family=News+Cycle:400,700);
19
- @import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
20
-
21
-
22
- // Override theme settings (see ../template/settings.scss)
23
- $mainFont: 'Lato', sans-serif;
24
- $mainColor: #000;
25
- $headingFont: 'News Cycle', Impact, sans-serif;
26
- $headingColor: #000;
27
- $headingTextShadow: none;
28
- $headingTextTransform: none;
29
- $backgroundColor: #fff;
30
- $linkColor: #00008B;
31
- $linkColorHover: lighten( $linkColor, 20% );
32
- $selectionBackgroundColor: rgba(0, 0, 0, 0.99);
33
-
34
-
35
-
36
- // Theme template ------------------------------
37
- @import "../template/theme";
38
- // ---------------------------------------------
@@ -1,46 +0,0 @@
1
- /**
2
- * Sky theme for reveal.js.
3
- *
4
- * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
5
- */
6
-
7
-
8
- // Default mixins and settings -----------------
9
- @import "../template/mixins";
10
- @import "../template/settings";
11
- // ---------------------------------------------
12
-
13
-
14
-
15
- // Include theme-specific fonts
16
- @import url(https://fonts.googleapis.com/css?family=Quicksand:400,700,400italic,700italic);
17
- @import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700);
18
-
19
-
20
- // Override theme settings (see ../template/settings.scss)
21
- $mainFont: 'Open Sans', sans-serif;
22
- $mainColor: #333;
23
- $headingFont: 'Quicksand', sans-serif;
24
- $headingColor: #333;
25
- $headingLetterSpacing: -0.08em;
26
- $headingTextShadow: none;
27
- $backgroundColor: #f7fbfc;
28
- $linkColor: #3b759e;
29
- $linkColorHover: lighten( $linkColor, 20% );
30
- $selectionBackgroundColor: #134674;
31
-
32
- // Fix links so they are not cut off
33
- .reveal a:not(.image) {
34
- line-height: 1.3em;
35
- }
36
-
37
- // Background generator
38
- @mixin bodyBackground() {
39
- @include radial-gradient( #add9e4, #f7fbfc );
40
- }
41
-
42
-
43
-
44
- // Theme template ------------------------------
45
- @import "../template/theme";
46
- // ---------------------------------------------
@@ -1,74 +0,0 @@
1
- /**
2
- * Solarized Light theme for reveal.js.
3
- * Author: Achim Staebler
4
- */
5
-
6
-
7
- // Default mixins and settings -----------------
8
- @import "../template/mixins";
9
- @import "../template/settings";
10
- // ---------------------------------------------
11
-
12
-
13
-
14
- // Include theme-specific fonts
15
- @font-face {
16
- font-family: 'League Gothic';
17
- src: url('../../lib/font/league_gothic-webfont.eot');
18
- src: url('../../lib/font/league_gothic-webfont.eot?#iefix') format('embedded-opentype'),
19
- url('../../lib/font/league_gothic-webfont.woff') format('woff'),
20
- url('../../lib/font/league_gothic-webfont.ttf') format('truetype'),
21
- url('../../lib/font/league_gothic-webfont.svg#LeagueGothicRegular') format('svg');
22
-
23
- font-weight: normal;
24
- font-style: normal;
25
- }
26
-
27
- @import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic);
28
-
29
-
30
- /**
31
- * Solarized colors by Ethan Schoonover
32
- */
33
- html * {
34
- color-profile: sRGB;
35
- rendering-intent: auto;
36
- }
37
-
38
- // Solarized colors
39
- $base03: #002b36;
40
- $base02: #073642;
41
- $base01: #586e75;
42
- $base00: #657b83;
43
- $base0: #839496;
44
- $base1: #93a1a1;
45
- $base2: #eee8d5;
46
- $base3: #fdf6e3;
47
- $yellow: #b58900;
48
- $orange: #cb4b16;
49
- $red: #dc322f;
50
- $magenta: #d33682;
51
- $violet: #6c71c4;
52
- $blue: #268bd2;
53
- $cyan: #2aa198;
54
- $green: #859900;
55
-
56
- // Override theme settings (see ../template/settings.scss)
57
- $mainColor: $base00;
58
- $headingColor: $base01;
59
- $headingTextShadow: none;
60
- $backgroundColor: $base3;
61
- $linkColor: $blue;
62
- $linkColorHover: lighten( $linkColor, 20% );
63
- $selectionBackgroundColor: $magenta;
64
-
65
- // Background generator
66
- // @mixin bodyBackground() {
67
- // @include radial-gradient( rgba($base3,1), rgba(lighten($base3, 20%),1) );
68
- // }
69
-
70
-
71
-
72
- // Theme template ------------------------------
73
- @import "../template/theme";
74
- // ---------------------------------------------
@@ -1,29 +0,0 @@
1
- @mixin vertical-gradient( $top, $bottom ) {
2
- background: $top;
3
- background: -moz-linear-gradient( top, $top 0%, $bottom 100% );
4
- background: -webkit-gradient( linear, left top, left bottom, color-stop(0%,$top), color-stop(100%,$bottom) );
5
- background: -webkit-linear-gradient( top, $top 0%, $bottom 100% );
6
- background: -o-linear-gradient( top, $top 0%, $bottom 100% );
7
- background: -ms-linear-gradient( top, $top 0%, $bottom 100% );
8
- background: linear-gradient( top, $top 0%, $bottom 100% );
9
- }
10
-
11
- @mixin horizontal-gradient( $top, $bottom ) {
12
- background: $top;
13
- background: -moz-linear-gradient( left, $top 0%, $bottom 100% );
14
- background: -webkit-gradient( linear, left top, right top, color-stop(0%,$top), color-stop(100%,$bottom) );
15
- background: -webkit-linear-gradient( left, $top 0%, $bottom 100% );
16
- background: -o-linear-gradient( left, $top 0%, $bottom 100% );
17
- background: -ms-linear-gradient( left, $top 0%, $bottom 100% );
18
- background: linear-gradient( left, $top 0%, $bottom 100% );
19
- }
20
-
21
- @mixin radial-gradient( $outer, $inner, $type: circle ) {
22
- background: $outer;
23
- background: -moz-radial-gradient( center, $type cover, $inner 0%, $outer 100% );
24
- background: -webkit-gradient( radial, center center, 0px, center center, 100%, color-stop(0%,$inner), color-stop(100%,$outer) );
25
- background: -webkit-radial-gradient( center, $type cover, $inner 0%, $outer 100% );
26
- background: -o-radial-gradient( center, $type cover, $inner 0%, $outer 100% );
27
- background: -ms-radial-gradient( center, $type cover, $inner 0%, $outer 100% );
28
- background: radial-gradient( center, $type cover, $inner 0%, $outer 100% );
29
- }
@@ -1,34 +0,0 @@
1
- // Base settings for all themes that can optionally be
2
- // overridden by the super-theme
3
-
4
- // Background of the presentation
5
- $backgroundColor: #2b2b2b;
6
-
7
- // Primary/body text
8
- $mainFont: 'Lato', sans-serif;
9
- $mainFontSize: 36px;
10
- $mainColor: #eee;
11
-
12
- // Headings
13
- $headingMargin: 0 0 20px 0;
14
- $headingFont: 'League Gothic', Impact, sans-serif;
15
- $headingColor: #eee;
16
- $headingLineHeight: 0.9em;
17
- $headingLetterSpacing: 0.02em;
18
- $headingTextTransform: uppercase;
19
- $headingTextShadow: 0px 0px 6px rgba(0,0,0,0.2);
20
- $heading1TextShadow: $headingTextShadow;
21
-
22
- // Links and actions
23
- $linkColor: #13DAEC;
24
- $linkColorHover: lighten( $linkColor, 20% );
25
-
26
- // Text selection
27
- $selectionBackgroundColor: #FF5E99;
28
- $selectionColor: #fff;
29
-
30
- // Generates the presentation background, can be overridden
31
- // to return a background image or gradient
32
- @mixin bodyBackground() {
33
- background: $backgroundColor;
34
- }
@@ -1,170 +0,0 @@
1
- // Base theme template for reveal.js
2
-
3
- /*********************************************
4
- * GLOBAL STYLES
5
- *********************************************/
6
-
7
- body {
8
- @include bodyBackground();
9
- background-color: $backgroundColor;
10
- }
11
-
12
- .reveal {
13
- font-family: $mainFont;
14
- font-size: $mainFontSize;
15
- font-weight: normal;
16
- letter-spacing: -0.02em;
17
- color: $mainColor;
18
- }
19
-
20
- ::selection {
21
- color: $selectionColor;
22
- background: $selectionBackgroundColor;
23
- text-shadow: none;
24
- }
25
-
26
- /*********************************************
27
- * HEADERS
28
- *********************************************/
29
-
30
- .reveal h1,
31
- .reveal h2,
32
- .reveal h3,
33
- .reveal h4,
34
- .reveal h5,
35
- .reveal h6 {
36
- margin: $headingMargin;
37
- color: $headingColor;
38
-
39
- font-family: $headingFont;
40
- line-height: $headingLineHeight;
41
- letter-spacing: $headingLetterSpacing;
42
-
43
- text-transform: $headingTextTransform;
44
- text-shadow: $headingTextShadow;
45
- }
46
-
47
- .reveal h1 {
48
- text-shadow: $heading1TextShadow;
49
- }
50
-
51
-
52
- /*********************************************
53
- * LINKS
54
- *********************************************/
55
-
56
- .reveal a:not(.image) {
57
- color: $linkColor;
58
- text-decoration: none;
59
-
60
- -webkit-transition: color .15s ease;
61
- -moz-transition: color .15s ease;
62
- -ms-transition: color .15s ease;
63
- -o-transition: color .15s ease;
64
- transition: color .15s ease;
65
- }
66
- .reveal a:not(.image):hover {
67
- color: $linkColorHover;
68
-
69
- text-shadow: none;
70
- border: none;
71
- }
72
-
73
- .reveal .roll span:after {
74
- color: #fff;
75
- background: darken( $linkColor, 15% );
76
- }
77
-
78
-
79
- /*********************************************
80
- * IMAGES
81
- *********************************************/
82
-
83
- .reveal section img {
84
- margin: 15px 0px;
85
- background: rgba(255,255,255,0.12);
86
- border: 4px solid $mainColor;
87
-
88
- box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
89
-
90
- -webkit-transition: all .2s linear;
91
- -moz-transition: all .2s linear;
92
- -ms-transition: all .2s linear;
93
- -o-transition: all .2s linear;
94
- transition: all .2s linear;
95
- }
96
-
97
- .reveal a:hover img {
98
- background: rgba(255,255,255,0.2);
99
- border-color: $linkColor;
100
-
101
- box-shadow: 0 0 20px rgba(0, 0, 0, 0.55);
102
- }
103
-
104
-
105
- /*********************************************
106
- * NAVIGATION CONTROLS
107
- *********************************************/
108
-
109
- .reveal .controls div.navigate-left,
110
- .reveal .controls div.navigate-left.enabled {
111
- border-right-color: $linkColor;
112
- }
113
-
114
- .reveal .controls div.navigate-right,
115
- .reveal .controls div.navigate-right.enabled {
116
- border-left-color: $linkColor;
117
- }
118
-
119
- .reveal .controls div.navigate-up,
120
- .reveal .controls div.navigate-up.enabled {
121
- border-bottom-color: $linkColor;
122
- }
123
-
124
- .reveal .controls div.navigate-down,
125
- .reveal .controls div.navigate-down.enabled {
126
- border-top-color: $linkColor;
127
- }
128
-
129
- .reveal .controls div.navigate-left.enabled:hover {
130
- border-right-color: $linkColorHover;
131
- }
132
-
133
- .reveal .controls div.navigate-right.enabled:hover {
134
- border-left-color: $linkColorHover;
135
- }
136
-
137
- .reveal .controls div.navigate-up.enabled:hover {
138
- border-bottom-color: $linkColorHover;
139
- }
140
-
141
- .reveal .controls div.navigate-down.enabled:hover {
142
- border-top-color: $linkColorHover;
143
- }
144
-
145
-
146
- /*********************************************
147
- * PROGRESS BAR
148
- *********************************************/
149
-
150
- .reveal .progress {
151
- background: rgba(0,0,0,0.2);
152
- }
153
- .reveal .progress span {
154
- background: $linkColor;
155
-
156
- -webkit-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
157
- -moz-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
158
- -ms-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
159
- -o-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
160
- transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
161
- }
162
-
163
- /*********************************************
164
- * SLIDE NUMBER
165
- *********************************************/
166
- .reveal .slide-number {
167
- color: $linkColor;
168
- }
169
-
170
-
@@ -1,9 +0,0 @@
1
- /*!
2
- * reveal.js 2.6.1 (2014-03-13, 09:22)
3
- * http://lab.hakim.se/reveal-js
4
- * MIT licensed
5
- *
6
- * Copyright (C) 2014 Hakim El Hattab, http://hakim.se
7
- */
8
- var Reveal=function(){"use strict";function a(a){if(b(),!ec.transforms2d&&!ec.transforms3d)return document.body.setAttribute("class","no-transforms"),void 0;window.addEventListener("load",A,!1);var d=Reveal.getQueryHash();"undefined"!=typeof d.dependencies&&delete d.dependencies,k(_b,a),k(_b,d),r(),c()}function b(){ec.transforms3d="WebkitPerspective"in document.body.style||"MozPerspective"in document.body.style||"msPerspective"in document.body.style||"OPerspective"in document.body.style||"perspective"in document.body.style,ec.transforms2d="WebkitTransform"in document.body.style||"MozTransform"in document.body.style||"msTransform"in document.body.style||"OTransform"in document.body.style||"transform"in document.body.style,ec.requestAnimationFrameMethod=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,ec.requestAnimationFrame="function"==typeof ec.requestAnimationFrameMethod,ec.canvas=!!document.createElement("canvas").getContext,Vb=navigator.userAgent.match(/(iphone|ipod|android)/gi)}function c(){function a(){e.length&&head.js.apply(null,e),d()}function b(b){head.ready(b.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],function(){"function"==typeof b.callback&&b.callback.apply(this),0===--f&&a()})}for(var c=[],e=[],f=0,g=0,h=_b.dependencies.length;h>g;g++){var i=_b.dependencies[g];(!i.condition||i.condition())&&(i.async?e.push(i.src):c.push(i.src),b(i))}c.length?(f=c.length,head.js.apply(null,c)):a()}function d(){e(),Q(),h(),cb(),X(!0),setTimeout(function(){dc.slides.classList.remove("no-transition"),ac=!0,t("ready",{indexh:Qb,indexv:Rb,currentSlide:Tb})},1)}function e(){dc.theme=document.querySelector("#theme"),dc.wrapper=document.querySelector(".reveal"),dc.slides=document.querySelector(".reveal .slides"),dc.slides.classList.add("no-transition"),dc.background=f(dc.wrapper,"div","backgrounds",null),dc.progress=f(dc.wrapper,"div","progress","<span></span>"),dc.progressbar=dc.progress.querySelector("span"),f(dc.wrapper,"aside","controls",'<div class="navigate-left"></div><div class="navigate-right"></div><div class="navigate-up"></div><div class="navigate-down"></div>'),dc.slideNumber=f(dc.wrapper,"div","slide-number",""),f(dc.wrapper,"div","state-background",null),f(dc.wrapper,"div","pause-overlay",null),dc.controls=document.querySelector(".reveal .controls"),dc.controlsLeft=l(document.querySelectorAll(".navigate-left")),dc.controlsRight=l(document.querySelectorAll(".navigate-right")),dc.controlsUp=l(document.querySelectorAll(".navigate-up")),dc.controlsDown=l(document.querySelectorAll(".navigate-down")),dc.controlsPrev=l(document.querySelectorAll(".navigate-prev")),dc.controlsNext=l(document.querySelectorAll(".navigate-next"))}function f(a,b,c,d){var e=a.querySelector("."+c);return e||(e=document.createElement(b),e.classList.add(c),null!==d&&(e.innerHTML=d),a.appendChild(e)),e}function g(){function a(a,b){var c={background:a.getAttribute("data-background"),backgroundSize:a.getAttribute("data-background-size"),backgroundImage:a.getAttribute("data-background-image"),backgroundColor:a.getAttribute("data-background-color"),backgroundRepeat:a.getAttribute("data-background-repeat"),backgroundPosition:a.getAttribute("data-background-position"),backgroundTransition:a.getAttribute("data-background-transition")},d=document.createElement("div");return d.className="slide-background",c.background&&(/^(http|file|\/\/)/gi.test(c.background)||/\.(svg|png|jpg|jpeg|gif|bmp)$/gi.test(c.background)?d.style.backgroundImage="url("+c.background+")":d.style.background=c.background),(c.background||c.backgroundColor||c.backgroundImage)&&d.setAttribute("data-background-hash",c.background+c.backgroundSize+c.backgroundImage+c.backgroundColor+c.backgroundRepeat+c.backgroundPosition+c.backgroundTransition),c.backgroundSize&&(d.style.backgroundSize=c.backgroundSize),c.backgroundImage&&(d.style.backgroundImage='url("'+c.backgroundImage+'")'),c.backgroundColor&&(d.style.backgroundColor=c.backgroundColor),c.backgroundRepeat&&(d.style.backgroundRepeat=c.backgroundRepeat),c.backgroundPosition&&(d.style.backgroundPosition=c.backgroundPosition),c.backgroundTransition&&d.setAttribute("data-background-transition",c.backgroundTransition),b.appendChild(d),d}q()&&document.body.classList.add("print-pdf"),dc.background.innerHTML="",dc.background.classList.add("no-transition"),l(document.querySelectorAll(Yb)).forEach(function(b){var c;c=q()?a(b,b):a(b,dc.background),l(b.querySelectorAll("section")).forEach(function(b){q()?a(b,b):a(b,c)})}),_b.parallaxBackgroundImage?(dc.background.style.backgroundImage='url("'+_b.parallaxBackgroundImage+'")',dc.background.style.backgroundSize=_b.parallaxBackgroundSize,setTimeout(function(){dc.wrapper.classList.add("has-parallax-background")},1)):(dc.background.style.backgroundImage="",dc.wrapper.classList.remove("has-parallax-background"))}function h(a){var b=document.querySelectorAll(Xb).length;if(dc.wrapper.classList.remove(_b.transition),"object"==typeof a&&k(_b,a),ec.transforms3d===!1&&(_b.transition="linear"),dc.wrapper.classList.add(_b.transition),dc.wrapper.setAttribute("data-transition-speed",_b.transitionSpeed),dc.wrapper.setAttribute("data-background-transition",_b.backgroundTransition),dc.controls.style.display=_b.controls?"block":"none",dc.progress.style.display=_b.progress?"block":"none",_b.rtl?dc.wrapper.classList.add("rtl"):dc.wrapper.classList.remove("rtl"),_b.center?dc.wrapper.classList.add("center"):dc.wrapper.classList.remove("center"),_b.mouseWheel?(document.addEventListener("DOMMouseScroll",Bb,!1),document.addEventListener("mousewheel",Bb,!1)):(document.removeEventListener("DOMMouseScroll",Bb,!1),document.removeEventListener("mousewheel",Bb,!1)),_b.rollingLinks?u():v(),_b.previewLinks?w():(x(),w("[data-preview-link]")),b>1&&_b.autoSlide&&_b.autoSlideStoppable&&ec.canvas&&ec.requestAnimationFrame?(Wb=new Pb(dc.wrapper,function(){return Math.min(Math.max((Date.now()-mc)/kc,0),1)}),Wb.on("click",Ob),nc=!1):Wb&&(Wb.destroy(),Wb=null),_b.theme&&dc.theme){var c=dc.theme.getAttribute("href"),d=/[^\/]*?(?=\.css)/,e=c.match(d)[0];_b.theme!==e&&(c=c.replace(d,_b.theme),dc.theme.setAttribute("href",c))}P()}function i(){if(jc=!0,window.addEventListener("hashchange",Jb,!1),window.addEventListener("resize",Kb,!1),_b.touch&&(dc.wrapper.addEventListener("touchstart",vb,!1),dc.wrapper.addEventListener("touchmove",wb,!1),dc.wrapper.addEventListener("touchend",xb,!1),window.navigator.msPointerEnabled&&(dc.wrapper.addEventListener("MSPointerDown",yb,!1),dc.wrapper.addEventListener("MSPointerMove",zb,!1),dc.wrapper.addEventListener("MSPointerUp",Ab,!1))),_b.keyboard&&document.addEventListener("keydown",ub,!1),_b.progress&&dc.progress&&dc.progress.addEventListener("click",Cb,!1),_b.focusBodyOnPageVisiblityChange){var a;"hidden"in document?a="visibilitychange":"msHidden"in document?a="msvisibilitychange":"webkitHidden"in document&&(a="webkitvisibilitychange"),a&&document.addEventListener(a,Lb,!1)}["touchstart","click"].forEach(function(a){dc.controlsLeft.forEach(function(b){b.addEventListener(a,Db,!1)}),dc.controlsRight.forEach(function(b){b.addEventListener(a,Eb,!1)}),dc.controlsUp.forEach(function(b){b.addEventListener(a,Fb,!1)}),dc.controlsDown.forEach(function(b){b.addEventListener(a,Gb,!1)}),dc.controlsPrev.forEach(function(b){b.addEventListener(a,Hb,!1)}),dc.controlsNext.forEach(function(b){b.addEventListener(a,Ib,!1)})})}function j(){jc=!1,document.removeEventListener("keydown",ub,!1),window.removeEventListener("hashchange",Jb,!1),window.removeEventListener("resize",Kb,!1),dc.wrapper.removeEventListener("touchstart",vb,!1),dc.wrapper.removeEventListener("touchmove",wb,!1),dc.wrapper.removeEventListener("touchend",xb,!1),window.navigator.msPointerEnabled&&(dc.wrapper.removeEventListener("MSPointerDown",yb,!1),dc.wrapper.removeEventListener("MSPointerMove",zb,!1),dc.wrapper.removeEventListener("MSPointerUp",Ab,!1)),_b.progress&&dc.progress&&dc.progress.removeEventListener("click",Cb,!1),["touchstart","click"].forEach(function(a){dc.controlsLeft.forEach(function(b){b.removeEventListener(a,Db,!1)}),dc.controlsRight.forEach(function(b){b.removeEventListener(a,Eb,!1)}),dc.controlsUp.forEach(function(b){b.removeEventListener(a,Fb,!1)}),dc.controlsDown.forEach(function(b){b.removeEventListener(a,Gb,!1)}),dc.controlsPrev.forEach(function(b){b.removeEventListener(a,Hb,!1)}),dc.controlsNext.forEach(function(b){b.removeEventListener(a,Ib,!1)})})}function k(a,b){for(var c in b)a[c]=b[c]}function l(a){return Array.prototype.slice.call(a)}function m(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)}function n(a,b){a.style.WebkitTransform=b,a.style.MozTransform=b,a.style.msTransform=b,a.style.OTransform=b,a.style.transform=b}function o(a){var b=0;if(a){var c=0;l(a.childNodes).forEach(function(a){"number"==typeof a.offsetTop&&a.style&&("absolute"===a.style.position&&(c+=1),b=Math.max(b,a.offsetTop+a.offsetHeight))}),0===c&&(b=a.offsetHeight)}return b}function p(a,b){if(b=b||0,a){var c=a.parentNode,d=c.childNodes;l(d).forEach(function(c){if("number"==typeof c.offsetHeight&&c!==a){var d=window.getComputedStyle(c),e=parseInt(d.marginTop,10),f=parseInt(d.marginBottom,10);b-=c.offsetHeight+e+f}});var e=window.getComputedStyle(a);b-=parseInt(e.marginTop,10)+parseInt(e.marginBottom,10)}return b}function q(){return/print-pdf/gi.test(window.location.search)}function r(){_b.hideAddressBar&&Vb&&(window.addEventListener("load",s,!1),window.addEventListener("orientationchange",s,!1))}function s(){setTimeout(function(){window.scrollTo(0,1)},10)}function t(a,b){var c=document.createEvent("HTMLEvents",1,2);c.initEvent(a,!0,!0),k(c,b),dc.wrapper.dispatchEvent(c)}function u(){if(ec.transforms3d&&!("msPerspective"in document.body.style))for(var a=document.querySelectorAll(Xb+" a:not(.image)"),b=0,c=a.length;c>b;b++){var d=a[b];if(!(!d.textContent||d.querySelector("*")||d.className&&d.classList.contains(d,"roll"))){var e=document.createElement("span");e.setAttribute("data-title",d.text),e.innerHTML=d.innerHTML,d.classList.add("roll"),d.innerHTML="",d.appendChild(e)}}}function v(){for(var a=document.querySelectorAll(Xb+" a.roll"),b=0,c=a.length;c>b;b++){var d=a[b],e=d.querySelector("span");e&&(d.classList.remove("roll"),d.innerHTML=e.innerHTML)}}function w(a){var b=l(document.querySelectorAll(a?a:"a"));b.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.addEventListener("click",Nb,!1)})}function x(){var a=l(document.querySelectorAll("a"));a.forEach(function(a){/^(http|www)/gi.test(a.getAttribute("href"))&&a.removeEventListener("click",Nb,!1)})}function y(a){z(),dc.preview=document.createElement("div"),dc.preview.classList.add("preview-link-overlay"),dc.wrapper.appendChild(dc.preview),dc.preview.innerHTML=["<header>",'<a class="close" href="#"><span class="icon"></span></a>','<a class="external" href="'+a+'" target="_blank"><span class="icon"></span></a>',"</header>",'<div class="spinner"></div>','<div class="viewport">','<iframe src="'+a+'"></iframe>',"</div>"].join(""),dc.preview.querySelector("iframe").addEventListener("load",function(){dc.preview.classList.add("loaded")},!1),dc.preview.querySelector(".close").addEventListener("click",function(a){z(),a.preventDefault()},!1),dc.preview.querySelector(".external").addEventListener("click",function(){z()},!1),setTimeout(function(){dc.preview.classList.add("visible")},1)}function z(){dc.preview&&(dc.preview.setAttribute("src",""),dc.preview.parentNode.removeChild(dc.preview),dc.preview=null)}function A(){if(dc.wrapper&&!q()){var a=dc.wrapper.offsetWidth,b=dc.wrapper.offsetHeight;a-=b*_b.margin,b-=b*_b.margin;var c=_b.width,d=_b.height,e=20;B(_b.width,_b.height,e),"string"==typeof c&&/%$/.test(c)&&(c=parseInt(c,10)/100*a),"string"==typeof d&&/%$/.test(d)&&(d=parseInt(d,10)/100*b),dc.slides.style.width=c+"px",dc.slides.style.height=d+"px",cc=Math.min(a/c,b/d),cc=Math.max(cc,_b.minScale),cc=Math.min(cc,_b.maxScale),"undefined"==typeof dc.slides.style.zoom||navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi)?n(dc.slides,"translate(-50%, -50%) scale("+cc+") translate(50%, 50%)"):dc.slides.style.zoom=cc;for(var f=l(document.querySelectorAll(Xb)),g=0,h=f.length;h>g;g++){var i=f[g];"none"!==i.style.display&&(i.style.top=_b.center||i.classList.contains("center")?i.classList.contains("stack")?0:Math.max(-(o(i)/2)-e,-d/2)+"px":"")}U(),Y()}}function B(a,b,c){l(dc.slides.querySelectorAll("section > .stretch")).forEach(function(d){var e=p(d,b-2*c);if(/(img|video)/gi.test(d.nodeName)){var f=d.naturalWidth||d.videoWidth,g=d.naturalHeight||d.videoHeight,h=Math.min(a/f,e/g);d.style.width=f*h+"px",d.style.height=g*h+"px"}else d.style.width=a+"px",d.style.height=e+"px"})}function C(a,b){"object"==typeof a&&"function"==typeof a.setAttribute&&a.setAttribute("data-previous-indexv",b||0)}function D(a){if("object"==typeof a&&"function"==typeof a.setAttribute&&a.classList.contains("stack")){var b=a.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(a.getAttribute(b)||0,10)}return 0}function E(){if(_b.overview){kb();var a=dc.wrapper.classList.contains("overview"),b=window.innerWidth<400?1e3:2500;dc.wrapper.classList.add("overview"),dc.wrapper.classList.remove("overview-deactivating"),clearTimeout(hc),clearTimeout(ic),hc=setTimeout(function(){for(var c=document.querySelectorAll(Yb),d=0,e=c.length;e>d;d++){var f=c[d],g=_b.rtl?-105:105;if(f.setAttribute("data-index-h",d),n(f,"translateZ(-"+b+"px) translate("+(d-Qb)*g+"%, 0%)"),f.classList.contains("stack"))for(var h=f.querySelectorAll("section"),i=0,j=h.length;j>i;i++){var k=d===Qb?Rb:D(f),l=h[i];l.setAttribute("data-index-h",d),l.setAttribute("data-index-v",i),n(l,"translate(0%, "+105*(i-k)+"%)"),l.addEventListener("click",Mb,!0)}else f.addEventListener("click",Mb,!0)}T(),A(),a||t("overviewshown",{indexh:Qb,indexv:Rb,currentSlide:Tb})},10)}}function F(){_b.overview&&(clearTimeout(hc),clearTimeout(ic),dc.wrapper.classList.remove("overview"),dc.wrapper.classList.add("overview-deactivating"),ic=setTimeout(function(){dc.wrapper.classList.remove("overview-deactivating")},1),l(document.querySelectorAll(Xb)).forEach(function(a){n(a,""),a.removeEventListener("click",Mb,!0)}),O(Qb,Rb),jb(),t("overviewhidden",{indexh:Qb,indexv:Rb,currentSlide:Tb}))}function G(a){"boolean"==typeof a?a?E():F():H()?F():E()}function H(){return dc.wrapper.classList.contains("overview")}function I(a){return a=a?a:Tb,a&&a.parentNode&&!!a.parentNode.nodeName.match(/section/i)}function J(){var a=document.body,b=a.requestFullScreen||a.webkitRequestFullscreen||a.webkitRequestFullScreen||a.mozRequestFullScreen||a.msRequestFullScreen;b&&b.apply(a)}function K(){var a=dc.wrapper.classList.contains("paused");kb(),dc.wrapper.classList.add("paused"),a===!1&&t("paused")}function L(){var a=dc.wrapper.classList.contains("paused");dc.wrapper.classList.remove("paused"),jb(),a&&t("resumed")}function M(){N()?L():K()}function N(){return dc.wrapper.classList.contains("paused")}function O(a,b,c,d){Sb=Tb;var e=document.querySelectorAll(Yb);void 0===b&&(b=D(e[a])),Sb&&Sb.parentNode&&Sb.parentNode.classList.contains("stack")&&C(Sb.parentNode,Rb);var f=bc.concat();bc.length=0;var g=Qb||0,h=Rb||0;Qb=S(Yb,void 0===a?Qb:a),Rb=S(Zb,void 0===b?Rb:b),T(),A();a:for(var i=0,j=bc.length;j>i;i++){for(var k=0;k<f.length;k++)if(f[k]===bc[i]){f.splice(k,1);continue a}document.documentElement.classList.add(bc[i]),t(bc[i])}for(;f.length;)document.documentElement.classList.remove(f.pop());H()&&E();var m=e[Qb],n=m.querySelectorAll("section");Tb=n[Rb]||m,"undefined"!=typeof c&&gb(c);var o=Qb!==g||Rb!==h;o?t("slidechanged",{indexh:Qb,indexv:Rb,previousSlide:Sb,currentSlide:Tb,origin:d}):Sb=null,Sb&&(Sb.classList.remove("present"),document.querySelector($b).classList.contains("present")&&setTimeout(function(){var a,b=l(document.querySelectorAll(Yb+".stack"));for(a in b)b[a]&&C(b[a],0)},0)),o&&(ab(Sb),_(Tb)),W(),U(),X(),Y(),V(),db(),jb()}function P(){j(),i(),A(),kc=_b.autoSlide,jb(),g(),R(),W(),U(),X(!0),V()}function Q(){var a=l(document.querySelectorAll(Yb));a.forEach(function(a){var b=l(a.querySelectorAll("section"));b.forEach(function(a,b){b>0&&(a.classList.remove("present"),a.classList.remove("past"),a.classList.add("future"))})})}function R(){var a=l(document.querySelectorAll(Yb));a.forEach(function(a){var b=l(a.querySelectorAll("section"));b.forEach(function(a){fb(a.querySelectorAll(".fragment"))}),0===b.length&&fb(a.querySelectorAll(".fragment"))})}function S(a,b){var c=l(document.querySelectorAll(a)),d=c.length;if(d){_b.loop&&(b%=d,0>b&&(b=d+b)),b=Math.max(Math.min(b,d-1),0);for(var e=0;d>e;e++){var f=c[e],g=_b.rtl&&!I(f);if(f.classList.remove("past"),f.classList.remove("present"),f.classList.remove("future"),f.setAttribute("hidden",""),b>e){f.classList.add(g?"future":"past");for(var h=l(f.querySelectorAll(".fragment"));h.length;){var i=h.pop();i.classList.add("visible"),i.classList.remove("current-fragment")}}else if(e>b){f.classList.add(g?"past":"future");for(var j=l(f.querySelectorAll(".fragment.visible"));j.length;){var k=j.pop();k.classList.remove("visible"),k.classList.remove("current-fragment")}}f.querySelector("section")&&f.classList.add("stack")}c[b].classList.add("present"),c[b].removeAttribute("hidden");var m=c[b].getAttribute("data-state");m&&(bc=bc.concat(m.split(" ")))}else b=0;return b}function T(){var a,b,c=l(document.querySelectorAll(Yb)),d=c.length;if(d){var e=H()?10:_b.viewDistance;Vb&&(e=H()?6:1);for(var f=0;d>f;f++){var g=c[f],h=l(g.querySelectorAll("section")),i=h.length;if(a=Math.abs((Qb-f)%(d-e))||0,g.style.display=a>e?"none":"block",i)for(var j=D(g),k=0;i>k;k++){var m=h[k];b=f===Qb?Math.abs(Rb-k):Math.abs(k-j),m.style.display=a+b>e?"none":"block"}}}}function U(){if(_b.progress&&dc.progress){var a=l(document.querySelectorAll(Yb)),b=document.querySelectorAll(Xb+":not(.stack)").length,c=0;a:for(var d=0;d<a.length;d++){for(var e=a[d],f=l(e.querySelectorAll("section")),g=0;g<f.length;g++){if(f[g].classList.contains("present"))break a;c++}if(e.classList.contains("present"))break;e.classList.contains("stack")===!1&&c++}dc.progressbar.style.width=c/(b-1)*window.innerWidth+"px"}}function V(){if(_b.slideNumber&&dc.slideNumber){var a=Qb;Rb>0&&(a+=" - "+Rb),dc.slideNumber.innerHTML=a}}function W(){var a=Z(),b=$();dc.controlsLeft.concat(dc.controlsRight).concat(dc.controlsUp).concat(dc.controlsDown).concat(dc.controlsPrev).concat(dc.controlsNext).forEach(function(a){a.classList.remove("enabled"),a.classList.remove("fragmented")}),a.left&&dc.controlsLeft.forEach(function(a){a.classList.add("enabled")}),a.right&&dc.controlsRight.forEach(function(a){a.classList.add("enabled")}),a.up&&dc.controlsUp.forEach(function(a){a.classList.add("enabled")}),a.down&&dc.controlsDown.forEach(function(a){a.classList.add("enabled")}),(a.left||a.up)&&dc.controlsPrev.forEach(function(a){a.classList.add("enabled")}),(a.right||a.down)&&dc.controlsNext.forEach(function(a){a.classList.add("enabled")}),Tb&&(b.prev&&dc.controlsPrev.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&dc.controlsNext.forEach(function(a){a.classList.add("fragmented","enabled")}),I(Tb)?(b.prev&&dc.controlsUp.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&dc.controlsDown.forEach(function(a){a.classList.add("fragmented","enabled")})):(b.prev&&dc.controlsLeft.forEach(function(a){a.classList.add("fragmented","enabled")}),b.next&&dc.controlsRight.forEach(function(a){a.classList.add("fragmented","enabled")})))}function X(a){var b=null,c=_b.rtl?"future":"past",d=_b.rtl?"past":"future";if(l(dc.background.childNodes).forEach(function(e,f){Qb>f?e.className="slide-background "+c:f>Qb?e.className="slide-background "+d:(e.className="slide-background present",b=e),(a||f===Qb)&&l(e.childNodes).forEach(function(a,c){Rb>c?a.className="slide-background past":c>Rb?a.className="slide-background future":(a.className="slide-background present",f===Qb&&(b=a))})}),b){var e=Ub?Ub.getAttribute("data-background-hash"):null,f=b.getAttribute("data-background-hash");f&&f===e&&b!==Ub&&dc.background.classList.add("no-transition"),Ub=b}setTimeout(function(){dc.background.classList.remove("no-transition")},1)}function Y(){if(_b.parallaxBackgroundImage){var a,b,c=document.querySelectorAll(Yb),d=document.querySelectorAll(Zb),e=dc.background.style.backgroundSize.split(" ");1===e.length?a=b=parseInt(e[0],10):(a=parseInt(e[0],10),b=parseInt(e[1],10));var f=dc.background.offsetWidth,g=c.length,h=-(a-f)/(g-1)*Qb,i=dc.background.offsetHeight,j=d.length,k=j>0?-(b-i)/(j-1)*Rb:0;dc.background.style.backgroundPosition=h+"px "+k+"px"}}function Z(){var a=document.querySelectorAll(Yb),b=document.querySelectorAll(Zb),c={left:Qb>0||_b.loop,right:Qb<a.length-1||_b.loop,up:Rb>0,down:Rb<b.length-1};if(_b.rtl){var d=c.left;c.left=c.right,c.right=d}return c}function $(){if(Tb&&_b.fragments){var a=Tb.querySelectorAll(".fragment"),b=Tb.querySelectorAll(".fragment:not(.visible)");return{prev:a.length-b.length>0,next:!!b.length}}return{prev:!1,next:!1}}function _(a){a&&!bb()&&(l(a.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-autoplay")&&a.play()}),l(a.querySelectorAll("iframe")).forEach(function(a){a.contentWindow.postMessage("slide:start","*")}),l(a.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(a){a.hasAttribute("data-autoplay")&&a.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}))}function ab(a){a&&(l(a.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-ignore")||a.pause()}),l(a.querySelectorAll("iframe")).forEach(function(a){a.contentWindow.postMessage("slide:stop","*")}),l(a.querySelectorAll('iframe[src*="youtube.com/embed/"]')).forEach(function(a){a.hasAttribute("data-ignore")||"function"!=typeof a.contentWindow.postMessage||a.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}))}function bb(){return!!window.location.search.match(/receiver/gi)}function cb(){var a=window.location.hash,b=a.slice(2).split("/"),c=a.replace(/#|\//gi,"");if(isNaN(parseInt(b[0],10))&&c.length){var d=document.querySelector("#"+c);if(d){var e=Reveal.getIndices(d);O(e.h,e.v)}else O(Qb||0,Rb||0)}else{var f=parseInt(b[0],10)||0,g=parseInt(b[1],10)||0;(f!==Qb||g!==Rb)&&O(f,g)}}function db(a){if(_b.history)if(clearTimeout(gc),"number"==typeof a)gc=setTimeout(db,a);else{var b="/";Tb&&"string"==typeof Tb.getAttribute("id")?b="/"+Tb.getAttribute("id"):((Qb>0||Rb>0)&&(b+=Qb),Rb>0&&(b+="/"+Rb)),window.location.hash=b}}function eb(a){var b,c=Qb,d=Rb;if(a){var e=I(a),f=e?a.parentNode:a,g=l(document.querySelectorAll(Yb));c=Math.max(g.indexOf(f),0),e&&(d=Math.max(l(a.parentNode.querySelectorAll("section")).indexOf(a),0))}if(!a&&Tb){var h=Tb.querySelectorAll(".fragment").length>0;if(h){var i=Tb.querySelectorAll(".fragment.visible");b=i.length-1}}return{h:c,v:d,f:b}}function fb(a){a=l(a);var b=[],c=[],d=[];a.forEach(function(a){if(a.hasAttribute("data-fragment-index")){var d=parseInt(a.getAttribute("data-fragment-index"),10);b[d]||(b[d]=[]),b[d].push(a)}else c.push([a])}),b=b.concat(c);var e=0;return b.forEach(function(a){a.forEach(function(a){d.push(a),a.setAttribute("data-fragment-index",e)}),e++}),d}function gb(a,b){if(Tb&&_b.fragments){var c=fb(Tb.querySelectorAll(".fragment"));if(c.length){if("number"!=typeof a){var d=fb(Tb.querySelectorAll(".fragment.visible")).pop();a=d?parseInt(d.getAttribute("data-fragment-index")||0,10):-1}"number"==typeof b&&(a+=b);var e=[],f=[];return l(c).forEach(function(b,c){b.hasAttribute("data-fragment-index")&&(c=parseInt(b.getAttribute("data-fragment-index"),10)),a>=c?(b.classList.contains("visible")||e.push(b),b.classList.add("visible"),b.classList.remove("current-fragment"),c===a&&b.classList.add("current-fragment")):(b.classList.contains("visible")&&f.push(b),b.classList.remove("visible"),b.classList.remove("current-fragment"))}),f.length&&t("fragmenthidden",{fragment:f[0],fragments:f}),e.length&&t("fragmentshown",{fragment:e[0],fragments:e}),W(),!(!e.length&&!f.length)}}return!1}function hb(){return gb(null,1)}function ib(){return gb(null,-1)}function jb(){if(kb(),Tb){var a=Tb.parentNode?Tb.parentNode.getAttribute("data-autoslide"):null,b=Tb.getAttribute("data-autoslide");kc=b?parseInt(b,10):a?parseInt(a,10):_b.autoSlide,l(Tb.querySelectorAll("video, audio")).forEach(function(a){a.hasAttribute("data-autoplay")&&kc&&1e3*a.duration>kc&&(kc=1e3*a.duration+1e3)}),!kc||nc||N()||H()||Reveal.isLastSlide()&&_b.loop!==!0||(lc=setTimeout(sb,kc),mc=Date.now()),Wb&&Wb.setPlaying(-1!==lc)}}function kb(){clearTimeout(lc),lc=-1}function lb(){nc=!0,clearTimeout(lc),Wb&&Wb.setPlaying(!1)}function mb(){nc=!1,jb()}function nb(){_b.rtl?(H()||hb()===!1)&&Z().left&&O(Qb+1):(H()||ib()===!1)&&Z().left&&O(Qb-1)}function ob(){_b.rtl?(H()||ib()===!1)&&Z().right&&O(Qb-1):(H()||hb()===!1)&&Z().right&&O(Qb+1)}function pb(){(H()||ib()===!1)&&Z().up&&O(Qb,Rb-1)}function qb(){(H()||hb()===!1)&&Z().down&&O(Qb,Rb+1)}function rb(){if(ib()===!1)if(Z().up)pb();else{var a=document.querySelector(Yb+".past:nth-child("+Qb+")");if(a){var b=a.querySelectorAll("section").length-1||void 0,c=Qb-1;O(c,b)}}}function sb(){hb()===!1&&(Z().down?qb():ob()),jb()}function tb(){_b.autoSlideStoppable&&lb()}function ub(a){tb(a),document.activeElement;var b=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&"inherit"===document.activeElement.contentEditable);if(!(b||a.shiftKey&&32!==a.keyCode||a.altKey||a.ctrlKey||a.metaKey)){if(N()&&-1===[66,190,191].indexOf(a.keyCode))return!1;var c=!1;if("object"==typeof _b.keyboard)for(var d in _b.keyboard)if(parseInt(d,10)===a.keyCode){var e=_b.keyboard[d];"function"==typeof e?e.apply(null,[a]):"string"==typeof e&&"function"==typeof Reveal[e]&&Reveal[e].call(),c=!0}if(c===!1)switch(c=!0,a.keyCode){case 80:case 33:rb();break;case 78:case 34:sb();break;case 72:case 37:nb();break;case 76:case 39:ob();break;case 75:case 38:pb();break;case 74:case 40:qb();break;case 36:O(0);break;case 35:O(Number.MAX_VALUE);break;case 32:H()?F():a.shiftKey?rb():sb();break;case 13:H()?F():c=!1;break;case 66:case 190:case 191:M();break;case 70:J();break;default:c=!1}c?a.preventDefault():27!==a.keyCode&&79!==a.keyCode||!ec.transforms3d||(dc.preview?z():G(),a.preventDefault()),jb()}}function vb(a){oc.startX=a.touches[0].clientX,oc.startY=a.touches[0].clientY,oc.startCount=a.touches.length,2===a.touches.length&&_b.overview&&(oc.startSpan=m({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:oc.startX,y:oc.startY}))}function wb(a){if(oc.captured)navigator.userAgent.match(/android/gi)&&a.preventDefault();else{tb(a);var b=a.touches[0].clientX,c=a.touches[0].clientY;if(2===a.touches.length&&2===oc.startCount&&_b.overview){var d=m({x:a.touches[1].clientX,y:a.touches[1].clientY},{x:oc.startX,y:oc.startY});Math.abs(oc.startSpan-d)>oc.threshold&&(oc.captured=!0,d<oc.startSpan?E():F()),a.preventDefault()}else if(1===a.touches.length&&2!==oc.startCount){var e=b-oc.startX,f=c-oc.startY;e>oc.threshold&&Math.abs(e)>Math.abs(f)?(oc.captured=!0,nb()):e<-oc.threshold&&Math.abs(e)>Math.abs(f)?(oc.captured=!0,ob()):f>oc.threshold?(oc.captured=!0,pb()):f<-oc.threshold&&(oc.captured=!0,qb()),_b.embedded?(oc.captured||I(Tb))&&a.preventDefault():a.preventDefault()}}}function xb(){oc.captured=!1}function yb(a){a.pointerType===a.MSPOINTER_TYPE_TOUCH&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],vb(a))}function zb(a){a.pointerType===a.MSPOINTER_TYPE_TOUCH&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],wb(a))}function Ab(a){a.pointerType===a.MSPOINTER_TYPE_TOUCH&&(a.touches=[{clientX:a.clientX,clientY:a.clientY}],xb(a))}function Bb(a){if(Date.now()-fc>600){fc=Date.now();var b=a.detail||-a.wheelDelta;b>0?sb():rb()}}function Cb(a){tb(a),a.preventDefault();var b=l(document.querySelectorAll(Yb)).length,c=Math.floor(a.clientX/dc.wrapper.offsetWidth*b);O(c)}function Db(a){a.preventDefault(),tb(),nb()}function Eb(a){a.preventDefault(),tb(),ob()}function Fb(a){a.preventDefault(),tb(),pb()}function Gb(a){a.preventDefault(),tb(),qb()}function Hb(a){a.preventDefault(),tb(),rb()}function Ib(a){a.preventDefault(),tb(),sb()}function Jb(){cb()}function Kb(){A()}function Lb(){var a=document.webkitHidden||document.msHidden||document.hidden;a===!1&&document.activeElement!==document.body&&(document.activeElement.blur(),document.body.focus())}function Mb(a){if(jc&&H()){a.preventDefault();for(var b=a.target;b&&!b.nodeName.match(/section/gi);)b=b.parentNode;if(b&&!b.classList.contains("disabled")&&(F(),b.nodeName.match(/section/gi))){var c=parseInt(b.getAttribute("data-index-h"),10),d=parseInt(b.getAttribute("data-index-v"),10);O(c,d)}}}function Nb(a){var b=a.target.getAttribute("href");b&&(y(b),a.preventDefault())}function Ob(){Reveal.isLastSlide()&&_b.loop===!1?(O(0,0),mb()):nc?mb():lb()}function Pb(a,b){this.diameter=50,this.thickness=3,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=a,this.progressCheck=b,this.canvas=document.createElement("canvas"),this.canvas.className="playback",this.canvas.width=this.diameter,this.canvas.height=this.diameter,this.context=this.canvas.getContext("2d"),this.container.appendChild(this.canvas),this.render()}var Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb=".reveal .slides section",Yb=".reveal .slides>section",Zb=".reveal .slides>section.present>section",$b=".reveal .slides>section:first-of-type",_b={width:960,height:700,margin:.1,minScale:.2,maxScale:1,controls:!0,progress:!0,slideNumber:!1,history:!1,keyboard:!0,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,fragments:!0,embedded:!1,autoSlide:0,autoSlideStoppable:!0,mouseWheel:!1,rollingLinks:!1,hideAddressBar:!0,previewLinks:!1,focusBodyOnPageVisiblityChange:!0,theme:null,transition:"default",transitionSpeed:"default",backgroundTransition:"default",parallaxBackgroundImage:"",parallaxBackgroundSize:"",viewDistance:3,dependencies:[]},ac=!1,bc=[],cc=1,dc={},ec={},fc=0,gc=0,hc=0,ic=0,jc=!1,kc=0,lc=0,mc=-1,nc=!1,oc={startX:0,startY:0,startSpan:0,startCount:0,captured:!1,threshold:40};return Pb.prototype.setPlaying=function(a){var b=this.playing;this.playing=a,!b&&this.playing?this.animate():this.render()},Pb.prototype.animate=function(){var a=this.progress;this.progress=this.progressCheck(),a>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&ec.requestAnimationFrameMethod.call(window,this.animate.bind(this))},Pb.prototype.render=function(){var a=this.playing?this.progress:0,b=this.diameter/2-this.thickness,c=this.diameter/2,d=this.diameter/2,e=14;this.progressOffset+=.1*(1-this.progressOffset);var f=-Math.PI/2+a*2*Math.PI,g=-Math.PI/2+this.progressOffset*2*Math.PI;this.context.save(),this.context.clearRect(0,0,this.diameter,this.diameter),this.context.beginPath(),this.context.arc(c,d,b+2,0,2*Math.PI,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(c,d,b,0,2*Math.PI,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#666",this.context.stroke(),this.playing&&(this.context.beginPath(),this.context.arc(c,d,b,g,f,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate(c-e/2,d-e/2),this.playing?(this.context.fillStyle="#fff",this.context.fillRect(0,0,e/2-2,e),this.context.fillRect(e/2+2,0,e/2-2,e)):(this.context.beginPath(),this.context.translate(2,0),this.context.moveTo(0,0),this.context.lineTo(e-2,e/2),this.context.lineTo(0,e),this.context.fillStyle="#fff",this.context.fill()),this.context.restore()},Pb.prototype.on=function(a,b){this.canvas.addEventListener(a,b,!1)},Pb.prototype.off=function(a,b){this.canvas.removeEventListener(a,b,!1)},Pb.prototype.destroy=function(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)},{initialize:a,configure:h,sync:P,slide:O,left:nb,right:ob,up:pb,down:qb,prev:rb,next:sb,navigateFragment:gb,prevFragment:ib,nextFragment:hb,navigateTo:O,navigateLeft:nb,navigateRight:ob,navigateUp:pb,navigateDown:qb,navigatePrev:rb,navigateNext:sb,layout:A,availableRoutes:Z,availableFragments:$,toggleOverview:G,togglePause:M,isOverview:H,isPaused:N,addEventListeners:i,removeEventListeners:j,getIndices:eb,getSlide:function(a,b){var c=document.querySelectorAll(Yb)[a],d=c&&c.querySelectorAll("section");
9
- return"undefined"!=typeof b?d?d[b]:void 0:c},getPreviousSlide:function(){return Sb},getCurrentSlide:function(){return Tb},getScale:function(){return cc},getConfig:function(){return _b},getQueryHash:function(){var a={};location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,function(b){a[b.split("=").shift()]=b.split("=").pop()});for(var b in a){var c=a[b];a[b]=unescape(c),"null"===c?a[b]=null:"true"===c?a[b]=!0:"false"===c?a[b]=!1:c.match(/^\d+$/)&&(a[b]=parseFloat(c))}return a},isFirstSlide:function(){return null==document.querySelector(Xb+".past")?!0:!1},isLastSlide:function(){return Tb?Tb.nextElementSibling?!1:I(Tb)&&Tb.parentNode.nextElementSibling?!1:!0:!1},isReady:function(){return ac},addEventListener:function(a,b,c){"addEventListener"in window&&(dc.wrapper||document.querySelector(".reveal")).addEventListener(a,b,c)},removeEventListener:function(a,b,c){"addEventListener"in window&&(dc.wrapper||document.querySelector(".reveal")).removeEventListener(a,b,c)}}}();