reveal-ck 3.8.1 → 3.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/files/reveal.js/Gruntfile.js +41 -40
  3. data/files/reveal.js/LICENSE +1 -1
  4. data/files/reveal.js/README.md +189 -107
  5. data/files/reveal.js/bower.json +2 -2
  6. data/files/reveal.js/css/print/pdf.css +10 -18
  7. data/files/reveal.js/css/reveal.css +344 -140
  8. data/files/reveal.js/css/reveal.scss +371 -76
  9. data/files/reveal.js/css/theme/README.md +2 -2
  10. data/files/reveal.js/css/theme/beige.css +19 -38
  11. data/files/reveal.js/css/theme/black.css +19 -38
  12. data/files/reveal.js/css/theme/blood.css +19 -38
  13. data/files/reveal.js/css/theme/league.css +19 -38
  14. data/files/reveal.js/css/theme/moon.css +19 -38
  15. data/files/reveal.js/css/theme/night.css +19 -38
  16. data/files/reveal.js/css/theme/serif.css +19 -38
  17. data/files/reveal.js/css/theme/simple.css +19 -38
  18. data/files/reveal.js/css/theme/sky.css +19 -38
  19. data/files/reveal.js/css/theme/solarized.css +19 -38
  20. data/files/reveal.js/css/theme/template/theme.scss +18 -45
  21. data/files/reveal.js/css/theme/white.css +19 -38
  22. data/files/reveal.js/demo.html +13 -7
  23. data/files/reveal.js/js/reveal.js +707 -242
  24. data/files/reveal.js/lib/js/head.min.js +1 -4
  25. data/files/reveal.js/package.json +16 -17
  26. data/files/reveal.js/plugin/highlight/highlight.js +3 -4
  27. data/files/reveal.js/plugin/markdown/example.html +7 -0
  28. data/files/reveal.js/plugin/markdown/example.md +5 -0
  29. data/files/reveal.js/plugin/markdown/markdown.js +1 -1
  30. data/files/reveal.js/plugin/math/math.js +4 -4
  31. data/files/reveal.js/plugin/multiplex/master.js +4 -1
  32. data/files/reveal.js/plugin/multiplex/package.json +1 -1
  33. data/files/reveal.js/plugin/notes/notes.html +48 -2
  34. data/files/reveal.js/plugin/notes/notes.js +9 -17
  35. data/files/reveal.js/plugin/print-pdf/print-pdf.js +9 -11
  36. data/files/reveal.js/plugin/search/search.js +127 -117
  37. data/files/reveal.js/plugin/zoom-js/zoom.js +16 -32
  38. data/files/reveal.js/test/qunit-2.5.0.css +436 -0
  39. data/files/reveal.js/test/qunit-2.5.0.js +5188 -0
  40. data/files/reveal.js/test/test-markdown-element-attributes.html +2 -2
  41. data/files/reveal.js/test/test-markdown-element-attributes.js +21 -23
  42. data/files/reveal.js/test/test-markdown-external.html +3 -3
  43. data/files/reveal.js/test/test-markdown-external.js +7 -11
  44. data/files/reveal.js/test/test-markdown-options.html +2 -2
  45. data/files/reveal.js/test/test-markdown-options.js +7 -6
  46. data/files/reveal.js/test/test-markdown-slide-attributes.html +2 -2
  47. data/files/reveal.js/test/test-markdown-slide-attributes.js +23 -26
  48. data/files/reveal.js/test/test-markdown.html +2 -2
  49. data/files/reveal.js/test/test-markdown.js +2 -6
  50. data/files/reveal.js/test/test-pdf.html +2 -2
  51. data/files/reveal.js/test/test-pdf.js +2 -5
  52. data/files/reveal.js/test/test.html +2 -2
  53. data/files/reveal.js/test/test.js +184 -188
  54. data/lib/reveal-ck/version.rb +1 -1
  55. metadata +4 -4
  56. data/files/reveal.js/test/qunit-1.12.0.css +0 -244
  57. data/files/reveal.js/test/qunit-1.12.0.js +0 -2212
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * reveal.js
3
- * http://lab.hakim.se/reveal-js
3
+ * http://revealjs.com
4
4
  * MIT licensed
