view release on metacpan or search on metacpan
share/revealjs/css/reveal.scss view on Meta::CPAN
1041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092@include
transition-global(none) {
transform: none;
transition: none;
}
/*********************************************
* PAUSED MODE
*********************************************/
.reveal .pause-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: black;
visibility: hidden;
opacity: 0;
z-
index
: 100;
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 {
visibility: visible;
opacity: 1;
}
/*********************************************
* FALLBACK
*********************************************/
.reveal .
no
-transition,
share/revealjs/css/reveal.scss view on Meta::CPAN
14201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589}
.reveal.
has
-parallax-background[data-transition-speed=
"slow"
] .backgrounds {
transition-duration: 1200ms;
}
/*********************************************
* OVERLAY FOR LINK PREVIEWS AND HELP
*********************************************/
$overlayHeaderHeight
: 40px;
$overlayHeaderPadding
: 5px;
.reveal > .overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-
index
: 1000;
background: rgba( 0, 0, 0, 0.9 );
transition: all 0.3s ease;
}
.reveal > .overlay .spinner {
position: absolute;
display: block;
top: 50%;
left: 50%;
width: 32px;
height: 32px;
margin: -16px 0 0 -16px;
z-
index
: 10;
background-image: url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52...
visibility: visible;
opacity: 0.6;
transition: all 0.3s ease;
}
.reveal > .overlay header {
position: absolute;
left: 0;
top: 0;
width: 100%;
padding:
$overlayHeaderPadding
;
z-
index
: 2;
box-sizing: border-box;
}
.reveal > .overlay header a {
display: inline-block;
width:
$overlayHeaderHeight
;
height:
$overlayHeaderHeight
;
line-height: 36px;
padding: 0 10px;
float: right;
opacity: 0.6;
box-sizing: border-box;
}
.reveal > .overlay header a:hover {
opacity: 1;
}
.reveal > .overlay header a .icon {
display: inline-block;
width: 20px;
height: 20px;
background-position: 50% 50%;
background-size: 100%;
background-repeat:
no
-repeat;
}
.reveal > .overlay header a.
close
.icon {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1...
}
.reveal > .overlay header a.external .icon {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod...
}
.reveal > .overlay .viewport {
position: absolute;
display: flex;
top:
$overlayHeaderHeight
+
$overlayHeaderPadding
*2;
right: 0;
bottom: 0;
left: 0;
}
.reveal > .overlay.overlay-preview .viewport iframe {
width: 100%;
height: 100%;
max-width: 100%;
max-height: 100%;
border: 0;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}
.reveal > .overlay.overlay-preview.loaded .viewport iframe {
opacity: 1;
visibility: visible;
}
.reveal > .overlay.overlay-preview.loaded .viewport-inner {
position: absolute;
z-
index
: -1;
left: 0;
top: 45%;
width: 100%;
text-align: center;
letter-spacing: normal;
}
.reveal > .overlay.overlay-preview .x-frame-error {
opacity: 0;
transition: opacity 0.3s ease 0.3s;
}
.reveal > .overlay.overlay-preview.loaded .x-frame-error {
opacity: 1;
}
.reveal > .overlay.overlay-preview.loaded .spinner {
opacity: 0;
visibility: hidden;
transform: scale(0.2);
}
.reveal > .overlay.overlay-help .viewport {
overflow: auto;
color:
#fff;
}
.reveal > .overlay.overlay-help .viewport .viewport-inner {
width: 600px;
margin: auto;
padding: 20px 20px 80px 20px;
text-align: center;
letter-spacing: normal;
}
.reveal > .overlay.overlay-help .viewport .viewport-inner .title {
font-size: 20px;
}
.reveal > .overlay.overlay-help .viewport .viewport-inner table {
border: 1px solid
#fff;
border-collapse: collapse;
font-size: 16px;
}
.reveal > .overlay.overlay-help .viewport .viewport-inner table th,
.reveal > .overlay.overlay-help .viewport .viewport-inner table td {
width: 200px;
padding: 14px;
border: 1px solid
#fff;
vertical-align: middle;
}
.reveal > .overlay.overlay-help .viewport .viewport-inner table th {
padding-top: 20px;
padding-bottom: 20px;
}
/*********************************************
* PLAYBACK COMPONENT
*********************************************/
.reveal .playback {
share/revealjs/dist/reveal.css view on Meta::CPAN
12345678/*!
* reveal.js 4.3.1
* MIT licensed
*
* Copyright (C) 2011-2022 Hakim El Hattab, https://hakim.se
*/
.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal pre.r-stretch code,.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}.reveal .r-fit-text{display:inline-block;white-space:nowrap}.reveal .r-stack{disp...
share/revealjs/dist/reveal.esm.js view on Meta::CPAN
123456789/*!
* reveal.js 4.3.1
* MIT licensed
*
* Copyright (C) 2011-2022 Hakim El Hattab, https://hakim.se
*/
const e=(e,t)=>{
for
(let i in t)e[i]=t[i];
return
e},t=(e,t)=>Array.from(e.querySelectorAll(t)),i=(e,t,i)=>{i?e.classList.add(t):e.classList.remove(t)},a=
e
=>{
if
(
"string"
==typeof e){
if
(
"null"
===e)
return
null;
if
(
"true"
===e)
return
!0;
if
(
"false"
===e)
return
!...
//
# sourceMappingURL=reveal.esm.js.map
share/revealjs/dist/reveal.esm.js.map view on Meta::CPAN
1{
"version"
:3,
"file"
:
"reveal.esm.js"
,
"sources"
:[
"../js/utils/util.js"
,
"../js/utils/device.js"
,
"../node_modules/fitty/dist/fitty.module.js"
,
"../js/controllers/slidecontent.js"
,
"../js/controllers/slidenumber.js"
,
"../js/utils/color.js"
,"../js/controllers...
share/revealjs/dist/reveal.js view on Meta::CPAN
123456789/*!
* reveal.js 4.3.1
* MIT licensed
*
* Copyright (C) 2011-2022 Hakim El Hattab, https://hakim.se
*/
!function(e,t){
"object"
==typeof exports&&
"undefined"
!=typeof module?module.exports=t():
"function"
==typeof define&
&define
.amd?define(t):(e=
"undefined"
!=typeof globalThis?globalThis:e||self).Reveal=t()}(this,(function(){
"use strict"
;var e=
"undefined"
!=...
//
# sourceMappingURL=reveal.js.map
share/revealjs/dist/reveal.js.map view on Meta::CPAN
1{
"version"
:3,
"file"
:
"reveal.js"
,
"sources"
:[
"../node_modules/core-js/internals/global.js"
,
"../node_modules/core-js/internals/fails.js"
,
"../node_modules/core-js/internals/descriptors.js"
,"../node_modules/core-js/internals/object-property-is-enumerable....
share/revealjs/js/config.js view on Meta::CPAN
129130131132133134135136137138139140141142143144145146147148149fragments: true,
// Flags whether to include the current fragment in the URL,
// so that reloading brings you to the same fragment position
fragmentInURL: true,
// Flags
if
the presentation is running in an embedded mode,
// i.e. contained within a limited portion of the screen
embedded: false,
// Flags
if
we should show a help overlay
when
the question-mark
// key is pressed
help: true,
// Flags
if
it should be possible to pause the presentation (blackout)
pause: true,
// Flags
if
speaker notes should be visible to all viewers
showNotes: false,
// Flags
if
slides
with
data-visibility=
"hidden"
should be kep visible
share/revealjs/js/config.js view on Meta::CPAN
207208209210211212213214215216217218219220221222223224225226autoSlideMethod: null,
// Specify the average
time
in seconds that you think you will spend
// presenting
each
slide. This is used to show a pacing timer in the
// speaker view
defaultTiming: null,
// Enable slide navigation via mouse wheel
mouseWheel: false,
// Opens links in an iframe preview overlay
// Add `data-preview-
link
` and `data-preview-
link
=
"false"
` to customise
each
link
// individually
previewLinks: false,
// Exposes the reveal.js API through window.postMessage
postMessage: true,
// Dispatches all reveal.js events to the parent window through postMessage
postMessageEvents: false,
share/revealjs/js/controllers/keyboard.js view on Meta::CPAN
104105106107108109110111112113114115116117118119120121122123*
*
@param
{
int
} keyCode
*/
triggerKey( keyCode ) {
this.onDocumentKeyDown( { keyCode } );
}
/**
* Registers a new shortcut to include in the help overlay
*
*
@param
{String} key
*
@param
{String} value
*/
registerKeyboardShortcut( key, value ) {
this.shortcuts[key] = value;
}
share/revealjs/js/reveal.js view on Meta::CPAN
276277278279280281282283284285286287288289290291292293294295296
dom.wrapper.classList.remove(
'no-hover'
);
}
backgrounds.render();
slideNumber.render();
controls.render();
progress.render();
notes.render();
// Overlay graphic which is displayed during the paused mode
dom.pauseOverlay = Util.createSingletonNode( dom.wrapper,
'div'
,
'pause-overlay'
, config.controls ?
'<button class="resume-button">Resume presentation</button>'
: null );
dom.statusElement = createStatusElement();
dom.wrapper.setAttribute(
'role'
,
'application'
);
}
/**
* Creates a hidden div
with
role aria-live to announce the
* current slide content. Hide the div off-screen to make it
* available only to Assistive Technologies.
share/revealjs/js/reveal.js view on Meta::CPAN
723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856/**
* Opens a preview window
for
the target URL.
*
*
@param
{string} url - url
for
preview iframe src
*/
function showPreview( url ) {
closeOverlay();
dom.overlay = document.createElement(
'div'
);
dom.overlay.classList.add(
'overlay'
);
dom.overlay.classList.add(
'overlay-preview'
);
dom.wrapper.appendChild( dom.overlay );
dom.overlay.innerHTML =
`<header>
<a class=
"close"
href=
"#"
><span class=
"icon"
></span></a>
<a class=
"external"
href=
"${url}"
target=
"_blank"
><span class=
"icon"
></span></a>
</header>
<div class=
"spinner"
></div>
<div class=
"viewport"
>
<iframe src=
"${url}"
></iframe>
<small class=
"viewport-inner"
>
<span class=
"x-frame-error"
>Unable to load iframe. This is likely due to the site's policy (x-frame-options).</span>
</small>
</div>`;
dom.overlay.querySelector(
'iframe'
).addEventListener(
'load'
,
event
=> {
dom.overlay.classList.add(
'loaded'
);
}, false );
dom.overlay.querySelector(
'.close'
).addEventListener(
'click'
,
event
=> {
closeOverlay();
event.preventDefault();
}, false );
dom.overlay.querySelector(
'.external'
).addEventListener(
'click'
,
event
=> {
closeOverlay();
}, false );
}
/**
* Open or
close
help overlay window.
*
*
@param
{Boolean} [
override
] Flag which overrides the
* toggle logic and forcibly sets the desired state. True means
* help is
open
, false means it's closed.
*/
function toggleHelp(
override
){
if
( typeof
override
===
'boolean'
) {
override
? showHelp() : closeOverlay();
}
else
{
if
( dom.overlay ) {
closeOverlay();
}
else
{
showHelp();
}
}
}
/**
* Opens an overlay window
with
help material.
*/
function showHelp() {
if
( config.help ) {
closeOverlay();
dom.overlay = document.createElement(
'div'
);
dom.overlay.classList.add(
'overlay'
);
dom.overlay.classList.add(
'overlay-help'
);
dom.wrapper.appendChild( dom.overlay );
let html =
'<p class="title">Keyboard Shortcuts</p><br/>'
;
let shortcuts = keyboard.getShortcuts(),
bindings = keyboard.getBindings();
html +=
'<table><th>KEY</th><th>ACTION</th>'
;
for
( let key in shortcuts ) {
html += `<
tr
><td>${key}</td><td>${shortcuts[ key ]}</td></
tr
>`;
}
// Add custom key bindings that have associated descriptions
for
( let binding in bindings ) {
if
( bindings[binding].key && bindings[binding].description ) {
html += `<
tr
><td>${bindings[binding].key}</td><td>${bindings[binding].description}</td></
tr
>`;
}
}
html +=
'</table>'
;
dom.overlay.innerHTML = `
<header>
<a class=
"close"
href=
"#"
><span class=
"icon"
></span></a>
</header>
<div class=
"viewport"
>
<div class=
"viewport-inner"
>${html}</div>
</div>
`;
dom.overlay.querySelector(
'.close'
).addEventListener(
'click'
,
event
=> {
closeOverlay();
event.preventDefault();
}, false );
}
}
/**
* Closes any currently
open
overlay.
*/
function closeOverlay() {
if
( dom.overlay ) {
dom.overlay.parentNode.removeChild( dom.overlay );
dom.overlay = null;
return
true;
}
return
false;
}
/**
* Applies JavaScript-controlled layout rules to the
* presentation.
share/revealjs/js/reveal.js view on Meta::CPAN
254625472548254925502551255225532554255525562557255825592560256125622563256425652566
setTimeout( () => {
Reveal.layout();
Reveal.focus.focus(); // focus.focus :'(
}, 1 );
}
}
/**
* Handles clicks on links that are set to preview in the
* iframe overlay.
*
*
@param
{object} event
*/
function onPreviewLinkClicked( event ) {
if
( event.currentTarget && event.currentTarget.hasAttribute(
'href'
) ) {
let url = event.currentTarget.getAttribute(
'href'
);
if
( url ) {
showPreview( url );
event.preventDefault();
share/revealjs/js/reveal.js view on Meta::CPAN
263926402641264226432644264526462647264826492650265126522653265426552656265726582659// Randomizes the order of slides
shuffle,
// Returns an object
with
the available routes as booleans (left/right/top/bottom)
availableRoutes,
// Returns an object
with
the available fragments as booleans (prev/
next
)
availableFragments: fragments.availableRoutes.
bind
( fragments ),
// Toggles a help overlay
with
keyboard shortcuts
toggleHelp,
// Toggles the overview mode on/off
toggleOverview: overview.toggle.
bind
( overview ),
// Toggles the
"black screen"
mode on/off
togglePause,
// Toggles the auto slide mode on/off
toggleAutoSlide,
share/revealjs/js/reveal.js view on Meta::CPAN
27392740274127422743274427452746274727482749275027512752275327542755275627572758hasNavigatedHorizontally: () => navigationHistory.hasNavigatedHorizontally,
hasNavigatedVertically: () => navigationHistory.hasNavigatedVertically,
// Adds/removes a custom key binding
addKeyBinding: keyboard.addKeyBinding.
bind
( keyboard ),
removeKeyBinding: keyboard.removeKeyBinding.
bind
( keyboard ),
// Programmatically triggers a keyboard event
triggerKey: keyboard.triggerKey.
bind
( keyboard ),
// Registers a new shortcut to include in the help overlay
registerKeyboardShortcut: keyboard.registerKeyboardShortcut.
bind
( keyboard ),
getComputedSlideSize,
// Returns the current scale of the presentation content
getScale: () => scale,
// Returns the current configuration object
getConfig: () => config,
share/revealjs/plugin/highlight/highlight.esm.js view on Meta::CPAN
12345function e(t){
return
(e=
"function"
==typeof Symbol&&
"symbol"
==typeof Symbol.iterator?function(e){
return
typeof e}:function(e){
return
e&&
"function"
==typeof Symbol&
&e
.constructor===Symbol&
&e
!==Symbol.
prototype
?
"symbol"
:typeof e})(t)}function t(e,t){
if
(!(...
/*!
* reveal.js plugin that adds syntax highlight support.
*/
var of={id:
"highlight"
,HIGHLIGHT_STEP_DELIMITER:
"|"
,HIGHLIGHT_LINE_DELIMITER:
","
,HIGHLIGHT_LINE_RANGE_DELIMITER:
"-"
,hljs:rf,init:function(e){var t=e.getConfig().highlight||{};t.highlightOnLoad=
"boolean"
!=typeof t.highlightOnLoad||t.highlightOnLoad,t....
share/revealjs/plugin/highlight/highlight.js view on Meta::CPAN
12345!function(e,t){
"object"
==typeof exports&&
"undefined"
!=typeof module?module.exports=t():
"function"
==typeof define&
&define
.amd?define(t):(e=
"undefined"
!=typeof globalThis?globalThis:e||self).RevealHighlight=t()}(this,(function(){
"use strict"
;function e...
/*!
* reveal.js plugin that adds syntax highlight support.
*/
var LT={id:
"highlight"
,HIGHLIGHT_STEP_DELIMITER:
"|"
,HIGHLIGHT_LINE_DELIMITER:
","
,HIGHLIGHT_LINE_RANGE_DELIMITER:
"-"
,hljs:MT,init:function(e){var t=e.getConfig().highlight||{};t.highlightOnLoad=
"boolean"
!=typeof t.highlightOnLoad||t.highlightOnLoad,t....
share/revealjs/plugin/notes/notes.esm.js view on Meta::CPAN
1var t=
"undefined"
!=typeof globalThis?globalThis:
"undefined"
!=typeof window?window:
"undefined"
!=typeof global?global:
"undefined"
!=typeof self?self:{},e=function(t){
return
t&
&t
.Math==Math&
&t
},n=e(
"object"
==typeof globalThis&
&globalThis
)||e(
"object"
==ty...
share/revealjs/plugin/notes/notes.js view on Meta::CPAN
1!function(t,e){
"object"
==typeof exports&&
"undefined"
!=typeof module?module.exports=e():
"function"
==typeof define&
&define
.amd?define(e):(t=
"undefined"
!=typeof globalThis?globalThis:t||self).RevealNotes=e()}(this,(function(){
"use strict"
;var t="undefin...
share/revealjs/plugin/notes/speaker-view.html view on Meta::CPAN
45464748495051525354555657585960616263646566676869707172737475
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 {
height: 34px;
line-height: 34px;
padding: 0 10px;
text-shadow: none;
background: rgba( 220, 220, 220, 0.8 );
color:
#222;
font-size: 14px;
}
.overlay-element.interactive:hover {
background: rgba( 220, 220, 220, 1 );
}
#current-slide {
position: absolute;
width: 60%;
height: 100%;
top: 0;
left: 0;
padding-right: 0;
share/revealjs/plugin/notes/speaker-view.html view on Meta::CPAN
302303304305306307308309310311312313314315316317318319320321322
}
</style>
</head>
<body>
<div id=
"connection-status"
>Loading speaker view...</div>
<div id=
"current-slide"
></div>
<div id=
"upcoming-slide"
><span class=
"overlay-element label"
>Upcoming</span></div>
<div id=
"speaker-controls"
>
<div class=
"speaker-controls-time"
>
<h4 class=
"label"
>Time <span class=
"reset-button"
>Click to Reset</span></h4>
<div class=
"clock"
>
<span class=
"clock-value"
>0:00 AM</span>
</div>
<div class=
"timer"
>
<span class=
"hours-value"
>00</span><span class=
"minutes-value"
>:00</span><span class=
"seconds-value"
>:00</span>
</div>
<div class=
"clear"
></div>
share/revealjs/plugin/notes/speaker-view.html view on Meta::CPAN
325326327328329330331332333334335336337338339340341342343344345
<div class=
"pacing"
style=
"display: none"
>
<span class=
"hours-value"
>00</span><span class=
"minutes-value"
>:00</span><span class=
"seconds-value"
>:00</span>
</div>
</div>
<div class=
"speaker-controls-notes hidden"
>
<h4 class=
"label"
>Notes</h4>
<div class=
"value"
></div>
</div>
</div>
<div id=
"speaker-layout"
class=
"overlay-element interactive"
>
<span class=
"speaker-layout-label"
></span>
<
select
class=
"speaker-layout-dropdown"
></
select
>
</div>
<script>
(function() {
var notes,
notesValue,
share/revealjs/test/test.html view on Meta::CPAN
402403404405406407408409410411412413414415416417418419420421QUnit.test(
'Add key bindings'
, function( assert ) {
var done = assert.async( 1 );
Reveal.addKeyBinding({keyCode: 88, key:
'X'
, description:
'X-SHORTCUT-X'
}, function() {
assert.ok( true,
'callback triggered'
);
done();
} );
Reveal.toggleHelp( true );
assert.ok( /X\-SHORTCUT\-X/.test( document.body.innerHTML ),
'binding is added to help overlay'
);
Reveal.toggleHelp( false );
triggerKeyboardEvent({ keyCode: 88 });
Reveal.removeKeyBinding( 88 );
// should
do
nothing
triggerKeyboardEvent({ keyCode: 88 });
});