slide_hero 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/Gemfile +1 -1
  4. data/README.md +2 -2
  5. data/lib/slide_hero/blockquote.rb +10 -0
  6. data/lib/slide_hero/pluggable.rb +4 -4
  7. data/lib/slide_hero/plugins.rb +0 -1
  8. data/lib/slide_hero/presentation.rb +3 -3
  9. data/lib/slide_hero/slide.rb +2 -2
  10. data/lib/slide_hero/version.rb +1 -1
  11. data/lib/slide_hero/views/blockquote.html.erb +3 -0
  12. data/lib/slide_hero.rb +1 -0
  13. data/test/slide_hero/blockquote_spec.rb +13 -0
  14. data/test/slide_hero/plugins_spec.rb +0 -1
  15. data/test/slide_hero/presentation_spec.rb +2 -1
  16. data/test/slide_hero/slide_spec.rb +14 -3
  17. data/test/slide_hero_spec.rb +1 -0
  18. data/vendor/reveal.js/.gitignore +6 -1
  19. data/vendor/reveal.js/.travis.yml +1 -1
  20. data/vendor/reveal.js/CONTRIBUTING.md +4 -0
  21. data/vendor/reveal.js/Gruntfile.js +26 -24
  22. data/vendor/reveal.js/LICENSE +1 -1
  23. data/vendor/reveal.js/README.md +215 -124
  24. data/vendor/reveal.js/bower.json +27 -0
  25. data/vendor/reveal.js/css/print/paper.css +1 -1
  26. data/vendor/reveal.js/css/print/pdf.css +30 -27
  27. data/vendor/reveal.js/css/reveal.css +381 -191
  28. data/vendor/reveal.js/css/reveal.scss +259 -164
  29. data/vendor/reveal.js/css/theme/README.md +2 -6
  30. data/vendor/reveal.js/css/theme/beige.css +75 -49
  31. data/vendor/reveal.js/css/theme/black.css +64 -38
  32. data/vendor/reveal.js/css/theme/blood.css +75 -56
  33. data/vendor/reveal.js/css/theme/league.css +69 -43
  34. data/vendor/reveal.js/css/theme/moon.css +69 -43
  35. data/vendor/reveal.js/css/theme/night.css +64 -38
  36. data/vendor/reveal.js/css/theme/serif.css +66 -40
  37. data/vendor/reveal.js/css/theme/simple.css +63 -37
  38. data/vendor/reveal.js/css/theme/sky.css +69 -43
  39. data/vendor/reveal.js/css/theme/solarized.css +69 -43
  40. data/vendor/reveal.js/css/theme/source/black.scss +1 -1
  41. data/vendor/reveal.js/css/theme/source/blood.scss +3 -15
  42. data/vendor/reveal.js/css/theme/source/white.scss +1 -1
  43. data/vendor/reveal.js/css/theme/template/theme.scss +30 -23
  44. data/vendor/reveal.js/css/theme/white.css +69 -43
  45. data/vendor/reveal.js/demo.html +410 -0
  46. data/vendor/reveal.js/index.html +13 -371
  47. data/vendor/reveal.js/js/reveal.js +643 -175
  48. data/vendor/reveal.js/lib/css/zenburn.css +41 -78
  49. data/vendor/reveal.js/lib/js/head.min.js +9 -8
  50. data/vendor/reveal.js/package.json +20 -24
  51. data/vendor/reveal.js/plugin/highlight/highlight.js +4 -3
  52. data/vendor/reveal.js/plugin/markdown/example.html +1 -1
  53. data/vendor/reveal.js/plugin/markdown/markdown.js +19 -7
  54. data/vendor/reveal.js/plugin/markdown/marked.js +2 -33
  55. data/vendor/reveal.js/plugin/math/math.js +5 -2
  56. data/vendor/reveal.js/plugin/multiplex/client.js +1 -1
  57. data/vendor/reveal.js/plugin/multiplex/index.js +24 -16
  58. data/vendor/reveal.js/plugin/multiplex/master.js +22 -42
  59. data/vendor/reveal.js/plugin/multiplex/package.json +19 -0
  60. data/vendor/reveal.js/plugin/notes/notes.html +11 -3
  61. data/vendor/reveal.js/plugin/notes/notes.js +19 -5
  62. data/vendor/reveal.js/plugin/notes-server/client.js +6 -1
  63. data/vendor/reveal.js/plugin/notes-server/index.js +17 -14
  64. data/vendor/reveal.js/plugin/notes-server/notes.html +17 -6
  65. data/vendor/reveal.js/plugin/print-pdf/print-pdf.js +1 -1
  66. data/vendor/reveal.js/plugin/zoom-js/zoom.js +1 -1
  67. data/vendor/reveal.js/test/examples/slide-backgrounds.html +1 -1
  68. data/vendor/reveal.js/test/examples/slide-transitions.html +101 -0
  69. data/vendor/reveal.js/test/test-markdown-element-attributes.html +3 -3
  70. data/vendor/reveal.js/test/test-markdown-element-attributes.js +1 -1
  71. data/vendor/reveal.js/test/test.html +5 -1
  72. data/vendor/reveal.js/test/test.js +26 -1
  73. metadata +11 -5
  74. data/vendor/reveal.js/plugin/leap/leap.js +0 -159
  75. data/vendor/reveal.js/plugin/remotes/remotes.js +0 -39
