mirror of
https://github.com/hakimel/reveal.js.git
synced 2025-08-16 03:24:29 +02:00
3.7.0
This commit is contained in:
@@ -72,15 +72,8 @@ ul, ol, div, p {
|
|||||||
overflow: visible;
|
overflow: visible;
|
||||||
display: block;
|
display: block;
|
||||||
|
|
||||||
-webkit-perspective: none;
|
perspective: none;
|
||||||
-moz-perspective: none;
|
perspective-origin: 50% 50%;
|
||||||
-ms-perspective: none;
|
|
||||||
perspective: none;
|
|
||||||
|
|
||||||
-webkit-perspective-origin: 50% 50%; /* there isn't a none/auto value but 50-50 is the default */
|
|
||||||
-moz-perspective-origin: 50% 50%;
|
|
||||||
-ms-perspective-origin: 50% 50%;
|
|
||||||
perspective-origin: 50% 50%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.reveal .slides .pdf-page {
|
.reveal .slides .pdf-page {
|
||||||
@@ -103,15 +96,8 @@ ul, ol, div, p {
|
|||||||
|
|
||||||
opacity: 1 !important;
|
opacity: 1 !important;
|
||||||
|
|
||||||
-webkit-transform-style: flat !important;
|
transform-style: flat !important;
|
||||||
-moz-transform-style: flat !important;
|
transform: none !important;
|
||||||
-ms-transform-style: flat !important;
|
|
||||||
transform-style: flat !important;
|
|
||||||
|
|
||||||
-webkit-transform: none !important;
|
|
||||||
-moz-transform: none !important;
|
|
||||||
-ms-transform: none !important;
|
|
||||||
transform: none !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.reveal section.stack {
|
.reveal section.stack {
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
/*!
|
/*!
|
||||||
* reveal.js
|
* reveal.js
|
||||||
* http://lab.hakim.se/reveal-js
|
* http://revealjs.com
|
||||||
* MIT licensed
|
* MIT licensed
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017 Hakim El Hattab, http://hakim.se
|
* Copyright (C) 2018 Hakim El Hattab, http://hakim.se
|
||||||
*/
|
*/
|
||||||
/*********************************************
|
/*********************************************
|
||||||
* RESET STYLES
|
* RESET STYLES
|
||||||
@@ -127,13 +127,25 @@ body {
|
|||||||
-webkit-transform: translate(0, 0);
|
-webkit-transform: translate(0, 0);
|
||||||
transform: translate(0, 0); }
|
transform: translate(0, 0); }
|
||||||
|
|
||||||
|
.reveal .slides section .fragment.fade-in-then-out,
|
||||||
.reveal .slides section .fragment.current-visible {
|
.reveal .slides section .fragment.current-visible {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
visibility: hidden; }
|
visibility: hidden; }
|
||||||
|
.reveal .slides section .fragment.fade-in-then-out.current-fragment,
|
||||||
.reveal .slides section .fragment.current-visible.current-fragment {
|
.reveal .slides section .fragment.current-visible.current-fragment {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
visibility: inherit; }
|
visibility: inherit; }
|
||||||
|
|
||||||
|
.reveal .slides section .fragment.fade-in-then-semi-out {
|
||||||
|
opacity: 0;
|
||||||
|
visibility: hidden; }
|
||||||
|
.reveal .slides section .fragment.fade-in-then-semi-out.visible {
|
||||||
|
opacity: 0.5;
|
||||||
|
visibility: inherit; }
|
||||||
|
.reveal .slides section .fragment.fade-in-then-semi-out.current-fragment {
|
||||||
|
opacity: 1;
|
||||||
|
visibility: inherit; }
|
||||||
|
|
||||||
.reveal .slides section .fragment.highlight-red,
|
.reveal .slides section .fragment.highlight-red,
|
||||||
.reveal .slides section .fragment.highlight-current-red,
|
.reveal .slides section .fragment.highlight-current-red,
|
||||||
.reveal .slides section .fragment.highlight-green,
|
.reveal .slides section .fragment.highlight-green,
|
||||||
@@ -448,7 +460,7 @@ body {
|
|||||||
* SLIDE NUMBER
|
* SLIDE NUMBER
|
||||||
*********************************************/
|
*********************************************/
|
||||||
.reveal .slide-number {
|
.reveal .slide-number {
|
||||||
position: fixed;
|
position: absolute;
|
||||||
display: block;
|
display: block;
|
||||||
right: 8px;
|
right: 8px;
|
||||||
bottom: 8px;
|
bottom: 8px;
|
||||||
@@ -460,6 +472,9 @@ body {
|
|||||||
background-color: rgba(0, 0, 0, 0.4);
|
background-color: rgba(0, 0, 0, 0.4);
|
||||||
padding: 5px; }
|
padding: 5px; }
|
||||||
|
|
||||||
|
.reveal .slide-number a {
|
||||||
|
color: currentColor; }
|
||||||
|
|
||||||
.reveal .slide-number-delimiter {
|
.reveal .slide-number-delimiter {
|
||||||
margin: 0 3px; }
|
margin: 0 3px; }
|
||||||
|
|
||||||
@@ -528,7 +543,8 @@ body {
|
|||||||
|
|
||||||
.reveal .slides > section.stack {
|
.reveal .slides > section.stack {
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
padding-bottom: 0; }
|
padding-bottom: 0;
|
||||||
|
pointer-events: none; }
|
||||||
|
|
||||||
.reveal .slides > section.present,
|
.reveal .slides > section.present,
|
||||||
.reveal .slides > section > section.present {
|
.reveal .slides > section > section.present {
|
||||||
@@ -948,6 +964,21 @@ body {
|
|||||||
z-index: 100;
|
z-index: 100;
|
||||||
transition: all 1s ease; }
|
transition: all 1s ease; }
|
||||||
|
|
||||||
|
.reveal .pause-overlay .resume-button {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 20px;
|
||||||
|
right: 20px;
|
||||||
|
color: #ccc;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px 14px;
|
||||||
|
border: 2px solid #ccc;
|
||||||
|
font-size: 16px;
|
||||||
|
background: transparent;
|
||||||
|
cursor: pointer; }
|
||||||
|
.reveal .pause-overlay .resume-button:hover {
|
||||||
|
color: #fff;
|
||||||
|
border-color: #fff; }
|
||||||
|
|
||||||
.reveal.paused .pause-overlay {
|
.reveal.paused .pause-overlay {
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
opacity: 1; }
|
opacity: 1; }
|
||||||
@@ -1011,10 +1042,15 @@ body {
|
|||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
|
transition: all 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
||||||
|
|
||||||
|
.reveal .slide-background-content {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
background-position: 50% 50%;
|
background-position: 50% 50%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: cover;
|
background-size: cover; }
|
||||||
transition: all 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
|
||||||
|
|
||||||
.reveal .slide-background.stack {
|
.reveal .slide-background.stack {
|
||||||
display: block; }
|
display: block; }
|
||||||
|
7
css/reveal.min.css
vendored
Normal file
7
css/reveal.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1,9 +1,9 @@
|
|||||||
/*!
|
/*!
|
||||||
* reveal.js
|
* reveal.js
|
||||||
* http://lab.hakim.se/reveal-js
|
* http://revealjs.com
|
||||||
* MIT licensed
|
* MIT licensed
|
||||||
*
|
*
|
||||||
* Copyright (C) 2017 Hakim El Hattab, http://hakim.se
|
* Copyright (C) 2018 Hakim El Hattab, http://hakim.se
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@@ -160,6 +160,7 @@ body {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.reveal .slides section .fragment.fade-in-then-out,
|
||||||
.reveal .slides section .fragment.current-visible {
|
.reveal .slides section .fragment.current-visible {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
@@ -170,6 +171,21 @@ body {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.reveal .slides section .fragment.fade-in-then-semi-out {
|
||||||
|
opacity: 0;
|
||||||
|
visibility: hidden;
|
||||||
|
|
||||||
|
&.visible {
|
||||||
|
opacity: 0.5;
|
||||||
|
visibility: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.current-fragment {
|
||||||
|
opacity: 1;
|
||||||
|
visibility: inherit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.reveal .slides section .fragment.highlight-red,
|
.reveal .slides section .fragment.highlight-red,
|
||||||
.reveal .slides section .fragment.highlight-current-red,
|
.reveal .slides section .fragment.highlight-current-red,
|
||||||
.reveal .slides section .fragment.highlight-green,
|
.reveal .slides section .fragment.highlight-green,
|
||||||
@@ -540,7 +556,7 @@ $controlsArrowAngleActive: 36deg;
|
|||||||
*********************************************/
|
*********************************************/
|
||||||
|
|
||||||
.reveal .slide-number {
|
.reveal .slide-number {
|
||||||
position: fixed;
|
position: absolute;
|
||||||
display: block;
|
display: block;
|
||||||
right: 8px;
|
right: 8px;
|
||||||
bottom: 8px;
|
bottom: 8px;
|
||||||
@@ -553,6 +569,10 @@ $controlsArrowAngleActive: 36deg;
|
|||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.reveal .slide-number a {
|
||||||
|
color: currentColor;
|
||||||
|
}
|
||||||
|
|
||||||
.reveal .slide-number-delimiter {
|
.reveal .slide-number-delimiter {
|
||||||
margin: 0 3px;
|
margin: 0 3px;
|
||||||
}
|
}
|
||||||
@@ -636,6 +656,7 @@ $controlsArrowAngleActive: 36deg;
|
|||||||
.reveal .slides>section.stack {
|
.reveal .slides>section.stack {
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
padding-bottom: 0;
|
padding-bottom: 0;
|
||||||
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.reveal .slides>section.present,
|
.reveal .slides>section.present,
|
||||||
@@ -1013,6 +1034,25 @@ $controlsArrowAngleActive: 36deg;
|
|||||||
z-index: 100;
|
z-index: 100;
|
||||||
transition: all 1s ease;
|
transition: all 1s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.reveal .pause-overlay .resume-button {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 20px;
|
||||||
|
right: 20px;
|
||||||
|
color: #ccc;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px 14px;
|
||||||
|
border: 2px solid #ccc;
|
||||||
|
font-size: 16px;
|
||||||
|
background: transparent;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: #fff;
|
||||||
|
border-color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.reveal.paused .pause-overlay {
|
.reveal.paused .pause-overlay {
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
@@ -1086,11 +1126,18 @@ $controlsArrowAngleActive: 36deg;
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
background-color: rgba( 0, 0, 0, 0 );
|
background-color: rgba( 0, 0, 0, 0 );
|
||||||
|
|
||||||
|
transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
|
||||||
|
}
|
||||||
|
|
||||||
|
.reveal .slide-background-content {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
background-position: 50% 50%;
|
background-position: 50% 50%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
|
|
||||||
transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.reveal .slide-background.stack {
|
.reveal .slide-background.stack {
|
||||||
|
@@ -4,7 +4,7 @@ Themes are written using Sass to keep things modular and reduce the need for rep
|
|||||||
|
|
||||||
## Creating a Theme
|
## Creating a Theme
|
||||||
|
|
||||||
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`.
|
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 `npm run build -- css-themes`.
|
||||||
|
|
||||||
Each theme file does four things in the following order:
|
Each theme file does four things in the following order:
|
||||||
|
|
||||||
|
@@ -34,8 +34,8 @@ body {
|
|||||||
background: rgba(79, 64, 28, 0.99);
|
background: rgba(79, 64, 28, 0.99);
|
||||||
text-shadow: none; }
|
text-shadow: none; }
|
||||||
|
|
||||||
.reveal .slides > section,
|
.reveal .slides section,
|
||||||
.reveal .slides > section > section {
|
.reveal .slides section > section {
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: inherit; }
|
font-weight: inherit; }
|
||||||
|
|
||||||
@@ -193,10 +193,12 @@ body {
|
|||||||
border-bottom: none; }
|
border-bottom: none; }
|
||||||
|
|
||||||
.reveal sup {
|
.reveal sup {
|
||||||
vertical-align: super; }
|
vertical-align: super;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal sub {
|
.reveal sub {
|
||||||
vertical-align: sub; }
|
vertical-align: sub;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal small {
|
.reveal small {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -266,3 +268,10 @@ body {
|
|||||||
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: #f7f3de; } }
|
||||||
|
@@ -30,8 +30,8 @@ body {
|
|||||||
background: #bee4fd;
|
background: #bee4fd;
|
||||||
text-shadow: none; }
|
text-shadow: none; }
|
||||||
|
|
||||||
.reveal .slides > section,
|
.reveal .slides section,
|
||||||
.reveal .slides > section > section {
|
.reveal .slides section > section {
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: inherit; }
|
font-weight: inherit; }
|
||||||
|
|
||||||
@@ -189,10 +189,12 @@ body {
|
|||||||
border-bottom: none; }
|
border-bottom: none; }
|
||||||
|
|
||||||
.reveal sup {
|
.reveal sup {
|
||||||
vertical-align: super; }
|
vertical-align: super;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal sub {
|
.reveal sub {
|
||||||
vertical-align: sub; }
|
vertical-align: sub;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal small {
|
.reveal small {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -262,3 +264,10 @@ body {
|
|||||||
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: #222; } }
|
||||||
|
@@ -33,8 +33,8 @@ body {
|
|||||||
background: #a23;
|
background: #a23;
|
||||||
text-shadow: none; }
|
text-shadow: none; }
|
||||||
|
|
||||||
.reveal .slides > section,
|
.reveal .slides section,
|
||||||
.reveal .slides > section > section {
|
.reveal .slides section > section {
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: inherit; }
|
font-weight: inherit; }
|
||||||
|
|
||||||
@@ -192,10 +192,12 @@ body {
|
|||||||
border-bottom: none; }
|
border-bottom: none; }
|
||||||
|
|
||||||
.reveal sup {
|
.reveal sup {
|
||||||
vertical-align: super; }
|
vertical-align: super;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal sub {
|
.reveal sub {
|
||||||
vertical-align: sub; }
|
vertical-align: sub;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal small {
|
.reveal small {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -266,6 +268,13 @@ body {
|
|||||||
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: #222; } }
|
||||||
|
|
||||||
.reveal p {
|
.reveal p {
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
text-shadow: 1px 1px #222; }
|
text-shadow: 1px 1px #222; }
|
||||||
|
@@ -36,8 +36,8 @@ body {
|
|||||||
background: #FF5E99;
|
background: #FF5E99;
|
||||||
text-shadow: none; }
|
text-shadow: none; }
|
||||||
|
|
||||||
.reveal .slides > section,
|
.reveal .slides section,
|
||||||
.reveal .slides > section > section {
|
.reveal .slides section > section {
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: inherit; }
|
font-weight: inherit; }
|
||||||
|
|
||||||
@@ -195,10 +195,12 @@ body {
|
|||||||
border-bottom: none; }
|
border-bottom: none; }
|
||||||
|
|
||||||
.reveal sup {
|
.reveal sup {
|
||||||
vertical-align: super; }
|
vertical-align: super;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal sub {
|
.reveal sub {
|
||||||
vertical-align: sub; }
|
vertical-align: sub;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal small {
|
.reveal small {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -268,3 +270,10 @@ body {
|
|||||||
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: #2b2b2b; } }
|
||||||
|
@@ -34,8 +34,8 @@ body {
|
|||||||
background: #d33682;
|
background: #d33682;
|
||||||
text-shadow: none; }
|
text-shadow: none; }
|
||||||
|
|
||||||
.reveal .slides > section,
|
.reveal .slides section,
|
||||||
.reveal .slides > section > section {
|
.reveal .slides section > section {
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: inherit; }
|
font-weight: inherit; }
|
||||||
|
|
||||||
@@ -193,10 +193,12 @@ body {
|
|||||||
border-bottom: none; }
|
border-bottom: none; }
|
||||||
|
|
||||||
.reveal sup {
|
.reveal sup {
|
||||||
vertical-align: super; }
|
vertical-align: super;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal sub {
|
.reveal sub {
|
||||||
vertical-align: sub; }
|
vertical-align: sub;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal small {
|
.reveal small {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -266,3 +268,10 @@ body {
|
|||||||
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: #002b36; } }
|
||||||
|
@@ -28,8 +28,8 @@ body {
|
|||||||
background: #e7ad52;
|
background: #e7ad52;
|
||||||
text-shadow: none; }
|
text-shadow: none; }
|
||||||
|
|
||||||
.reveal .slides > section,
|
.reveal .slides section,
|
||||||
.reveal .slides > section > section {
|
.reveal .slides section > section {
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: inherit; }
|
font-weight: inherit; }
|
||||||
|
|
||||||
@@ -187,10 +187,12 @@ body {
|
|||||||
border-bottom: none; }
|
border-bottom: none; }
|
||||||
|
|
||||||
.reveal sup {
|
.reveal sup {
|
||||||
vertical-align: super; }
|
vertical-align: super;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal sub {
|
.reveal sub {
|
||||||
vertical-align: sub; }
|
vertical-align: sub;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal small {
|
.reveal small {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -260,3 +262,10 @@ body {
|
|||||||
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: #111; } }
|
||||||
|
@@ -30,8 +30,8 @@ body {
|
|||||||
background: #26351C;
|
background: #26351C;
|
||||||
text-shadow: none; }
|
text-shadow: none; }
|
||||||
|
|
||||||
.reveal .slides > section,
|
.reveal .slides section,
|
||||||
.reveal .slides > section > section {
|
.reveal .slides section > section {
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: inherit; }
|
font-weight: inherit; }
|
||||||
|
|
||||||
@@ -189,10 +189,12 @@ body {
|
|||||||
border-bottom: none; }
|
border-bottom: none; }
|
||||||
|
|
||||||
.reveal sup {
|
.reveal sup {
|
||||||
vertical-align: super; }
|
vertical-align: super;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal sub {
|
.reveal sub {
|
||||||
vertical-align: sub; }
|
vertical-align: sub;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal small {
|
.reveal small {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -262,3 +264,10 @@ body {
|
|||||||
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: #F0F1EB; } }
|
||||||
|
@@ -33,8 +33,8 @@ body {
|
|||||||
background: rgba(0, 0, 0, 0.99);
|
background: rgba(0, 0, 0, 0.99);
|
||||||
text-shadow: none; }
|
text-shadow: none; }
|
||||||
|
|
||||||
.reveal .slides > section,
|
.reveal .slides section,
|
||||||
.reveal .slides > section > section {
|
.reveal .slides section > section {
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: inherit; }
|
font-weight: inherit; }
|
||||||
|
|
||||||
@@ -192,10 +192,12 @@ body {
|
|||||||
border-bottom: none; }
|
border-bottom: none; }
|
||||||
|
|
||||||
.reveal sup {
|
.reveal sup {
|
||||||
vertical-align: super; }
|
vertical-align: super;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal sub {
|
.reveal sub {
|
||||||
vertical-align: sub; }
|
vertical-align: sub;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal small {
|
.reveal small {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -265,3 +267,10 @@ body {
|
|||||||
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: #fff; } }
|
||||||
|
@@ -37,8 +37,8 @@ body {
|
|||||||
background: #134674;
|
background: #134674;
|
||||||
text-shadow: none; }
|
text-shadow: none; }
|
||||||
|
|
||||||
.reveal .slides > section,
|
.reveal .slides section,
|
||||||
.reveal .slides > section > section {
|
.reveal .slides section > section {
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: inherit; }
|
font-weight: inherit; }
|
||||||
|
|
||||||
@@ -196,10 +196,12 @@ body {
|
|||||||
border-bottom: none; }
|
border-bottom: none; }
|
||||||
|
|
||||||
.reveal sup {
|
.reveal sup {
|
||||||
vertical-align: super; }
|
vertical-align: super;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal sub {
|
.reveal sub {
|
||||||
vertical-align: sub; }
|
vertical-align: sub;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal small {
|
.reveal small {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -269,3 +271,10 @@ body {
|
|||||||
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: #f7fbfc; } }
|
||||||
|
@@ -34,8 +34,8 @@ body {
|
|||||||
background: #d33682;
|
background: #d33682;
|
||||||
text-shadow: none; }
|
text-shadow: none; }
|
||||||
|
|
||||||
.reveal .slides > section,
|
.reveal .slides section,
|
||||||
.reveal .slides > section > section {
|
.reveal .slides section > section {
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: inherit; }
|
font-weight: inherit; }
|
||||||
|
|
||||||
@@ -193,10 +193,12 @@ body {
|
|||||||
border-bottom: none; }
|
border-bottom: none; }
|
||||||
|
|
||||||
.reveal sup {
|
.reveal sup {
|
||||||
vertical-align: super; }
|
vertical-align: super;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal sub {
|
.reveal sub {
|
||||||
vertical-align: sub; }
|
vertical-align: sub;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal small {
|
.reveal small {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -266,3 +268,10 @@ body {
|
|||||||
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: #fdf6e3; } }
|
||||||
|
@@ -28,8 +28,8 @@ body {
|
|||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.reveal .slides>section,
|
.reveal .slides section,
|
||||||
.reveal .slides>section>section {
|
.reveal .slides section>section {
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: inherit;
|
font-weight: inherit;
|
||||||
}
|
}
|
||||||
@@ -217,9 +217,11 @@ body {
|
|||||||
|
|
||||||
.reveal sup {
|
.reveal sup {
|
||||||
vertical-align: super;
|
vertical-align: super;
|
||||||
|
font-size: smaller;
|
||||||
}
|
}
|
||||||
.reveal sub {
|
.reveal sub {
|
||||||
vertical-align: sub;
|
vertical-align: sub;
|
||||||
|
font-size: smaller;
|
||||||
}
|
}
|
||||||
|
|
||||||
.reveal small {
|
.reveal small {
|
||||||
@@ -310,7 +312,14 @@ body {
|
|||||||
.reveal .progress span {
|
.reveal .progress span {
|
||||||
-webkit-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
|
-webkit-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
|
||||||
-moz-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
|
-moz-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
|
||||||
transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
|
transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: $backgroundColor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -30,8 +30,8 @@ body {
|
|||||||
background: #98bdef;
|
background: #98bdef;
|
||||||
text-shadow: none; }
|
text-shadow: none; }
|
||||||
|
|
||||||
.reveal .slides > section,
|
.reveal .slides section,
|
||||||
.reveal .slides > section > section {
|
.reveal .slides section > section {
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: inherit; }
|
font-weight: inherit; }
|
||||||
|
|
||||||
@@ -189,10 +189,12 @@ body {
|
|||||||
border-bottom: none; }
|
border-bottom: none; }
|
||||||
|
|
||||||
.reveal sup {
|
.reveal sup {
|
||||||
vertical-align: super; }
|
vertical-align: super;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal sub {
|
.reveal sub {
|
||||||
vertical-align: sub; }
|
vertical-align: sub;
|
||||||
|
font-size: smaller; }
|
||||||
|
|
||||||
.reveal small {
|
.reveal small {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -262,3 +264,10 @@ body {
|
|||||||
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
-moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
|
||||||
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
|
||||||
|
|
||||||
|
/*********************************************
|
||||||
|
* PRINT BACKGROUND
|
||||||
|
*********************************************/
|
||||||
|
@media print {
|
||||||
|
.backgrounds {
|
||||||
|
background-color: #fff; } }
|
||||||
|
696
js/reveal.js
696
js/reveal.js
File diff suppressed because it is too large
Load Diff
9
js/reveal.min.js
vendored
Normal file
9
js/reveal.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -99,6 +99,13 @@
|
|||||||
</script>
|
</script>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<!-- Images -->
|
||||||
|
<section data-markdown>
|
||||||
|
<script type="text/template">
|
||||||
|

|
||||||
|
</script>
|
||||||
|
</section>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@@ -29,3 +29,8 @@ Content 3.1
|
|||||||
## External 3.2
|
## External 3.2
|
||||||
|
|
||||||
Content 3.2
|
Content 3.2
|
||||||
|
|
||||||
|
|
||||||
|
## External 3.3
|
||||||
|
|
||||||
|

|
||||||
|
@@ -9,15 +9,15 @@ var RevealMath = window.RevealMath || (function(){
|
|||||||
var options = Reveal.getConfig().math || {};
|
var options = Reveal.getConfig().math || {};
|
||||||
options.mathjax = options.mathjax || 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js';
|
options.mathjax = options.mathjax || 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js';
|
||||||
options.config = options.config || 'TeX-AMS_HTML-full';
|
options.config = options.config || 'TeX-AMS_HTML-full';
|
||||||
|
options.tex2jax = options.tex2jax || {
|
||||||
|
inlineMath: [['$','$'],['\\(','\\)']] ,
|
||||||
|
skipTags: ['script','noscript','style','textarea','pre'] };
|
||||||
|
|
||||||
loadScript( options.mathjax + '?config=' + options.config, function() {
|
loadScript( options.mathjax + '?config=' + options.config, function() {
|
||||||
|
|
||||||
MathJax.Hub.Config({
|
MathJax.Hub.Config({
|
||||||
messageStyle: 'none',
|
messageStyle: 'none',
|
||||||
tex2jax: {
|
tex2jax: options.tex2jax,
|
||||||
inlineMath: [['$','$'],['\\(','\\)']] ,
|
|
||||||
skipTags: ['script','noscript','style','textarea','pre']
|
|
||||||
},
|
|
||||||
skipStartupTypeset: true
|
skipStartupTypeset: true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
"name": "reveal-js-multiplex",
|
"name": "reveal-js-multiplex",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "reveal.js multiplex server",
|
"description": "reveal.js multiplex server",
|
||||||
"homepage": "http://lab.hakim.se/reveal-js",
|
"homepage": "http://revealjs.com",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node index.js"
|
"start": "node index.js"
|
||||||
},
|
},
|
||||||
|
@@ -34,6 +34,22 @@
|
|||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#connection-status {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: 20;
|
||||||
|
padding: 30% 20% 20% 20%;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #222;
|
||||||
|
background: #fff;
|
||||||
|
text-align: center;
|
||||||
|
box-sizing: border-box;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
.overlay-element {
|
.overlay-element {
|
||||||
height: 34px;
|
height: 34px;
|
||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
@@ -288,6 +304,8 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
<div id="connection-status">Loading speaker view...</div>
|
||||||
|
|
||||||
<div id="current-slide"></div>
|
<div id="current-slide"></div>
|
||||||
<div id="upcoming-slide"><span class="overlay-element label">Upcoming</span></div>
|
<div id="upcoming-slide"><span class="overlay-element label">Upcoming</span></div>
|
||||||
<div id="speaker-controls">
|
<div id="speaker-controls">
|
||||||
@@ -340,8 +358,16 @@
|
|||||||
|
|
||||||
setupLayout();
|
setupLayout();
|
||||||
|
|
||||||
|
var connectionStatus = document.querySelector( '#connection-status' );
|
||||||
|
var connectionTimeout = setTimeout( function() {
|
||||||
|
connectionStatus.innerHTML = 'Error connecting to main window.<br>Please try closing and reopening the speaker view.';
|
||||||
|
}, 5000 );
|
||||||
|
|
||||||
window.addEventListener( 'message', function( event ) {
|
window.addEventListener( 'message', function( event ) {
|
||||||
|
|
||||||
|
clearTimeout( connectionTimeout );
|
||||||
|
connectionStatus.style.display = 'none';
|
||||||
|
|
||||||
var data = JSON.parse( event.data );
|
var data = JSON.parse( event.data );
|
||||||
|
|
||||||
// The overview mode is only useful to the reveal.js instance
|
// The overview mode is only useful to the reveal.js instance
|
||||||
@@ -427,10 +453,17 @@
|
|||||||
* Forward keyboard events to the current slide window.
|
* Forward keyboard events to the current slide window.
|
||||||
* This enables keyboard events to work even if focus
|
* This enables keyboard events to work even if focus
|
||||||
* isn't set on the current slide iframe.
|
* isn't set on the current slide iframe.
|
||||||
|
*
|
||||||
|
* Block F5 default handling, it reloads and disconnects
|
||||||
|
* the speaker notes window.
|
||||||
*/
|
*/
|
||||||
function setupKeyboard() {
|
function setupKeyboard() {
|
||||||
|
|
||||||
document.addEventListener( 'keydown', function( event ) {
|
document.addEventListener( 'keydown', function( event ) {
|
||||||
|
if( event.keyCode === 116 || ( event.metaKey && event.keyCode === 82 ) ) {
|
||||||
|
event.preventDefault();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'triggerKey', args: [ event.keyCode ] }), '*' );
|
currentSlide.contentWindow.postMessage( JSON.stringify({ method: 'triggerKey', args: [ event.keyCode ] }), '*' );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
@@ -21,8 +21,13 @@ var RevealNotes = (function() {
|
|||||||
|
|
||||||
var notesPopup = window.open( notesFilePath, 'reveal.js - Notes', 'width=1100,height=700' );
|
var notesPopup = window.open( notesFilePath, 'reveal.js - Notes', 'width=1100,height=700' );
|
||||||
|
|
||||||
|
if( !notesPopup ) {
|
||||||
|
alert( 'Speaker view popup failed to open. Please make sure popups are allowed and reopen the speaker view.' );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Allow popup window access to Reveal API
|
// Allow popup window access to Reveal API
|
||||||
notesPopup.Reveal = this.Reveal;
|
notesPopup.Reveal = window.Reveal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Connect to the notes window through a postmessage handshake.
|
* Connect to the notes window through a postmessage handshake.
|
||||||
@@ -131,22 +136,9 @@ var RevealNotes = (function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Open the notes when the 's' key is hit
|
// Open the notes when the 's' key is hit
|
||||||
document.addEventListener( 'keydown', function( event ) {
|
Reveal.addKeyBinding({keyCode: 83, key: 'S', description: 'Speaker notes view'}, function() {
|
||||||
// Disregard the event if the target is editable or a
|
openNotes();
|
||||||
// modifier is present
|
} );
|
||||||
if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return;
|
|
||||||
|
|
||||||
// Disregard the event if keyboard is disabled
|
|
||||||
if ( Reveal.getConfig().keyboard === false ) return;
|
|
||||||
|
|
||||||
if( event.keyCode === 83 ) {
|
|
||||||
event.preventDefault();
|
|
||||||
openNotes();
|
|
||||||
}
|
|
||||||
}, false );
|
|
||||||
|
|
||||||
// Show our keyboard shortcut in the reveal.js help overlay
|
|
||||||
if( window.Reveal ) Reveal.registerKeyboardShortcut( 'S', 'Speaker notes view' );
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
* phantomjs script for printing presentations to PDF.
|
* phantomjs script for printing presentations to PDF.
|
||||||
*
|
*
|
||||||
* Example:
|
* Example:
|
||||||
* phantomjs print-pdf.js "http://lab.hakim.se/reveal-js?print-pdf" reveal-demo.pdf
|
* phantomjs print-pdf.js "http://revealjs.com?print-pdf" reveal-demo.pdf
|
||||||
*
|
*
|
||||||
* @author Manuel Bieh (https://github.com/manuelbieh)
|
* @author Manuel Bieh (https://github.com/manuelbieh)
|
||||||
* @author Hakim El Hattab (https://github.com/hakimel)
|
* @author Hakim El Hattab (https://github.com/hakimel)
|
||||||
@@ -42,28 +42,26 @@ probePage.open( inputFile, function( status ) {
|
|||||||
|
|
||||||
printPage.open( inputFile, function( status ) {
|
printPage.open( inputFile, function( status ) {
|
||||||
console.log( 'Export PDF: Preparing pdf [3/4]')
|
console.log( 'Export PDF: Preparing pdf [3/4]')
|
||||||
printPage.evaluate(function() {
|
printPage.evaluate( function() {
|
||||||
Reveal.isReady() ? window.callPhantom() : Reveal.addEventListener( 'pdf-ready', window.callPhantom );
|
Reveal.isReady() ? window.callPhantom() : Reveal.addEventListener( 'pdf-ready', window.callPhantom );
|
||||||
});
|
} );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
printPage.onCallback = function(data) {
|
printPage.onCallback = function( data ) {
|
||||||
// For some reason we need to "jump the queue" for syntax highlighting to work.
|
// For some reason we need to "jump the queue" for syntax highlighting to work.
|
||||||
// See: http://stackoverflow.com/a/3580132/129269
|
// See: http://stackoverflow.com/a/3580132/129269
|
||||||
setTimeout(function() {
|
setTimeout( function() {
|
||||||
console.log( 'Export PDF: Writing file [4/4]' );
|
console.log( 'Export PDF: Writing file [4/4]' );
|
||||||
printPage.render( outputFile );
|
printPage.render( outputFile );
|
||||||
console.log( 'Export PDF: Finished successfully!' );
|
console.log( 'Export PDF: Finished successfully!' );
|
||||||
phantom.exit();
|
phantom.exit();
|
||||||
}, 0);
|
}, 0 );
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
console.log( 'Export PDF: Unable to read reveal.js config. Make sure the input address points to a reveal.js page.' );
|
console.log( 'Export PDF: Unable to read reveal.js config. Make sure the input address points to a reveal.js page.' );
|
||||||
phantom.exit(1);
|
phantom.exit( 1 );
|
||||||
|
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
@@ -19,92 +19,92 @@ var RevealSearch = (function() {
|
|||||||
function Hilitor(id, tag)
|
function Hilitor(id, tag)
|
||||||
{
|
{
|
||||||
|
|
||||||
var targetNode = document.getElementById(id) || document.body;
|
var targetNode = document.getElementById(id) || document.body;
|
||||||
var hiliteTag = tag || "EM";
|
var hiliteTag = tag || "EM";
|
||||||
var skipTags = new RegExp("^(?:" + hiliteTag + "|SCRIPT|FORM)$");
|
var skipTags = new RegExp("^(?:" + hiliteTag + "|SCRIPT|FORM)$");
|
||||||
var colors = ["#ff6", "#a0ffff", "#9f9", "#f99", "#f6f"];
|
var colors = ["#ff6", "#a0ffff", "#9f9", "#f99", "#f6f"];
|
||||||
var wordColor = [];
|
var wordColor = [];
|
||||||
var colorIdx = 0;
|
var colorIdx = 0;
|
||||||
var matchRegex = "";
|
var matchRegex = "";
|
||||||
var matchingSlides = [];
|
var matchingSlides = [];
|
||||||
|
|
||||||
this.setRegex = function(input)
|
this.setRegex = function(input)
|
||||||
{
|
{
|
||||||
input = input.replace(/^[^\w]+|[^\w]+$/g, "").replace(/[^\w'-]+/g, "|");
|
input = input.replace(/^[^\w]+|[^\w]+$/g, "").replace(/[^\w'-]+/g, "|");
|
||||||
matchRegex = new RegExp("(" + input + ")","i");
|
matchRegex = new RegExp("(" + input + ")","i");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.getRegex = function()
|
this.getRegex = function()
|
||||||
{
|
{
|
||||||
return matchRegex.toString().replace(/^\/\\b\(|\)\\b\/i$/g, "").replace(/\|/g, " ");
|
return matchRegex.toString().replace(/^\/\\b\(|\)\\b\/i$/g, "").replace(/\|/g, " ");
|
||||||
}
|
}
|
||||||
|
|
||||||
// recursively apply word highlighting
|
// recursively apply word highlighting
|
||||||
this.hiliteWords = function(node)
|
this.hiliteWords = function(node)
|
||||||
{
|
{
|
||||||
if(node == undefined || !node) return;
|
if(node == undefined || !node) return;
|
||||||
if(!matchRegex) return;
|
if(!matchRegex) return;
|
||||||
if(skipTags.test(node.nodeName)) return;
|
if(skipTags.test(node.nodeName)) return;
|
||||||
|
|
||||||
if(node.hasChildNodes()) {
|
if(node.hasChildNodes()) {
|
||||||
for(var i=0; i < node.childNodes.length; i++)
|
for(var i=0; i < node.childNodes.length; i++)
|
||||||
this.hiliteWords(node.childNodes[i]);
|
this.hiliteWords(node.childNodes[i]);
|
||||||
}
|
}
|
||||||
if(node.nodeType == 3) { // NODE_TEXT
|
if(node.nodeType == 3) { // NODE_TEXT
|
||||||
if((nv = node.nodeValue) && (regs = matchRegex.exec(nv))) {
|
if((nv = node.nodeValue) && (regs = matchRegex.exec(nv))) {
|
||||||
//find the slide's section element and save it in our list of matching slides
|
//find the slide's section element and save it in our list of matching slides
|
||||||
var secnode = node;
|
var secnode = node;
|
||||||
while (secnode != null && secnode.nodeName != 'SECTION') {
|
while (secnode != null && secnode.nodeName != 'SECTION') {
|
||||||
secnode = secnode.parentNode;
|
secnode = secnode.parentNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
var slideIndex = Reveal.getIndices(secnode);
|
var slideIndex = Reveal.getIndices(secnode);
|
||||||
var slidelen = matchingSlides.length;
|
var slidelen = matchingSlides.length;
|
||||||
var alreadyAdded = false;
|
var alreadyAdded = false;
|
||||||
for (var i=0; i < slidelen; i++) {
|
for (var i=0; i < slidelen; i++) {
|
||||||
if ( (matchingSlides[i].h === slideIndex.h) && (matchingSlides[i].v === slideIndex.v) ) {
|
if ( (matchingSlides[i].h === slideIndex.h) && (matchingSlides[i].v === slideIndex.v) ) {
|
||||||
alreadyAdded = true;
|
alreadyAdded = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (! alreadyAdded) {
|
if (! alreadyAdded) {
|
||||||
matchingSlides.push(slideIndex);
|
matchingSlides.push(slideIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!wordColor[regs[0].toLowerCase()]) {
|
if(!wordColor[regs[0].toLowerCase()]) {
|
||||||
wordColor[regs[0].toLowerCase()] = colors[colorIdx++ % colors.length];
|
wordColor[regs[0].toLowerCase()] = colors[colorIdx++ % colors.length];
|
||||||
}
|
}
|
||||||
|
|
||||||
var match = document.createElement(hiliteTag);
|
var match = document.createElement(hiliteTag);
|
||||||
match.appendChild(document.createTextNode(regs[0]));
|
match.appendChild(document.createTextNode(regs[0]));
|
||||||
match.style.backgroundColor = wordColor[regs[0].toLowerCase()];
|
match.style.backgroundColor = wordColor[regs[0].toLowerCase()];
|
||||||
match.style.fontStyle = "inherit";
|
match.style.fontStyle = "inherit";
|
||||||
match.style.color = "#000";
|
match.style.color = "#000";
|
||||||
|
|
||||||
var after = node.splitText(regs.index);
|
var after = node.splitText(regs.index);
|
||||||
after.nodeValue = after.nodeValue.substring(regs[0].length);
|
after.nodeValue = after.nodeValue.substring(regs[0].length);
|
||||||
node.parentNode.insertBefore(match, after);
|
node.parentNode.insertBefore(match, after);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// remove highlighting
|
// remove highlighting
|
||||||
this.remove = function()
|
this.remove = function()
|
||||||
{
|
{
|
||||||
var arr = document.getElementsByTagName(hiliteTag);
|
var arr = document.getElementsByTagName(hiliteTag);
|
||||||
while(arr.length && (el = arr[0])) {
|
while(arr.length && (el = arr[0])) {
|
||||||
el.parentNode.replaceChild(el.firstChild, el);
|
el.parentNode.replaceChild(el.firstChild, el);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// start highlighting at target node
|
// start highlighting at target node
|
||||||
this.apply = function(input)
|
this.apply = function(input)
|
||||||
{
|
{
|
||||||
if(input == undefined || !input) return;
|
if(input == undefined || !input) return;
|
||||||
this.remove();
|
this.remove();
|
||||||
this.setRegex(input);
|
this.setRegex(input);
|
||||||
this.hiliteWords(targetNode);
|
this.hiliteWords(targetNode);
|
||||||
return matchingSlides;
|
return matchingSlides;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,7 +150,7 @@ function Hilitor(id, tag)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (matchedSlides) {
|
if (matchedSlides) {
|
||||||
//navigate to the next slide that has the keyword, wrapping to the first if necessary
|
//navigate to the next slide that has the keyword, wrapping to the first if necessary
|
||||||
if (matchedSlides.length && (matchedSlides.length <= currentMatchedIndex)) {
|
if (matchedSlides.length && (matchedSlides.length <= currentMatchedIndex)) {
|
||||||
currentMatchedIndex = 0;
|
currentMatchedIndex = 0;
|
||||||
@@ -169,20 +169,20 @@ function Hilitor(id, tag)
|
|||||||
var searchElement = document.createElement( 'div' );
|
var searchElement = document.createElement( 'div' );
|
||||||
searchElement.id = "searchinputdiv";
|
searchElement.id = "searchinputdiv";
|
||||||
searchElement.classList.add( 'searchdiv' );
|
searchElement.classList.add( 'searchdiv' );
|
||||||
searchElement.style.position = 'absolute';
|
searchElement.style.position = 'absolute';
|
||||||
searchElement.style.top = '10px';
|
searchElement.style.top = '10px';
|
||||||
searchElement.style.right = '10px';
|
searchElement.style.right = '10px';
|
||||||
searchElement.style.zIndex = 10;
|
searchElement.style.zIndex = 10;
|
||||||
//embedded base64 search icon Designed by Sketchdock - http://www.sketchdock.com/:
|
//embedded base64 search icon Designed by Sketchdock - http://www.sketchdock.com/:
|
||||||
searchElement.innerHTML = '<span><input type="search" id="searchinput" class="searchinput" style="vertical-align: top;"/><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJiSURBVHjatFZNaxNBGH5md+Mmu92NVdKDRipSAyqCghgQD4L4cRe86UUtAQ+eFCxoa4/25EXBFi8eBE+eRPoDhB6KgiiixdAPCEkx2pjvTXadd9yNsflwuyUDD/O+u8PzzDPvzOwyx3EwyCZhwG3gAkp7MnpjgbopjsltcD4gjuXZZKeAR348MYLYTm3LzOs/y3j3JTfZxgXWXmTuwPHIc4VmoOmv5IrI53+AO2DdHLjkDWQ3GoEEVFXtXQOvkSnPWcyUceviLhwbDYv8/XIVj97kse7TodLvZXxYxrPUHkQ1ufXs3FEdybEIxucySOesoNvUgWU1cP3MkCBfTFdw9fGaAMVmRELq7LBw2Q3/FaAxxWIRpw+ZIr/7IouPqzUBiqmdHAv7EuhRAwf1er2Vy4x1jW3b2d5Jfvu5IPp7l2LYbcgCFFNb+FoJ7oBqEAqFMPNqFcmEgVMJDfMT+1tvN0pNjERlMS6QA5pFOKxiKVPFhakPeL3It+WGJUDxt2wFR+JhzI7v5ctkd8DXOZAkCYYxhO+lKm4+Xfqz/rIixBuNBl7eOYzkQQNzqX249mRl6zUgEcYkaJrGhUwBinVdh6IouPzwE6/DL5w4oLkH8y981aDf+uq6hlKpJESiUdNfDZi7/ehG9K6KfiA3pml0PLcsq+cSMTj2NL9ukc4UOmz7AZ3+crkC4mHujFvXNaMFB3bEr8xPS6p5O+jXxq4VZtaen7/PwzrntjcLUE0iHPS1Ud1cdiEJl/8WivZk0wXd7zWOMkeF8s0CcAmkNrC2nvXZDbbbN73ccYnZoH9bfgswAFzAe9/h3dbKAAAAAElFTkSuQmCC" id="searchbutton" class="searchicon" style="vertical-align: top; margin-top: -1px;"/></span>';
|
searchElement.innerHTML = '<span><input type="search" id="searchinput" class="searchinput" style="vertical-align: top;"/><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJiSURBVHjatFZNaxNBGH5md+Mmu92NVdKDRipSAyqCghgQD4L4cRe86UUtAQ+eFCxoa4/25EXBFi8eBE+eRPoDhB6KgiiixdAPCEkx2pjvTXadd9yNsflwuyUDD/O+u8PzzDPvzOwyx3EwyCZhwG3gAkp7MnpjgbopjsltcD4gjuXZZKeAR348MYLYTm3LzOs/y3j3JTfZxgXWXmTuwPHIc4VmoOmv5IrI53+AO2DdHLjkDWQ3GoEEVFXtXQOvkSnPWcyUceviLhwbDYv8/XIVj97kse7TodLvZXxYxrPUHkQ1ufXs3FEdybEIxucySOesoNvUgWU1cP3MkCBfTFdw9fGaAMVmRELq7LBw2Q3/FaAxxWIRpw+ZIr/7IouPqzUBiqmdHAv7EuhRAwf1er2Vy4x1jW3b2d5Jfvu5IPp7l2LYbcgCFFNb+FoJ7oBqEAqFMPNqFcmEgVMJDfMT+1tvN0pNjERlMS6QA5pFOKxiKVPFhakPeL3It+WGJUDxt2wFR+JhzI7v5ctkd8DXOZAkCYYxhO+lKm4+Xfqz/rIixBuNBl7eOYzkQQNzqX249mRl6zUgEcYkaJrGhUwBinVdh6IouPzwE6/DL5w4oLkH8y981aDf+uq6hlKpJESiUdNfDZi7/ehG9K6KfiA3pml0PLcsq+cSMTj2NL9ukc4UOmz7AZ3+crkC4mHujFvXNaMFB3bEr8xPS6p5O+jXxq4VZtaen7/PwzrntjcLUE0iHPS1Ud1cdiEJl/8WivZk0wXd7zWOMkeF8s0CcAmkNrC2nvXZDbbbN73ccYnZoH9bfgswAFzAe9/h3dbKAAAAAElFTkSuQmCC" id="searchbutton" class="searchicon" style="vertical-align: top; margin-top: -1px;"/></span>';
|
||||||
dom.wrapper.appendChild( searchElement );
|
dom.wrapper.appendChild( searchElement );
|
||||||
}
|
}
|
||||||
|
|
||||||
document.getElementById("searchbutton").addEventListener( 'click', function(event) {
|
document.getElementById( 'searchbutton' ).addEventListener( 'click', function(event) {
|
||||||
doSearch();
|
doSearch();
|
||||||
}, false );
|
}, false );
|
||||||
|
|
||||||
document.getElementById("searchinput").addEventListener( 'keyup', function( event ) {
|
document.getElementById( 'searchinput' ).addEventListener( 'keyup', function( event ) {
|
||||||
switch (event.keyCode) {
|
switch (event.keyCode) {
|
||||||
case 13:
|
case 13:
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
@@ -195,7 +195,7 @@ function Hilitor(id, tag)
|
|||||||
}, false );
|
}, false );
|
||||||
|
|
||||||
document.addEventListener( 'keydown', function( event ) {
|
document.addEventListener( 'keydown', function( event ) {
|
||||||
if( event.key == "F" && (event.ctrlKey || event.metaKey) ) {//Control+Shift+f
|
if( event.key == "F" && (event.ctrlKey || event.metaKey) ) { //Control+Shift+f
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
toggleSearch();
|
toggleSearch();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user