5
5
  *
6
- * Copyright (C) 2017 Hakim El Hattab, http://hakim.se
6
+ * Copyright (C) 2018 Hakim El Hattab, http://hakim.se
7
7
  */
8
8
 
9
9
 
@@ -160,6 +160,7 @@ body {
160
160
  }
161
161
  }
162
162
 
163
+ .reveal .slides section .fragment.fade-in-then-out,
163
164
  .reveal .slides section .fragment.current-visible {
164
165
  opacity: 0;
165
166
  visibility: hidden;
@@ -170,6 +171,21 @@ body {
170
171
  }
171
172
  }
172
173
 
174
+ .reveal .slides section .fragment.fade-in-then-semi-out {
175
+ opacity: 0;
176
+ visibility: hidden;
177
+
178
+ &.visible {
179
+ opacity: 0.5;
180
+ visibility: inherit;
181
+ }
182
+
183
+ &.current-fragment {
184
+ opacity: 1;
185
+ visibility: inherit;
186
+ }
187
+ }
188
+
173
189
  .reveal .slides section .fragment.highlight-red,
174
190
  .reveal .slides section .fragment.highlight-current-red,
175
191
  .reveal .slides section .fragment.highlight-green,
@@ -235,90 +251,279 @@ body {
235
251
  * CONTROLS
236
252
  *********************************************/
237
253
 
238
- .reveal .controls {
239
- display: none;
240
- position: fixed;
241
- width: 110px;
242
- height: 110px;
243
- z-index: 30;
244
- right: 10px;
245
- bottom: 10px;
246
-
247
- -webkit-user-select: none;
254
+ @keyframes bounce-right {
255
+ 0%, 10%, 25%, 40%, 50% {transform: translateX(0);}
256
+ 20% {transform: translateX(10px);}
257
+ 30% {transform: translateX(-5px);}
248
258
  }
249
259
 
250
- .reveal .controls button {
251
- padding: 0;
252
- position: absolute;
253
- opacity: 0.05;
254
- width: 0;
255
- height: 0;
256
- background-color: transparent;
257
- border: 12px solid transparent;
258
- transform: scale(.9999);
259
- transition: all 0.2s ease;
260
- -webkit-appearance: none;
261
- -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
260
+ @keyframes bounce-down {
261
+ 0%, 10%, 25%, 40%, 50% {transform: translateY(0);}
262
+ 20% {transform: translateY(10px);}
263
+ 30% {transform: translateY(-5px);}
262
264
  }
263
265
 
264
- .reveal .controls .enabled {
265
- opacity: 0.7;
266
- cursor: pointer;
267
- }
266
+ $controlArrowSize: 3.6em;
267
+ $controlArrowSpacing: 1.4em;
268
+ $controlArrowLength: 2.6em;
269
+ $controlArrowThickness: 0.5em;
270
+ $controlsArrowAngle: 45deg;
271
+ $controlsArrowAngleHover: 40deg;
272
+ $controlsArrowAngleActive: 36deg;
268
273
 
269
- .reveal .controls .enabled:active {
270
- margin-top: 1px;
274
+ @mixin controlsArrowTransform( $angle ) {
275
+ &:before {
276
+ transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( $angle );
277
+ }
278
+
279
+ &:after {
280
+ transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( -$angle );
281
+ }
271
282
  }
272
283
 
273
- .reveal .controls .navigate-left {
274
- top: 42px;
284
+ .reveal .controls {
285
+ $spacing: 12px;
286
+
287
+ display: none;
288
+ position: absolute;
289
+ top: auto;
290
+ bottom: $spacing;
291
+ right: $spacing;
292
+ left: auto;
293
+ z-index: 1;
294
+ color: #000;
295
+ pointer-events: none;
296
+ font-size: 10px;
297
+
298
+ button {
299
+ position: absolute;
300
+ padding: 0;
301
+ background-color: transparent;
302
+ border: 0;
303
+ outline: 0;
304
+ cursor: pointer;
305
+ color: currentColor;
306
+ transform: scale(.9999);
307
+ transition: color 0.2s ease,
308
+ opacity 0.2s ease,
309
+ transform 0.2s ease;
310
+ z-index: 2; // above slides
311
+ pointer-events: auto;
312
+ font-size: inherit;
275
313
 
276
- border-right-width: 22px;
277
- border-right-color: #000;
314
+ visibility: hidden;
315
+ opacity: 0;
316
+
317
+ -webkit-appearance: none;
318
+ -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
278
319
  }
279
- .reveal .controls .navigate-left.fragmented {
280
- opacity: 0.3;
320
+
321
+ .controls-arrow:before,
322
+ .controls-arrow:after {
323
+ content: '';
324
+ position: absolute;
325
+ top: 0;
326
+ left: 0;
327
+ width: $controlArrowLength;
328
+ height: $controlArrowThickness;
329
+ border-radius: $controlArrowThickness/2;
330
+ background-color: currentColor;
331
+
332
+ transition: all 0.15s ease, background-color 0.8s ease;
333
+ transform-origin: floor(($controlArrowThickness/2)*10)/10 50%;
334
+ will-change: transform;
335
+ }
336
+
337
+ .controls-arrow {
338
+ position: relative;
339
+ width: $controlArrowSize;
340
+ height: $controlArrowSize;
341
+
342
+ @include controlsArrowTransform( $controlsArrowAngle );
343
+
344
+ &:hover {
345
+ @include controlsArrowTransform( $controlsArrowAngleHover );
281
346
  }
282
347
 
283
- .reveal .controls .navigate-right {
284
- left: 74px;
285
- top: 42px;
348
+ &:active {
349
+ @include controlsArrowTransform( $controlsArrowAngleActive );
350
+ }
351
+ }
352
+
353
+ .navigate-left {
354
+ right: $controlArrowSize + $controlArrowSpacing*2;
355
+ bottom: $controlArrowSpacing + $controlArrowSize/2;
356
+ transform: translateX( -10px );
357
+ }
358
+
359
+ .navigate-right {
360
+ right: 0;
361
+ bottom: $controlArrowSpacing + $controlArrowSize/2;
362
+ transform: translateX( 10px );
363
+
364
+ .controls-arrow {
365
+ transform: rotate( 180deg );
366
+ }
286
367
 
287
- border-left-width: 22px;
288
- border-left-color: #000;
368
+ &.highlight {
369
+ animation: bounce-right 2s 50 both ease-out;
370
+ }
289
371
  }
290
- .reveal .controls .navigate-right.fragmented {
291
- opacity: 0.3;
372
+
373
+ .navigate-up {
374
+ right: $controlArrowSpacing + $controlArrowSize/2;
375
+ bottom: $controlArrowSpacing*2 + $controlArrowSize;
376
+ transform: translateY( -10px );
377
+
378
+ .controls-arrow {
379
+ transform: rotate( 90deg );
292
380
  }
381
+ }
293
382
 
294
- .reveal .controls .navigate-up {
295
- left: 42px;
383
+ .navigate-down {
384
+ right: $controlArrowSpacing + $controlArrowSize/2;
385
+ bottom: 0;
386
+ transform: translateY( 10px );
296
387
 
297
- border-bottom-width: 22px;
298
- border-bottom-color: #000;
388
+ .controls-arrow {
389
+ transform: rotate( -90deg );
390
+ }
391
+
392
+ &.highlight {
393
+ animation: bounce-down 2s 50 both ease-out;
394
+ }
299
395
  }
300
- .reveal .controls .navigate-up.fragmented {
301
- opacity: 0.3;
396
+
397
+ // Back arrow style: "faded":
398
+ // Deemphasize backwards navigation arrows in favor of drawing
399
+ // attention to forwards navigation
400
+ &[data-controls-back-arrows="faded"] .navigate-left.enabled,
401
+ &[data-controls-back-arrows="faded"] .navigate-up.enabled {
402
+ opacity: 0.3;
403
+
404
+ &:hover {
405
+ opacity: 1;
302
406
  }
407
+ }
408
+
409
+ // Back arrow style: "hidden":
410
+ // Never show arrows for backwards navigation
411
+ &[data-controls-back-arrows="hidden"] .navigate-left.enabled,
412
+ &[data-controls-back-arrows="hidden"] .navigate-up.enabled {
413
+ opacity: 0;
414
+ visibility: hidden;
415
+ }
416
+
417
+ // Any control button that can be clicked is "enabled"
418
+ .enabled {
419
+ visibility: visible;
420
+ opacity: 0.9;
421
+ cursor: pointer;
422
+ transform: none;
423
+ }
303
424
 
304
- .reveal .controls .navigate-down {
305
- left: 42px;
306
- top: 74px;
425
+ // Any control button that leads to showing or hiding
426
+ // a fragment
427
+ .enabled.fragmented {
428
+ opacity: 0.5;
429
+ }
307
430
 
308
- border-top-width: 22px;
309
- border-top-color: #000;
431
+ .enabled:hover,
432
+ .enabled.fragmented:hover {
433
+ opacity: 1;
310
434
  }
311
- .reveal .controls .navigate-down.fragmented {
312
- opacity: 0.3;
435
+ }
436
+
437
+ // Adjust the layout when there are no vertical slides
438
+ .reveal:not(.has-vertical-slides) .controls .navigate-left {
439
+ bottom: $controlArrowSpacing;
440
+ right: 0.5em + $controlArrowSpacing + $controlArrowSize;
441
+ }
442
+
443
+ .reveal:not(.has-vertical-slides) .controls .navigate-right {
444
+ bottom: $controlArrowSpacing;
445
+ right: 0.5em;
446
+ }
447
+
448
+ // Adjust the layout when there are no horizontal slides
449
+ .reveal:not(.has-horizontal-slides) .controls .navigate-up {
450
+ right: $controlArrowSpacing;
451
+ bottom: $controlArrowSpacing + $controlArrowSize;
452
+ }
453
+ .reveal:not(.has-horizontal-slides) .controls .navigate-down {
454
+ right: $controlArrowSpacing;
455
+ bottom: 0.5em;
456
+ }
457
+
458
+ // Invert arrows based on background color
459
+ .reveal.has-dark-background .controls {
460
+ color: #fff;
461
+ }
462
+ .reveal.has-light-background .controls {
463
+ color: #000;
464
+ }
465
+
466
+ // Disable active states on touch devices
467
+ .reveal.no-hover .controls .controls-arrow:hover,
468
+ .reveal.no-hover .controls .controls-arrow:active {
469
+ @include controlsArrowTransform( $controlsArrowAngle );
470
+ }
471
+
472
+ // Edge aligned controls layout
473
+ @media screen and (min-width: 500px) {
474
+
475
+ $spacing: 8px;
476
+
477
+ .reveal .controls[data-controls-layout="edges"] {
478
+ & {
479
+ top: 0;
480
+ right: 0;
481
+ bottom: 0;
482
+ left: 0;
313
483
  }
314
484
 
485
+ .navigate-left,
486
+ .navigate-right,
487
+ .navigate-up,
488
+ .navigate-down {
489
+ bottom: auto;
490
+ right: auto;
491
+ }
492
+
493
+ .navigate-left {
494
+ top: 50%;
495
+ left: $spacing;
496
+ margin-top: -$controlArrowSize/2;
497
+ }
498
+
499
+ .navigate-right {
500
+ top: 50%;
501
+ right: $spacing;
502
+ margin-top: -$controlArrowSize/2;
503
+ }
504
+
505
+ .navigate-up {
506
+ top: $spacing;
507
+ left: 50%;
508
+ margin-left: -$controlArrowSize/2;
509
+ }
510
+
511
+ .navigate-down {
512
+ bottom: $spacing;
513
+ left: 50%;
514
+ margin-left: -$controlArrowSize/2;
515
+ }
516
+ }
517
+
518
+ }
519
+
315
520
 
316
521
  /*********************************************
317
522
  * PROGRESS BAR
318
523
  *********************************************/
319
524
 
320
525
  .reveal .progress {
321
- position: fixed;
526
+ position: absolute;
322
527
  display: none;
323
528
  height: 3px;
324
529
  width: 100%;
@@ -327,21 +532,22 @@ body {
327
532
  z-index: 10;
328
533
 
329
534
  background-color: rgba( 0, 0, 0, 0.2 );
535
+ color: #fff;
330
536
  }
331
537
  .reveal .progress:after {
332
538
  content: '';
333
539
  display: block;
334
540
  position: absolute;
335
- height: 20px;
541
+ height: 10px;
336
542
  width: 100%;
337
- top: -20px;
543
+ top: -10px;
338
544
  }
339
545
  .reveal .progress span {
340
546
  display: block;
341
547
  height: 100%;
342
548
  width: 0px;
343
549
 
344
- background-color: #000;
550
+ background-color: currentColor;
345
551
  transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
346
552
  }
347
553
 
@@ -350,7 +556,7 @@ body {
350
556
  *********************************************/
351
557
 
352
558
  .reveal .slide-number {
353
- position: fixed;
559
+ position: absolute;
354
560
  display: block;
355
561
  right: 8px;
356
562
  bottom: 8px;
@@ -363,6 +569,10 @@ body {
363
569
  padding: 5px;
364
570
  }
365
571
 
572
+ .reveal .slide-number a {
573
+ color: currentColor;
574
+ }
575
+
366
576
  .reveal .slide-number-delimiter {
367
577
  margin: 0 3px;
368
578
  }
@@ -379,6 +589,16 @@ body {
379
589
  touch-action: none;
380
590
  }
381
591
 
592
+ // Mobile Safari sometimes overlays a header at the top
593
+ // of the page when in landscape mode. Using fixed
594
+ // positioning ensures that reveal.js reduces its height
595
+ // when this header is visible.
596
+ @media only screen and (orientation : landscape) {
597
+ .reveal.ua-iphone {
598
+ position: fixed;
599
+ }
600
+ }
601
+
382
602
  .reveal .slides {
383
603
  position: absolute;
384
604
  width: 100%;
@@ -436,6 +656,7 @@ body {
436
656
  .reveal .slides>section.stack {
437
657
  padding-top: 0;
438
658
  padding-bottom: 0;
659
+ pointer-events: none;
439
660
  }
440
661
 
441
662
  .reveal .slides>section.present,
@@ -813,6 +1034,25 @@ body {
813
1034
  z-index: 100;
814
1035
  transition: all 1s ease;
815
1036
  }
1037
+
1038
+ .reveal .pause-overlay .resume-button {
1039
+ position: absolute;
1040
+ bottom: 20px;
1041
+ right: 20px;
1042
+ color: #ccc;
1043
+ border-radius: 2px;
1044
+ padding: 6px 14px;
1045
+ border: 2px solid #ccc;
1046
+ font-size: 16px;
1047
+ background: transparent;
1048
+ cursor: pointer;
1049
+
1050
+ &:hover {
1051
+ color: #fff;
1052
+ border-color: #fff;
1053
+ }
1054
+ }
1055
+
816
1056
  .reveal.paused .pause-overlay {
817
1057
  visibility: visible;
818
1058
  opacity: 1;
@@ -886,11 +1126,18 @@ body {
886
1126
  overflow: hidden;
887
1127
 
888
1128
  background-color: rgba( 0, 0, 0, 0 );
1129
+
1130
+ transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
1131
+ }
1132
+
1133
+ .reveal .slide-background-content {
1134
+ position: absolute;
1135
+ width: 100%;
1136
+ height: 100%;
1137
+
889
1138
  background-position: 50% 50%;
890
1139
  background-repeat: no-repeat;
891
1140
  background-size: cover;
892
-
893
- transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
894
1141
  }
895
1142
 
896
1143
  .reveal .slide-background.stack {
@@ -1336,12 +1583,13 @@ body {
1336
1583
  *********************************************/
1337
1584
 
1338
1585
  .reveal .playback {
1339
- position: fixed;
1586
+ position: absolute;
1340
1587
  left: 15px;
1341
1588
  bottom: 20px;
1342
1589
  z-index: 30;
1343
1590
  cursor: pointer;
1344
1591
  transition: all 400ms ease;
1592
+ -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
1345
1593
  }
1346
1594
 
1347
1595
  .reveal.overview .playback {
@@ -1410,37 +1658,84 @@ body {
1410
1658
  .reveal .speaker-notes {
1411
1659
  display: none;
1412
1660
  position: absolute;
1413
- width: 70%;
1414
- max-height: 15%;
1415
- left: 15%;
1416
- bottom: 26px;
1417
- padding: 10px;
1661
+ width: 25vw;
1662
+ height: 100%;
1663
+ top: 0;
1664
+ left: 100%;
1665
+ padding: 14px 18px 14px 18px;
1418
1666
  z-index: 1;
1419
1667
  font-size: 18px;
1420
1668
  line-height: 1.4;
1421
- color: #fff;
1422
- background-color: rgba(0,0,0,0.5);
1669
+ border: 1px solid rgba( 0, 0, 0, 0.05 );
1670
+ color: #222;
1671
+ background-color: #f5f5f5;
1423
1672
  overflow: auto;
1424
1673
  box-sizing: border-box;
1425
1674
  text-align: left;
1426
1675
  font-family: Helvetica, sans-serif;
1427
1676
  -webkit-overflow-scrolling: touch;
1677
+
1678
+ .notes-placeholder {
1679
+ color: #ccc;
1680
+ font-style: italic;
1681
+ }
1682
+
1683
+ &:focus {
1684
+ outline: none;
1685
+ }
1686
+
1687
+ &:before {
1688
+ content: 'Speaker notes';
1689
+ display: block;
1690
+ margin-bottom: 10px;
1691
+ opacity: 0.5;
1692
+ }
1693
+ }
1694
+
1695
+
1696
+ .reveal.show-notes {
1697
+ max-width: 75vw;
1698
+ overflow: visible;
1428
1699
  }
1429
1700
 
1430
- .reveal .speaker-notes.visible:not(:empty) {
1701
+ .reveal.show-notes .speaker-notes {
1431
1702
  display: block;
1432
1703
  }
1433
1704
 
1434
- @media screen and (max-width: 1024px) {
1705
+ @media screen and (min-width: 1600px) {
1435
1706
  .reveal .speaker-notes {
1436
- font-size: 14px;
1707
+ font-size: 20px;
1708
+ }
1709
+ }
1710
+
1711
+ @media screen and (max-width: 1024px) {
1712
+ .reveal.show-notes {
1713
+ border-left: 0;
1714
+ max-width: none;
1715
+ max-height: 70%;
1716
+ overflow: visible;
1717
+ }
1718
+
1719
+ .reveal.show-notes .speaker-notes {
1720
+ top: 100%;
1721
+ left: 0;
1722
+ width: 100%;
1723
+ height: (30/0.7)*1%;
1437
1724
  }
1438
1725
  }
1439
1726
 
1440
1727
  @media screen and (max-width: 600px) {
1728
+ .reveal.show-notes {
1729
+ max-height: 60%;
1730
+ }
1731
+
1732
+ .reveal.show-notes .speaker-notes {
1733
+ top: 100%;
1734
+ height: (40/0.6)*1%;
1735
+ }
1736
+
1441
1737
  .reveal .speaker-notes {
1442
- width: 90%;
1443
- left: 5%;
1738
+ font-size: 14px;
1444
1739
  }
1445
1740
  }
1446
1741