@@ -3,7 +3,7 @@
3
3
  * http://lab.hakim.se/reveal-js
4
4
  * MIT licensed
5
5
  *
6
- * Copyright (C) 2015 Hakim El Hattab, http://hakim.se
6
+ * Copyright (C) 2016 Hakim El Hattab, http://hakim.se
7
7
  */
8
8
 
9
9
 
@@ -23,7 +23,7 @@ html, body, .reveal div, .reveal span, .reveal applet, .reveal object, .reveal i
23
23
  .reveal article, .reveal aside, .reveal canvas, .reveal details, .reveal embed,
24
24
  .reveal figure, .reveal figcaption, .reveal footer, .reveal header, .reveal hgroup,
25
25
  .reveal menu, .reveal nav, .reveal output, .reveal ruby, .reveal section, .reveal summary,
26
- .reveal time, .reveal mark, .reveal audio, video {
26
+ .reveal time, .reveal mark, .reveal audio, .reveal video {
27
27
  margin: 0;
28
28
  padding: 0;
29
29
  border: 0;
@@ -57,16 +57,13 @@ body {
57
57
  color: #000;
58
58
  }
59
59
 
60
- ::-moz-selection {
61
- background: #FF5E99;
62
- color: #fff;
63
- text-shadow: none;
60
+ // Ensures that the main background color matches the
61
+ // theme in fullscreen mode
62
+ html:-webkit-full-screen-ancestor {
63
+ background-color: inherit;
64
64
  }
65
-
66
- ::selection {
67
- background: #FF5E99;
68
- color: #fff;
69
- text-shadow: none;
65
+ html:-moz-full-screen-ancestor {
66
+ background-color: inherit;
70
67
  }
71
68
 
72
69
 
@@ -107,15 +104,7 @@ body {
107
104
  transform: scale( 0.1 );
108
105
 
109
106
  &.visible {
110
- transform: scale( 1 );
111
- }
112
- }
113
-
114
- .reveal .slides section .fragment.roll-in {
115
- transform: rotateX( 90deg );
116
-
117
- &.visible {
118
- transform: rotateX( 0 );
107
+ transform: none;
119
108
  }
120
109
  }
121
110
 
@@ -141,12 +130,45 @@ body {
141
130
 
142
131
  .reveal .slides section .fragment.strike {
143
132
  opacity: 1;
133
+ visibility: visible;
144
134
 
145
135
  &.visible {
146
136
  text-decoration: line-through;
147
137
  }
148
138
  }
149
139
 
140
+ .reveal .slides section .fragment.fade-up {
141
+ transform: translate(0, 20%);
142
+
143
+ &.visible {
144
+ transform: translate(0, 0);
145
+ }
146
+ }
147
+
148
+ .reveal .slides section .fragment.fade-down {
149
+ transform: translate(0, -20%);
150
+
151
+ &.visible {
152
+ transform: translate(0, 0);
153
+ }
154
+ }
155
+
156
+ .reveal .slides section .fragment.fade-right {
157
+ transform: translate(-20%, 0);
158
+
159
+ &.visible {
160
+ transform: translate(0, 0);
161
+ }
162
+ }
163
+
164
+ .reveal .slides section .fragment.fade-left {
165
+ transform: translate(20%, 0);
166
+
167
+ &.visible {
168
+ transform: translate(0, 0);
169
+ }
170
+ }
171
+
150
172
  .reveal .slides section .fragment.current-visible {
151
173
  opacity: 0;
152
174
  visibility: hidden;
@@ -234,66 +256,68 @@ body {
234
256
  -webkit-user-select: none;
235
257
  }
236
258
 
237
- .reveal .controls div {
259
+ .reveal .controls button {
260
+ padding: 0;
238
261
  position: absolute;
239
262
  opacity: 0.05;
240
263
  width: 0;
241
264
  height: 0;
265
+ background-color: transparent;
242
266
  border: 12px solid transparent;
243
267
  transform: scale(.9999);
244
268
  transition: all 0.2s ease;
245
-
269
+ -webkit-appearance: none;
246
270
  -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
247
271
  }
248
272
 
249
- .reveal .controls div.enabled {
273
+ .reveal .controls .enabled {
250
274
  opacity: 0.7;
251
275
  cursor: pointer;
252
276
  }
253
277
 
254
- .reveal .controls div.enabled:active {
278
+ .reveal .controls .enabled:active {
255
279
  margin-top: 1px;
256
280
  }
257
281
 
258
- .reveal .controls div.navigate-left {
282
+ .reveal .controls .navigate-left {
259
283
  top: 42px;
260
284
 
261
285
  border-right-width: 22px;
262
286
  border-right-color: #000;
263
287
  }
264
- .reveal .controls div.navigate-left.fragmented {
288
+ .reveal .controls .navigate-left.fragmented {
265
289
  opacity: 0.3;
266
290
  }
267
291
 
268
- .reveal .controls div.navigate-right {
292
+ .reveal .controls .navigate-right {
269
293
  left: 74px;
270
294
  top: 42px;
271
295
 
272
296
  border-left-width: 22px;
273
297
  border-left-color: #000;
274
298
  }
275
- .reveal .controls div.navigate-right.fragmented {
299
+ .reveal .controls .navigate-right.fragmented {
276
300
  opacity: 0.3;
277
301
  }
278
302
 
279
- .reveal .controls div.navigate-up {
303
+ .reveal .controls .navigate-up {
280
304
  left: 42px;
281
305
 
282
306
  border-bottom-width: 22px;
283
307
  border-bottom-color: #000;
284
308
  }
285
- .reveal .controls div.navigate-up.fragmented {
309
+ .reveal .controls .navigate-up.fragmented {
286
310
  opacity: 0.3;
287
311
  }
288
312
 
289
- .reveal .controls div.navigate-down {
313
+ .reveal .controls .navigate-down {
290
314
  left: 42px;
291
315
  top: 74px;
292
316
 
293
317
  border-top-width: 22px;
294
318
  border-top-color: #000;
295
319
  }
296
- .reveal .controls div.navigate-down.fragmented {
320
+ .reveal .controls .navigate-down.fragmented {
297
321
  opacity: 0.3;
298
322
  }
299
323
 
@@ -337,11 +361,19 @@ body {
337
361
  .reveal .slide-number {
338
362
  position: fixed;
339
363
  display: block;
340
- right: 15px;
341
- bottom: 15px;
342
- opacity: 0.5;
364
+ right: 8px;
365
+ bottom: 8px;
343
366
  z-index: 31;
367
+ font-family: Helvetica, sans-serif;
344
368
  font-size: 12px;
369
+ line-height: 1;
370
+ color: #fff;
371
+ background-color: rgba( 0, 0, 0, 0.4 );
372
+ padding: 5px;
373
+ }
374
+
375
+ .reveal .slide-number-delimiter {
376
+ margin: 0 3px;
345
377
  }
346
378
 
347
379
  /*********************************************
@@ -352,6 +384,7 @@ body {
352
384
  position: relative;
353
385
  width: 100%;
354
386
  height: 100%;
387
+ overflow: hidden;
355
388
  touch-action: none;
356
389
  }
357
390
 
@@ -447,93 +480,102 @@ body {
447
480
 
448
481
 
449
482
  /*********************************************
450
- * SLIDE TRANSITION
451
- * Aliased 'linear' for backwards compatibility
483
+ * Mixins for readability of transitions
452
484
  *********************************************/
453
485
 
454
- .reveal.slide section,
455
- .reveal.linear section {
456
- backface-visibility: hidden;
486
+ @mixin transition-global($style) {
487
+ .reveal .slides section[data-transition=#{$style}],
488
+ .reveal.#{$style} .slides section:not([data-transition]) {
489
+ @content;
490
+ }
457
491
  }
458
-
459
- .reveal .slides>section[data-transition=slide].past,
460
- .reveal.slide .slides>section:not([data-transition]).past,
461
- .reveal .slides>section[data-transition=linear].past,
462
- .reveal.linear .slides>section:not([data-transition]).past {
463
- transform: translate(-150%, 0);
492
+ @mixin transition-horizontal-past($style) {
493
+ .reveal .slides>section[data-transition=#{$style}].past,
494
+ .reveal .slides>section[data-transition~=#{$style}-out].past,
495
+ .reveal.#{$style} .slides>section:not([data-transition]).past {
496
+ @content;
497
+ }
464
498
  }
465
- .reveal .slides>section[data-transition=slide].future,
466
- .reveal.slide .slides>section:not([data-transition]).future,
467
- .reveal .slides>section[data-transition=linear].future,
468
- .reveal.linear .slides>section:not([data-transition]).future {
469
- transform: translate(150%, 0);
499
+ @mixin transition-horizontal-future($style) {
500
+ .reveal .slides>section[data-transition=#{$style}].future,
501
+ .reveal .slides>section[data-transition~=#{$style}-in].future,
502
+ .reveal.#{$style} .slides>section:not([data-transition]).future {
503
+ @content;
504
+ }
470
505
  }
471
506
 
472
- .reveal .slides>section>section[data-transition=slide].past,
473
- .reveal.slide .slides>section>section:not([data-transition]).past,
474
- .reveal .slides>section>section[data-transition=linear].past,
475
- .reveal.linear .slides>section>section:not([data-transition]).past {
476
- transform: translate(0, -150%);
507
+ @mixin transition-vertical-past($style) {
508
+ .reveal .slides>section>section[data-transition=#{$style}].past,
509
+ .reveal .slides>section>section[data-transition~=#{$style}-out].past,
510
+ .reveal.#{$style} .slides>section>section:not([data-transition]).past {
511
+ @content;
512
+ }
477
513
  }
478
- .reveal .slides>section>section[data-transition=slide].future,
479
- .reveal.slide .slides>section>section:not([data-transition]).future,
480
- .reveal .slides>section>section[data-transition=linear].future,
481
- .reveal.linear .slides>section>section:not([data-transition]).future {
482
- transform: translate(0, 150%);
514
+ @mixin transition-vertical-future($style) {
515
+ .reveal .slides>section>section[data-transition=#{$style}].future,
516
+ .reveal .slides>section>section[data-transition~=#{$style}-in].future,
517
+ .reveal.#{$style} .slides>section>section:not([data-transition]).future {
518
+ @content;
519
+ }
483
520
  }
484
521
 
522
+ /*********************************************
523
+ * SLIDE TRANSITION
524
+ * Aliased 'linear' for backwards compatibility
525
+ *********************************************/
526
+
527
+ @each $stylename in slide, linear {
528
+ .reveal.#{$stylename} section {
529
+ backface-visibility: hidden;
530
+ }
531
+ @include transition-horizontal-past(#{$stylename}) {
532
+ transform: translate(-150%, 0);
533
+ }
534
+ @include transition-horizontal-future(#{$stylename}) {
535
+ transform: translate(150%, 0);
536
+ }
537
+ @include transition-vertical-past(#{$stylename}) {
538
+ transform: translate(0, -150%);
539
+ }
540
+ @include transition-vertical-future(#{$stylename}) {
541
+ transform: translate(0, 150%);
542
+ }
543
+ }
485
544
 
486
545
  /*********************************************
487
546
  * CONVEX TRANSITION
488
547
  * Aliased 'default' for backwards compatibility
489
548
  *********************************************/
490
549
 
491
- .reveal .slides>section[data-transition=default].past,
492
- .reveal.default .slides>section:not([data-transition]).past,
493
- .reveal .slides>section[data-transition=convex].past,
494
- .reveal.convex .slides>section:not([data-transition]).past {
495
- transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
496
- }
497
- .reveal .slides>section[data-transition=default].future,
498
- .reveal.default .slides>section:not([data-transition]).future,
499
- .reveal .slides>section[data-transition=convex].future,
500
- .reveal.convex .slides>section:not([data-transition]).future {
501
- transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
502
- }
503
-
504
- .reveal .slides>section>section[data-transition=default].past,
505
- .reveal.default .slides>section>section:not([data-transition]).past,
506
- .reveal .slides>section>section[data-transition=convex].past,
507
- .reveal.convex .slides>section>section:not([data-transition]).past {
508
- transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
509
- }
510
- .reveal .slides>section>section[data-transition=default].future,
511
- .reveal.default .slides>section>section:not([data-transition]).future,
512
- .reveal .slides>section>section[data-transition=convex].future,
513
- .reveal.convex .slides>section>section:not([data-transition]).future {
514
- transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
550
+ @each $stylename in default, convex {
551
+ @include transition-horizontal-past(#{$stylename}) {
552
+ transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
553
+ }
554
+ @include transition-horizontal-future(#{$stylename}) {
555
+ transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
556
+ }
557
+ @include transition-vertical-past(#{$stylename}) {
558
+ transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
559
+ }
560
+ @include transition-vertical-future(#{$stylename}) {
561
+ transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
562
+ }
515
563
  }
516
564
 
517
-
518
565
  /*********************************************
519
566
  * CONCAVE TRANSITION
520
567
  *********************************************/
521
568
 
522
- .reveal .slides>section[data-transition=concave].past,
523
- .reveal.concave .slides>section:not([data-transition]).past {
569
+ @include transition-horizontal-past(concave) {
524
570
  transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
525
571
  }
526
- .reveal .slides>section[data-transition=concave].future,
527
- .reveal.concave .slides>section:not([data-transition]).future {
572
+ @include transition-horizontal-future(concave) {
528
573
  transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
529
574
  }
530
-
531
- .reveal .slides>section>section[data-transition=concave].past,
532
- .reveal.concave .slides>section>section:not([data-transition]).past {
575
+ @include transition-vertical-past(concave) {
533
576
  transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
534
577
  }
535
- .reveal .slides>section>section[data-transition=concave].future,
536
- .reveal.concave .slides>section>section:not([data-transition]).future {
578
+ @include transition-vertical-future(concave) {
537
579
  transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
538
580
  }
539
581
 
@@ -542,28 +584,21 @@ body {
542
584
  * ZOOM TRANSITION
543
585
  *********************************************/
544
586
 
545
- .reveal .slides>section[data-transition=zoom],
546
- .reveal.zoom .slides>section:not([data-transition]) {
587
+ @include transition-global(zoom) {
547
588
  transition-timing-function: ease;
548
589
  }
549
-
550
- .reveal .slides>section[data-transition=zoom].past,
551
- .reveal.zoom .slides>section:not([data-transition]).past {
590
+ @include transition-horizontal-past(zoom) {
552
591
  visibility: hidden;
553
592
  transform: scale(16);
554
593
  }
555
- .reveal .slides>section[data-transition=zoom].future,
556
- .reveal.zoom .slides>section:not([data-transition]).future {
594
+ @include transition-horizontal-future(zoom) {
557
595
  visibility: hidden;
558
596
  transform: scale(0.2);
559
597
  }
560
-
561
- .reveal .slides>section>section[data-transition=zoom].past,
562
- .reveal.zoom .slides>section>section:not([data-transition]).past {
598
+ @include transition-vertical-past(zoom) {
563
599
  transform: translate(0, -150%);
564
600
  }
565
- .reveal .slides>section>section[data-transition=zoom].future,
566
- .reveal.zoom .slides>section>section:not([data-transition]).future {
601
+ @include transition-vertical-future(zoom) {
567
602
  transform: translate(0, 150%);
568
603
  }
569
604
 
@@ -732,60 +767,12 @@ body {
732
767
  * NO TRANSITION
733
768
  *********************************************/
734
769
 
735
- .reveal .slides section[data-transition=none],
736
- .reveal.none .slides section:not([data-transition]) {
770
+ @include transition-global(none) {
737
771
  transform: none;
738
772
  transition: none;
739
773
  }
740
774
 
741
775
 
742
- /*********************************************
743
- * OVERVIEW
744
- *********************************************/
745
-
746
- .reveal.overview .slides {
747
- perspective-origin: 50% 50%;
748
- perspective: 700px;
749
- }
750
-
751
- .reveal.overview .slides section {
752
- height: 700px;
753
- overflow: hidden;
754
- opacity: 1 !important;
755
- visibility: visible !important;
756
- cursor: pointer;
757
- background: rgba(0,0,0,0.1);
758
- box-sizing: border-box;
759
- }
760
- .reveal.overview .slides section,
761
- .reveal.overview-deactivating .slides section {
762
- transition: none !important;
763
- }
764
- .reveal.overview .slides section .fragment {
765
- opacity: 1;
766
- }
767
- .reveal.overview .slides section:after,
768
- .reveal.overview .slides section:before {
769
- display: none !important;
770
- }
771
- .reveal.overview .slides section>section {
772
- opacity: 1;
773
- cursor: pointer;
774
- }
775
- .reveal.overview .slides section:hover {
776
- background: rgba(0,0,0,0.3);
777
- }
778
- .reveal.overview .slides section.present {
779
- background: rgba(0,0,0,0.3);
780
- }
781
- .reveal.overview .slides>section.stack {
782
- padding: 0;
783
- top: 0 !important;
784
- background: none;
785
- overflow: visible;
786
- }
787
-
788
-
789
776
  /*********************************************
790
777
  * PAUSED MODE
791
778
  *********************************************/
@@ -857,7 +844,7 @@ body {
857
844
  * PER-SLIDE BACKGROUNDS
858
845
  *********************************************/
859
846
 
860
- .reveal>.backgrounds {
847
+ .reveal .backgrounds {
861
848
  position: absolute;
862
849
  width: 100%;
863
850
  height: 100%;
@@ -1026,6 +1013,75 @@ body {
1026
1013
  }
1027
1014
 
1028
1015
 
1016
+ /*********************************************
1017
+ * OVERVIEW
1018
+ *********************************************/
1019
+
1020
+ .reveal.overview {
1021
+ perspective-origin: 50% 50%;
1022
+ perspective: 700px;
1023
+
1024
+ .slides section {
1025
+ height: 100%;
1026
+ top: 0 !important;
1027
+ opacity: 1 !important;
1028
+ overflow: hidden;
1029
+ visibility: visible !important;
1030
+ cursor: pointer;
1031
+ box-sizing: border-box;
1032
+ }
1033
+ .slides section:hover,
1034
+ .slides section.present {
1035
+ outline: 10px solid rgba(150,150,150,0.4);
1036
+ outline-offset: 10px;
1037
+ }
1038
+ .slides section .fragment {
1039
+ opacity: 1;
1040
+ transition: none;
1041
+ }
1042
+ .slides section:after,
1043
+ .slides section:before {
1044
+ display: none !important;
1045
+ }
1046
+ .slides>section.stack {
1047
+ padding: 0;
1048
+ top: 0 !important;
1049
+ background: none;
1050
+ outline: none;
1051
+ overflow: visible;
1052
+ }
1053
+
1054
+ .backgrounds {
1055
+ perspective: inherit;
1056
+ }
1057
+
1058
+ .backgrounds .slide-background {
1059
+ opacity: 1;
1060
+ visibility: visible;
1061
+
1062
+ // This can't be applied to the slide itself in Safari
1063
+ outline: 10px solid rgba(150,150,150,0.1);
1064
+ outline-offset: 10px;
1065
+ }
1066
+ }
1067
+
1068
+ // Disable transitions transitions while we're activating
1069
+ // or deactivating the overview mode.
1070
+ .reveal.overview .slides section,
1071
+ .reveal.overview-deactivating .slides section {
1072
+ transition: none;
1073
+ }
1074
+
1075
+ .reveal.overview .backgrounds .slide-background,
1076
+ .reveal.overview-deactivating .backgrounds .slide-background {
1077
+ transition: none;
1078
+ }
1079
+
1080
+ .reveal.overview-animated .slides {
1081
+ transition: transform 0.4s ease;
1082
+ }
1083
+
1084
+
1029
1085
  /*********************************************
1030
1086
  * RTL SUPPORT
1031
1087
  *********************************************/
@@ -1149,6 +1205,7 @@ body {
1149
1205
 
1150
1206
  .reveal .overlay .viewport {
1151
1207
  position: absolute;
1208
+ display: flex;
1152
1209
  top: 40px;
1153
1210
  right: 0;
1154
1211
  bottom: 0;
@@ -1185,8 +1242,8 @@ body {
1185
1242
 
1186
1243
  .reveal .overlay.overlay-help .viewport .viewport-inner {
1187
1244
  width: 600px;
1188
- margin: 0 auto;
1189
- padding: 60px;
1245
+ margin: auto;
1246
+ padding: 20px 20px 80px 20px;
1190
1247
  text-align: center;
1191
1248
  letter-spacing: normal;
1192
1249
  }
@@ -1198,13 +1255,13 @@ body {
1198
1255
  .reveal .overlay.overlay-help .viewport .viewport-inner table {
1199
1256
  border: 1px solid #fff;
1200
1257
  border-collapse: collapse;
1201
- font-size: 14px;
1258
+ font-size: 16px;
1202
1259
  }
1203
1260
 
1204
1261
  .reveal .overlay.overlay-help .viewport .viewport-inner table th,
1205
1262
  .reveal .overlay.overlay-help .viewport .viewport-inner table td {
1206
1263
  width: 200px;
1207
- padding: 10px;
1264
+ padding: 14px;
1208
1265
  border: 1px solid #fff;
1209
1266
  vertical-align: middle;
1210
1267
  }
@@ -1223,7 +1280,7 @@ body {
1223
1280
  .reveal .playback {
1224
1281
  position: fixed;
1225
1282
  left: 15px;
1226
- bottom: 15px;
1283
+ bottom: 20px;
1227
1284
  z-index: 30;
1228
1285
  cursor: pointer;
1229
1286
  transition: all 400ms ease;
@@ -1285,10 +1342,50 @@ body {
1285
1342
  * SPEAKER NOTES
1286
1343
  *********************************************/
1287
1344
 
1345
+ // Hide on-page notes
1288
1346
  .reveal aside.notes {
1289
1347
  display: none;
1290
1348
  }
1291
1349
 
1350
+ // An interface element that can optionally be used to show the
1351
+ // speaker notes to all viewers, on top of the presentation
1352
+ .reveal .speaker-notes {
1353
+ display: none;
1354
+ position: absolute;
1355
+ width: 70%;
1356
+ max-height: 15%;
1357
+ left: 15%;
1358
+ bottom: 26px;
1359
+ padding: 10px;
1360
+ z-index: 1;
1361
+ font-size: 18px;
1362
+ line-height: 1.4;
1363
+ color: #fff;
1364
+ background-color: rgba(0,0,0,0.5);
1365
+ overflow: auto;
1366
+ box-sizing: border-box;
1367
+ text-align: left;
1368
+ font-family: Helvetica, sans-serif;
1369
+ -webkit-overflow-scrolling: touch;
1370
+ }
1371
+
1372
+ .reveal .speaker-notes.visible:not(:empty) {
1373
+ display: block;
1374
+ }
1375
+
1376
+ @media screen and (max-width: 1024px) {
1377
+ .reveal .speaker-notes {
1378
+ font-size: 14px;
1379
+ }
1380
+ }
1381
+
1382
+ @media screen and (max-width: 600px) {
1383
+ .reveal .speaker-notes {
1384
+ width: 90%;
1385
+ left: 5%;
1386
+ }
1387
+ }
1388
+
1292
1389
 
1293
1390
  /*********************************************
1294
1391
  * ZOOM PLUGIN
@@ -1312,5 +1409,3 @@ body {
1312
1409
  .zoomed .reveal .roll span:after {
1313
1410
  visibility: hidden;
1314
1411
  }
1315
-
1316
-
@@ -2,11 +2,9 @@
2
2
 
3
3
  Themes are written using Sass to keep things modular and reduce the need for repeated selectors across files. Make sure that you have the reveal.js development environment including the Grunt dependencies installed before proceding: https://github.com/hakimel/reveal.js#full-setup
4
4
 
5
- You also need to install Ruby and then Sass (with `gem install sass`).
6
-
7
5
  ## Creating a Theme
8
6
 
9
- To create your own theme, start by duplicating any ```.scss``` file in [/css/theme/source](https://github.com/hakimel/reveal.js/blob/master/css/theme/source) and adding it to the compilation list in the [Gruntfile](https://github.com/hakimel/reveal.js/blob/master/Gruntfile.js).
7
+ To create your own theme, start by duplicating a ```.scss``` file in [/css/theme/source](https://github.com/hakimel/reveal.js/blob/master/css/theme/source). It will be automatically compiled by Grunt from Sass to CSS (see the [Gruntfile](https://github.com/hakimel/reveal.js/blob/master/Gruntfile.js)) when you run `grunt css-themes`.
10
8
 
11
9
  Each theme file does four things in the following order:
12
10
 
@@ -17,9 +15,7 @@ Shared utility functions.
17
15
  Declares a set of custom variables that the template file (step 4) expects. Can be overridden in step 3.
18
16
 
19
17
  3. **Override**
20
- This is where you override the default theme. Either by specifying variables (see [settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss) for reference) or by adding full selectors with hardcoded styles.
18
+ This is where you override the default theme. Either by specifying variables (see [settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss) for reference) or by adding any selectors and styles you please.
21
19
 
22
20
  4. **Include [/css/theme/template/theme.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/theme.scss)**
23
21
  The template theme file which will generate final CSS output based on the currently defined variables.
24
-
25
- When you are done, run `grunt css-themes` to compile the Sass file to CSS and you are ready to use your new theme.