mirror of
https://github.com/hakimel/reveal.js.git
synced 2025-08-06 14:47:04 +02:00
rebuild assets and fix issues after master rebase
This commit is contained in:
@@ -19,7 +19,7 @@ $active-color: #a23;
|
||||
$code-background-color: #23241f;
|
||||
|
||||
// Inject theme variables (with some overrides)
|
||||
@use 'template/variables' with (
|
||||
@use 'template/settings' with (
|
||||
$background-color: $coal,
|
||||
|
||||
$main-font: 'Ubuntu, sans-serif',
|
||||
|
@@ -1,5 +1,3 @@
|
||||
@use "sass:color";
|
||||
|
||||
// Base settings for all themes that can optionally be
|
||||
// overridden by the super-theme
|
||||
|
||||
|
84
dist/config.d.ts
vendored
84
dist/config.d.ts
vendored
@@ -1,84 +0,0 @@
|
||||
type RevealConfig = {
|
||||
width: number | string;
|
||||
height: number | string;
|
||||
margin: number;
|
||||
minScale: number;
|
||||
maxScale: number;
|
||||
controls: boolean;
|
||||
controlsTutorial: boolean;
|
||||
controlsLayout: 'edges' | 'bottom-right';
|
||||
controlsBackArrows: 'faded' | 'hidden' | 'visible';
|
||||
progress: boolean;
|
||||
slideNumber: boolean | 'h.v' | 'h/v' | 'c' | 'c/t' | ((slide: any) => string | [string, string, string]);
|
||||
showSlideNumber: 'all' | 'print' | 'speaker';
|
||||
hashOneBasedIndex: boolean;
|
||||
hash: boolean;
|
||||
respondToHashChanges: boolean;
|
||||
jumpToSlide: boolean;
|
||||
history: boolean;
|
||||
keyboard: boolean;
|
||||
keyboardCondition: null | 'focused' | ((event: KeyboardEvent) => boolean);
|
||||
disableLayout: boolean;
|
||||
overview: boolean;
|
||||
center: boolean;
|
||||
touch: boolean;
|
||||
loop: boolean;
|
||||
rtl: boolean;
|
||||
navigationMode: 'default' | 'linear' | 'grid';
|
||||
shuffle: boolean;
|
||||
fragments: boolean;
|
||||
fragmentInURL: boolean;
|
||||
embedded: boolean;
|
||||
help: boolean;
|
||||
pause: boolean;
|
||||
showNotes: boolean;
|
||||
showHiddenSlides: boolean;
|
||||
autoPlayMedia: null | boolean;
|
||||
preloadIframes: null | boolean;
|
||||
autoAnimate: boolean;
|
||||
autoAnimateMatcher: null | Function;
|
||||
autoAnimateEasing: 'ease' | string;
|
||||
autoAnimateDuration: number;
|
||||
autoAnimateUnmatched: boolean;
|
||||
autoAnimateStyles: string[];
|
||||
autoSlide: number | false;
|
||||
autoSlideStoppable: boolean;
|
||||
autoSlideMethod: null | Function;
|
||||
defaultTiming: null;
|
||||
mouseWheel: boolean;
|
||||
previewLinks: boolean;
|
||||
postMessage: boolean;
|
||||
postMessageEvents: boolean;
|
||||
focusBodyOnPageVisibilityChange: boolean;
|
||||
transition: 'none' | 'fade' | 'slide' | 'convex' | 'concave' | 'zoom';
|
||||
transitionSpeed: 'default' | 'fast' | 'slow';
|
||||
backgroundTransition: 'fade' | 'none' | 'slide' | 'convex' | 'concave' | 'zoom';
|
||||
parallaxBackgroundImage: null | string;
|
||||
parallaxBackgroundSize: null | string;
|
||||
parallaxBackgroundRepeat: null | string;
|
||||
parallaxBackgroundPosition: null | string;
|
||||
parallaxBackgroundHorizontal: null | number;
|
||||
parallaxBackgroundVertical: null | number;
|
||||
view: null | 'print' | 'scroll';
|
||||
scrollLayout: 'full' | 'compact';
|
||||
scrollSnap: false | 'proximity' | 'mandatory';
|
||||
scrollProgress: 'auto' | boolean;
|
||||
scrollActivationWidth: number;
|
||||
pdfMaxPagesPerSlide: number;
|
||||
pdfSeparateFragments: boolean;
|
||||
pdfPageHeightOffset: number;
|
||||
viewDistance: number;
|
||||
mobileViewDistance: number;
|
||||
display: string;
|
||||
hideInactiveCursor: boolean;
|
||||
hideCursorTime: number;
|
||||
sortFragmentsOnSync: boolean;
|
||||
dependencies: any[];
|
||||
plugins: any[];
|
||||
};
|
||||
export type PartialRevealConfig = Partial<RevealConfig>;
|
||||
/**
|
||||
* The default reveal.js config object.
|
||||
*/
|
||||
declare const config: RevealConfig;
|
||||
export default config;
|
12
dist/index.d.ts
vendored
12
dist/index.d.ts
vendored
@@ -1,12 +0,0 @@
|
||||
/**
|
||||
* Expose the Reveal class to the window. To create a
|
||||
* new instance:
|
||||
* let deck = new Reveal( document.querySelector( '.reveal' ), {
|
||||
* controls: false
|
||||
* } );
|
||||
* deck.initialize().then(() => {
|
||||
* // reveal.js is ready
|
||||
* });
|
||||
*/
|
||||
declare let Reveal: any;
|
||||
export default Reveal;
|
1
dist/plugin/highlight/zenburn.css
vendored
1
dist/plugin/highlight/zenburn.css
vendored
@@ -70,7 +70,6 @@ based on dark.css by Ivan Sagalaev
|
||||
color: #7f9f7f;
|
||||
}
|
||||
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
|
2
dist/plugin/search.js
vendored
2
dist/plugin/search.js
vendored
@@ -4,4 +4,4 @@
|
||||
*
|
||||
* @author Jon Snyder <snyder.jon@gmail.com>, February 2013
|
||||
*/return()=>{let n,t,i,o,a,g,f;function v(){t=document.createElement("div"),t.classList.add("searchbox"),t.style.position="absolute",t.style.top="10px",t.style.right="10px",t.style.zIndex=10,t.innerHTML=`<input type="search" class="searchinput" placeholder="Search..." style="vertical-align: top;"/>
|
||||
</span>`,i=t.querySelector(".searchinput"),i.style.width="240px",i.style.fontSize="14px",i.style.padding="4px 6px",i.style.color="#000",i.style.background="#fff",i.style.borderRadius="2px",i.style.border="0",i.style.outline="0",i.style.boxShadow="0 2px 18px rgba(0, 0, 0, 0.2)",i.style["-webkit-appearance"]="none",n.getRevealElement().appendChild(t),i.addEventListener("keyup",function(r){switch(r.keyCode){case 13:r.preventDefault(),k(),g=!1;break;default:g=!0}},!1),C()}function w(){t||v(),t.style.display="inline",i.focus(),i.select()}function C(){t||v(),t.style.display="none",f&&f.remove()}function T(){t||v(),t.style.display!=="inline"?w():C()}function k(){if(g){var r=i.value;r===""?(f&&f.remove(),o=null):(f=new L("slidecontent"),o=f.apply(r),a=0)}o&&(o.length&&o.length<=a&&(a=0),o.length>a&&(n.slide(o[a].h,o[a].v),a++))}function L(r,d){var I=document.getElementById(r)||document.body,x=d||"EM",M=new RegExp("^(?:"+x+"|SCRIPT|FORM)$"),E=["#ff6","#a0ffff","#9f9","#f99","#f6f"],m=[],B=0,y="",c=[];this.setRegex=function(e){e=e.trim(),y=new RegExp("("+e+")","i")},this.getRegex=function(){return y.toString().replace(/^\/\\b\(|\)\\b\/i$/g,"").replace(/\|/g," ")},this.hiliteWords=function(e){if(!(e==null||!e)&&y&&!M.test(e.nodeName)){if(e.hasChildNodes())for(var l=0;l<e.childNodes.length;l++)this.hiliteWords(e.childNodes[l]);if(e.nodeType==3){var N,s;if((N=e.nodeValue)&&(s=y.exec(N))){for(var u=e;u!=null&&u.nodeName!="SECTION";)u=u.parentNode;for(var S=n.getIndices(u),D=c.length,R=!1,l=0;l<D;l++)c[l].h===S.h&&c[l].v===S.v&&(R=!0);R||c.push(S),m[s[0].toLowerCase()]||(m[s[0].toLowerCase()]=E[B++%E.length]);var h=document.createElement(x);h.appendChild(document.createTextNode(s[0])),h.style.backgroundColor=m[s[0].toLowerCase()],h.style.fontStyle="inherit",h.style.color="#000";var b=e.splitText(s.index);b.nodeValue=b.nodeValue.substring(s[0].length),e.parentNode.insertBefore(h,b)}}}},this.remove=function(){for(var e=document.getElementsByTagName(x),l;e.length&&(l=e[0]);)l.parentNode.replaceChild(l.firstChild,l)},this.apply=function(e){if(!(e==null||!e))return this.remove(),this.setRegex(e),this.hiliteWords(I),c}}return{id:"search",init:r=>{n=r,n.registerKeyboardShortcut("CTRL + Shift + F","Search"),document.addEventListener("keydown",function(d){d.key=="F"&&(d.ctrlKey||d.metaKey)&&(d.preventDefault(),T())},!1)},open:w}}});
|
||||
</span>`,i=t.querySelector(".searchinput"),i.style.width="240px",i.style.fontSize="14px",i.style.padding="4px 6px",i.style.color="#000",i.style.background="#fff",i.style.borderRadius="2px",i.style.border="0",i.style.outline="0",i.style.boxShadow="0 2px 18px rgba(0, 0, 0, 0.2)",i.style["-webkit-appearance"]="none",n.getRevealElement().appendChild(t),i.addEventListener("keyup",function(r){switch(r.keyCode){case 13:r.preventDefault(),k(),g=!1;break;default:g=!0}},!1),x()}function C(){t||v(),t.style.display="inline",i.focus(),i.select()}function x(){t||v(),t.style.display="none",f&&f.remove()}function E(){t||v(),t.style.display!=="inline"?C():x()}function k(){if(g){var r=i.value;r===""?(f&&f.remove(),o=null):(f=new L("slidecontent"),o=f.apply(r),a=0)}o&&(o.length&&o.length<=a&&(a=0),o.length>a&&(n.slide(o[a].h,o[a].v),a++))}function L(r,c){var I=document.getElementById(r)||document.body,m=c||"EM",M=new RegExp("^(?:"+m+"|SCRIPT|FORM)$"),N=["#ff6","#a0ffff","#9f9","#f99","#f6f"],S=[],B=0,y="",d=[];this.setRegex=function(e){e=e.trim(),y=new RegExp("("+e+")","i")},this.getRegex=function(){return y.toString().replace(/^\/\\b\(|\)\\b\/i$/g,"").replace(/\|/g," ")},this.hiliteWords=function(e){if(!(e==null||!e)&&y&&!M.test(e.nodeName)){if(e.hasChildNodes())for(var l=0;l<e.childNodes.length;l++)this.hiliteWords(e.childNodes[l]);if(e.nodeType==3){var R,s;if((R=e.nodeValue)&&(s=y.exec(R))){for(var u=e;u!=null&&u.nodeName!="SECTION";)u=u.parentNode;for(var b=n.getIndices(u),D=d.length,T=!1,l=0;l<D;l++)d[l].h===b.h&&d[l].v===b.v&&(T=!0);T||d.push(b),S[s[0].toLowerCase()]||(S[s[0].toLowerCase()]=N[B++%N.length]);var h=document.createElement(m);h.appendChild(document.createTextNode(s[0])),h.style.backgroundColor=S[s[0].toLowerCase()],h.style.fontStyle="inherit",h.style.color="#000";var w=e.splitText(s.index);w.nodeValue=w.nodeValue.substring(s[0].length),e.parentNode.insertBefore(h,w)}}}},this.remove=function(){for(var e=document.getElementsByTagName(m),l;e.length&&(l=e[0]);)l.parentNode.replaceChild(l.firstChild,l)},this.apply=function(e){if(!(e==null||!e))return this.remove(),this.setRegex(e),this.hiliteWords(I),d}}return{id:"search",init:r=>{n=r,n.registerKeyboardShortcut("CTRL + Shift + F","Search"),document.addEventListener("keydown",function(c){c.key=="F"&&(c.ctrlKey||c.metaKey)&&(c.preventDefault(),E())},!1)},open:C,close:x,toggle:E}}});
|
||||
|
52
dist/plugin/search.mjs
vendored
52
dist/plugin/search.mjs
vendored
@@ -5,10 +5,10 @@
|
||||
* @author Jon Snyder <snyder.jon@gmail.com>, February 2013
|
||||
*/
|
||||
const D = () => {
|
||||
let c, t, i, n, a, y, s;
|
||||
let c, t, l, n, a, y, s;
|
||||
function g() {
|
||||
t = document.createElement("div"), t.classList.add("searchbox"), t.style.position = "absolute", t.style.top = "10px", t.style.right = "10px", t.style.zIndex = 10, t.innerHTML = `<input type="search" class="searchinput" placeholder="Search..." style="vertical-align: top;"/>
|
||||
</span>`, i = t.querySelector(".searchinput"), i.style.width = "240px", i.style.fontSize = "14px", i.style.padding = "4px 6px", i.style.color = "#000", i.style.background = "#fff", i.style.borderRadius = "2px", i.style.border = "0", i.style.outline = "0", i.style.boxShadow = "0 2px 18px rgba(0, 0, 0, 0.2)", i.style["-webkit-appearance"] = "none", c.getRevealElement().appendChild(t), i.addEventListener("keyup", function(r) {
|
||||
</span>`, l = t.querySelector(".searchinput"), l.style.width = "240px", l.style.fontSize = "14px", l.style.padding = "4px 6px", l.style.color = "#000", l.style.background = "#fff", l.style.borderRadius = "2px", l.style.border = "0", l.style.outline = "0", l.style.boxShadow = "0 2px 18px rgba(0, 0, 0, 0.2)", l.style["-webkit-appearance"] = "none", c.getRevealElement().appendChild(t), l.addEventListener("keyup", function(r) {
|
||||
switch (r.keyCode) {
|
||||
case 13:
|
||||
r.preventDefault(), k(), y = !1;
|
||||
@@ -16,26 +16,26 @@ const D = () => {
|
||||
default:
|
||||
y = !0;
|
||||
}
|
||||
}, !1), w();
|
||||
}
|
||||
function b() {
|
||||
t || g(), t.style.display = "inline", i.focus(), i.select();
|
||||
}, !1), v();
|
||||
}
|
||||
function w() {
|
||||
t || g(), t.style.display = "inline", l.focus(), l.select();
|
||||
}
|
||||
function v() {
|
||||
t || g(), t.style.display = "none", s && s.remove();
|
||||
}
|
||||
function R() {
|
||||
t || g(), t.style.display !== "inline" ? b() : w();
|
||||
function C() {
|
||||
t || g(), t.style.display !== "inline" ? w() : v();
|
||||
}
|
||||
function k() {
|
||||
if (y) {
|
||||
var r = i.value;
|
||||
var r = l.value;
|
||||
r === "" ? (s && s.remove(), n = null) : (s = new T("slidecontent"), n = s.apply(r), a = 0);
|
||||
}
|
||||
n && (n.length && n.length <= a && (a = 0), n.length > a && (c.slide(n[a].h, n[a].v), a++));
|
||||
}
|
||||
function T(r, f) {
|
||||
var L = document.getElementById(r) || document.body, v = f || "EM", I = new RegExp("^(?:" + v + "|SCRIPT|FORM)$"), C = ["#ff6", "#a0ffff", "#9f9", "#f99", "#f6f"], x = [], M = 0, p = "", d = [];
|
||||
var L = document.getElementById(r) || document.body, x = f || "EM", I = new RegExp("^(?:" + x + "|SCRIPT|FORM)$"), E = ["#ff6", "#a0ffff", "#9f9", "#f99", "#f6f"], m = [], M = 0, p = "", d = [];
|
||||
this.setRegex = function(e) {
|
||||
e = e.trim(), p = new RegExp("(" + e + ")", "i");
|
||||
}, this.getRegex = function() {
|
||||
@@ -43,26 +43,26 @@ const D = () => {
|
||||
}, this.hiliteWords = function(e) {
|
||||
if (!(e == null || !e) && p && !I.test(e.nodeName)) {
|
||||
if (e.hasChildNodes())
|
||||
for (var l = 0; l < e.childNodes.length; l++)
|
||||
this.hiliteWords(e.childNodes[l]);
|
||||
for (var i = 0; i < e.childNodes.length; i++)
|
||||
this.hiliteWords(e.childNodes[i]);
|
||||
if (e.nodeType == 3) {
|
||||
var E, o;
|
||||
if ((E = e.nodeValue) && (o = p.exec(E))) {
|
||||
var N, o;
|
||||
if ((N = e.nodeValue) && (o = p.exec(N))) {
|
||||
for (var h = e; h != null && h.nodeName != "SECTION"; )
|
||||
h = h.parentNode;
|
||||
for (var m = c.getIndices(h), B = d.length, N = !1, l = 0; l < B; l++)
|
||||
d[l].h === m.h && d[l].v === m.v && (N = !0);
|
||||
N || d.push(m), x[o[0].toLowerCase()] || (x[o[0].toLowerCase()] = C[M++ % C.length]);
|
||||
var u = document.createElement(v);
|
||||
u.appendChild(document.createTextNode(o[0])), u.style.backgroundColor = x[o[0].toLowerCase()], u.style.fontStyle = "inherit", u.style.color = "#000";
|
||||
var S = e.splitText(o.index);
|
||||
S.nodeValue = S.nodeValue.substring(o[0].length), e.parentNode.insertBefore(u, S);
|
||||
for (var S = c.getIndices(h), B = d.length, R = !1, i = 0; i < B; i++)
|
||||
d[i].h === S.h && d[i].v === S.v && (R = !0);
|
||||
R || d.push(S), m[o[0].toLowerCase()] || (m[o[0].toLowerCase()] = E[M++ % E.length]);
|
||||
var u = document.createElement(x);
|
||||
u.appendChild(document.createTextNode(o[0])), u.style.backgroundColor = m[o[0].toLowerCase()], u.style.fontStyle = "inherit", u.style.color = "#000";
|
||||
var b = e.splitText(o.index);
|
||||
b.nodeValue = b.nodeValue.substring(o[0].length), e.parentNode.insertBefore(u, b);
|
||||
}
|
||||
}
|
||||
}
|
||||
}, this.remove = function() {
|
||||
for (var e = document.getElementsByTagName(v), l; e.length && (l = e[0]); )
|
||||
l.parentNode.replaceChild(l.firstChild, l);
|
||||
for (var e = document.getElementsByTagName(x), i; e.length && (i = e[0]); )
|
||||
i.parentNode.replaceChild(i.firstChild, i);
|
||||
}, this.apply = function(e) {
|
||||
if (!(e == null || !e))
|
||||
return this.remove(), this.setRegex(e), this.hiliteWords(L), d;
|
||||
@@ -72,10 +72,12 @@ const D = () => {
|
||||
id: "search",
|
||||
init: (r) => {
|
||||
c = r, c.registerKeyboardShortcut("CTRL + Shift + F", "Search"), document.addEventListener("keydown", function(f) {
|
||||
f.key == "F" && (f.ctrlKey || f.metaKey) && (f.preventDefault(), R());
|
||||
f.key == "F" && (f.ctrlKey || f.metaKey) && (f.preventDefault(), C());
|
||||
}, !1);
|
||||
},
|
||||
open: b
|
||||
open: w,
|
||||
close: v,
|
||||
toggle: C
|
||||
};
|
||||
};
|
||||
export {
|
||||
|
572
dist/reveal.d.ts
vendored
572
dist/reveal.d.ts
vendored
@@ -1,4 +1,568 @@
|
||||
export {}
|
||||
import Reveal from './index'
|
||||
export default Reveal
|
||||
export {}
|
||||
declare interface Config {
|
||||
/**
|
||||
* The "normal" size of the presentation, aspect ratio will be preserved
|
||||
* when the presentation is scaled to fit different resolutions
|
||||
*
|
||||
* @defaultValue 960
|
||||
*/
|
||||
width?: number | string;
|
||||
/**
|
||||
* The "normal" size of the presentation, aspect ratio will be preserved
|
||||
* when the presentation is scaled to fit different resolutions
|
||||
*
|
||||
* @defaultValue 700
|
||||
*/
|
||||
height?: number | string;
|
||||
/**
|
||||
* Factor of the display size that should remain empty around the content
|
||||
*
|
||||
* @defaultValue 0.04
|
||||
*/
|
||||
margin?: number;
|
||||
/**
|
||||
* Bounds for smallest/largest possible scale to apply to content
|
||||
*
|
||||
* @defaultValue 0.2
|
||||
*/
|
||||
minScale?: number;
|
||||
/**
|
||||
*
|
||||
* @defaultValue 2.0
|
||||
*/
|
||||
maxScale?: number;
|
||||
/**
|
||||
* Display presentation control arrows
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
controls?: boolean;
|
||||
/**
|
||||
* Help the user learn the controls by providing hints, for example by
|
||||
* bouncing the down arrow when they first encounter a vertical slide
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
controlsTutorial?: boolean;
|
||||
/**
|
||||
* Determines where controls appear, "edges" or "bottom-right"
|
||||
*
|
||||
* @defaultValue 'bottom-right'
|
||||
*/
|
||||
controlsLayout?: 'edges' | 'bottom-right';
|
||||
/**
|
||||
* Visibility rule for backwards navigation arrows; "faded", "hidden"
|
||||
* or "visible"
|
||||
*
|
||||
* @defaultValue 'faded'
|
||||
*/
|
||||
controlsBackArrows?: 'faded' | 'hidden' | 'visible';
|
||||
/**
|
||||
* Display a presentation progress bar
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
progress?: boolean;
|
||||
/**
|
||||
* Display the page number of the current slide
|
||||
* - true: Show slide number
|
||||
* - false: Hide slide number
|
||||
*
|
||||
* Can optionally be set as a string that specifies the number formatting:
|
||||
* - "h.v": Horizontal . vertical slide number (default)
|
||||
* - "h/v": Horizontal / vertical slide number
|
||||
* - "c": Flattened slide number
|
||||
* - "c/t": Flattened slide number / total slides
|
||||
*
|
||||
* Alternatively, you can provide a function that returns the slide
|
||||
* number for the current slide. The function should take in a slide
|
||||
* object and return an array with one string [slideNumber] or
|
||||
* three strings [n1,delimiter,n2]. See #formatSlideNumber().
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
slideNumber?: boolean | 'h.v' | 'h/v' | 'c' | 'c/t' | ((slide: any) => string | [string, string, string]);
|
||||
/**
|
||||
* Can be used to limit the contexts in which the slide number appears
|
||||
* - "all": Always show the slide number
|
||||
* - "print": Only when printing to PDF
|
||||
* - "speaker": Only in the speaker view
|
||||
*
|
||||
* @defaultValue 'all'
|
||||
*/
|
||||
showSlideNumber?: 'all' | 'print' | 'speaker';
|
||||
/**
|
||||
* Use 1 based indexing for # links to match slide number (default is zero
|
||||
* based)
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
hashOneBasedIndex?: boolean;
|
||||
/**
|
||||
* Add the current slide number to the URL hash so that reloading the
|
||||
* page/copying the URL will return you to the same slide
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
hash?: boolean;
|
||||
/**
|
||||
* Flags if we should monitor the hash and change slides accordingly
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
respondToHashChanges?: boolean;
|
||||
/**
|
||||
* Enable support for jump-to-slide navigation shortcuts
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
jumpToSlide?: boolean;
|
||||
/**
|
||||
* Push each slide change to the browser history. Implies `hash: true`
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
history?: boolean;
|
||||
/**
|
||||
* Enable keyboard shortcuts for navigation
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
keyboard?: boolean;
|
||||
/**
|
||||
* Optional function that blocks keyboard events when returning false
|
||||
*
|
||||
* If you set this to 'focused', we will only capture keyboard events
|
||||
* for embedded decks when they are in focus
|
||||
*
|
||||
* @defaultValue null
|
||||
*/
|
||||
keyboardCondition?: null | 'focused' | ((event: KeyboardEvent) => boolean);
|
||||
/**
|
||||
* Disables the default reveal.js slide layout (scaling and centering)
|
||||
* so that you can use custom CSS layout
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
disableLayout?: boolean;
|
||||
/**
|
||||
* Enable the slide overview mode
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
overview?: boolean;
|
||||
/**
|
||||
* Vertical centering of slides
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
center?: boolean;
|
||||
/**
|
||||
* Enables touch navigation on devices with touch input
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
touch?: boolean;
|
||||
/**
|
||||
* Loop the presentation
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
loop?: boolean;
|
||||
/**
|
||||
* Change the presentation direction to be RTL
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
rtl?: boolean;
|
||||
/**
|
||||
* Changes the behavior of our navigation directions.
|
||||
*
|
||||
* "default"
|
||||
* Left/right arrow keys step between horizontal slides, up/down
|
||||
* arrow keys step between vertical slides. Space key steps through
|
||||
* all slides (both horizontal and vertical).
|
||||
*
|
||||
* "linear"
|
||||
* Removes the up/down arrows. Left/right arrows step through all
|
||||
* slides (both horizontal and vertical).
|
||||
*
|
||||
* "grid"
|
||||
* When this is enabled, stepping left/right from a vertical stack
|
||||
* to an adjacent vertical stack will land you at the same vertical
|
||||
* index.
|
||||
*
|
||||
* Consider a deck with six slides ordered in two vertical stacks:
|
||||
* 1.1 2.1
|
||||
* 1.2 2.2
|
||||
* 1.3 2.3
|
||||
*
|
||||
* If you're on slide 1.3 and navigate right, you will normally move
|
||||
* from 1.3 -> 2.1. If "grid" is used, the same navigation takes you
|
||||
* from 1.3 -> 2.3.
|
||||
*
|
||||
* @defaultValue 'default'
|
||||
*/
|
||||
navigationMode?: 'default' | 'linear' | 'grid';
|
||||
/**
|
||||
* Randomizes the order of slides each time the presentation loads
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
shuffle?: boolean;
|
||||
/**
|
||||
* Turns fragments on and off globally
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
fragments?: boolean;
|
||||
/**
|
||||
* Flags whether to include the current fragment in the URL,
|
||||
* so that reloading brings you to the same fragment position
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
fragmentInURL?: boolean;
|
||||
/**
|
||||
* Flags if the presentation is running in an embedded mode,
|
||||
* i.e. contained within a limited portion of the screen
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
embedded?: boolean;
|
||||
/**
|
||||
* Flags if we should show a help overlay when the question-mark
|
||||
* key is pressed
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
help?: boolean;
|
||||
/**
|
||||
* Flags if it should be possible to pause the presentation (blackout)
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
pause?: boolean;
|
||||
/**
|
||||
* Flags if speaker notes should be visible to all viewers
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
showNotes?: boolean;
|
||||
/**
|
||||
* Flags if slides with data-visibility="hidden" should be kept visible
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
showHiddenSlides?: boolean;
|
||||
/**
|
||||
* Global override for autoplaying embedded media (video/audio/iframe)
|
||||
* - null: Media will only autoplay if data-autoplay is present
|
||||
* - true: All media will autoplay, regardless of individual setting
|
||||
* - false: No media will autoplay, regardless of individual setting
|
||||
*
|
||||
* @defaultValue null
|
||||
*/
|
||||
autoPlayMedia?: null | boolean;
|
||||
/**
|
||||
* Global override for preloading lazy-loaded iframes
|
||||
* - null: Iframes with data-src AND data-preload will be loaded when within
|
||||
* the viewDistance, iframes with only data-src will be loaded when visible
|
||||
* - true: All iframes with data-src will be loaded when within the viewDistance
|
||||
* - false: All iframes with data-src will be loaded only when visible
|
||||
*
|
||||
* @defaultValue null
|
||||
*/
|
||||
preloadIframes?: null | boolean;
|
||||
/**
|
||||
* Can be used to globally disable auto-animation
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
autoAnimate?: boolean;
|
||||
/**
|
||||
* Optionally provide a custom element matcher that will be
|
||||
* used to dictate which elements we can animate between.
|
||||
*
|
||||
* @defaultValue null
|
||||
*/
|
||||
autoAnimateMatcher?: null | Function;
|
||||
/**
|
||||
* Default settings for our auto-animate transitions, can be
|
||||
* overridden per-slide or per-element via data arguments
|
||||
*
|
||||
* @defaultValue 'ease'
|
||||
*/
|
||||
autoAnimateEasing?: 'ease' | string;
|
||||
/**
|
||||
* Number of seconds to animate each element.
|
||||
*
|
||||
* @defaultValue 1.0
|
||||
*/
|
||||
autoAnimateDuration?: number;
|
||||
/**
|
||||
* Should unmatched elements be faded in?
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
autoAnimateUnmatched?: boolean;
|
||||
/**
|
||||
* CSS properties that can be auto-animated. Position & scale
|
||||
* is matched separately so there's no need to include styles
|
||||
* like top/right/bottom/left, width/height or margin.
|
||||
*
|
||||
* @defaultValue ['opacity', 'color', 'background-color', 'padding', 'font-size', 'line-height', 'letter-spacing', 'border-width', 'border-color', 'border-radius', 'outline', 'outline-offset']
|
||||
*/
|
||||
autoAnimateStyles?: string[];
|
||||
/**
|
||||
* Controls automatic progression to the next slide
|
||||
* - 0: Auto-sliding only happens if the data-autoslide HTML attribute
|
||||
* is present on the current slide or fragment
|
||||
* - 1+: All slides will progress automatically at the given interval
|
||||
* - false: No auto-sliding, even if data-autoslide is present
|
||||
*
|
||||
* @defaultValue 0
|
||||
*/
|
||||
autoSlide?: number | false;
|
||||
/**
|
||||
* Stop auto-sliding after user input
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
autoSlideStoppable?: boolean;
|
||||
/**
|
||||
* Use this method for navigation when auto-sliding (defaults to navigateNext)
|
||||
*
|
||||
* @defaultValue null
|
||||
*/
|
||||
autoSlideMethod?: null | Function;
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
* @defaultValue null
|
||||
*/
|
||||
defaultTiming?: null;
|
||||
/**
|
||||
* Enable slide navigation via mouse wheel
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
mouseWheel?: boolean;
|
||||
/**
|
||||
* Opens links in an iframe preview overlay
|
||||
* Add `data-preview-link` and `data-preview-link="false"` to customize each link
|
||||
* individually
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
previewLinks?: boolean;
|
||||
/**
|
||||
* Exposes the reveal.js API through window.postMessage
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
postMessage?: boolean;
|
||||
/**
|
||||
* Dispatches all reveal.js events to the parent window through postMessage
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
postMessageEvents?: boolean;
|
||||
/**
|
||||
* Focuses body when page changes visibility to ensure keyboard shortcuts work
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
focusBodyOnPageVisibilityChange?: boolean;
|
||||
/**
|
||||
* Transition style
|
||||
*
|
||||
* @defaultValue 'slide'
|
||||
*/
|
||||
transition?: 'none' | 'fade' | 'slide' | 'convex' | 'concave' | 'zoom';
|
||||
/**
|
||||
* Transition speed
|
||||
*
|
||||
* @defaultValue 'default'
|
||||
*/
|
||||
transitionSpeed?: 'default' | 'fast' | 'slow';
|
||||
/**
|
||||
* Transition style for full page slide backgrounds
|
||||
*
|
||||
* @defaultValue 'fade'
|
||||
*/
|
||||
backgroundTransition?: 'fade' | 'none' | 'slide' | 'convex' | 'concave' | 'zoom';
|
||||
/**
|
||||
* Parallax background image
|
||||
*
|
||||
* @defaultValue ''
|
||||
*/
|
||||
parallaxBackgroundImage?: null | string;
|
||||
/**
|
||||
* Parallax background size
|
||||
*
|
||||
* @defaultValue ''
|
||||
*/
|
||||
parallaxBackgroundSize?: null | string;
|
||||
/**
|
||||
* Parallax background repeat
|
||||
*
|
||||
* @defaultValue ''
|
||||
*/
|
||||
parallaxBackgroundRepeat?: null | string;
|
||||
/**
|
||||
* Parallax background position
|
||||
*
|
||||
* @defaultValue ''
|
||||
*/
|
||||
parallaxBackgroundPosition?: null | string;
|
||||
/**
|
||||
* Amount of pixels to move the parallax background per slide step
|
||||
*
|
||||
* @defaultValue null
|
||||
*/
|
||||
parallaxBackgroundHorizontal?: null | number;
|
||||
/**
|
||||
*
|
||||
* @defaultValue null
|
||||
*/
|
||||
parallaxBackgroundVertical?: null | number;
|
||||
/**
|
||||
* Can be used to initialize reveal.js in one of the following views:
|
||||
* - print: Render the presentation so that it can be printed to PDF
|
||||
* - scroll: Show the presentation as a tall scrollable page with scroll
|
||||
* triggered animations
|
||||
*
|
||||
* @defaultValue null
|
||||
*/
|
||||
view?: null | 'print' | 'scroll';
|
||||
/**
|
||||
* Adjusts the height of each slide in the scroll view.
|
||||
* - full: Each slide is as tall as the viewport
|
||||
* - compact: Slides are as small as possible, allowing multiple slides
|
||||
* to be visible in parallel on tall devices
|
||||
*
|
||||
* @defaultValue 'full'
|
||||
*/
|
||||
scrollLayout?: 'full' | 'compact';
|
||||
/**
|
||||
* Control how scroll snapping works in the scroll view.
|
||||
* - false: No snapping, scrolling is continuous
|
||||
* - proximity: Snap when close to a slide
|
||||
* - mandatory: Always snap to the closest slide
|
||||
*
|
||||
* Only applies to presentations in scroll view.
|
||||
*
|
||||
* @defaultValue 'mandatory'
|
||||
*/
|
||||
scrollSnap?: false | 'proximity' | 'mandatory';
|
||||
/**
|
||||
* Enables and configures the scroll view progress bar.
|
||||
* - 'auto': Show the scrollbar while scrolling, hide while idle
|
||||
* - true: Always show the scrollbar
|
||||
* - false: Never show the scrollbar
|
||||
*
|
||||
* @defaultValue 'auto'
|
||||
*/
|
||||
scrollProgress?: 'auto' | boolean;
|
||||
/**
|
||||
* Automatically activate the scroll view when we the viewport falls
|
||||
* below the given width.
|
||||
*
|
||||
* @defaultValue 435
|
||||
*/
|
||||
scrollActivationWidth?: number;
|
||||
/**
|
||||
* The maximum number of pages a single slide can expand onto when printing
|
||||
* to PDF, unlimited by default
|
||||
*
|
||||
* @defaultValue Number.POSITIVE_INFINITY
|
||||
*/
|
||||
pdfMaxPagesPerSlide?: number;
|
||||
/**
|
||||
* Prints each fragment on a separate slide
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
pdfSeparateFragments?: boolean;
|
||||
/**
|
||||
* Offset used to reduce the height of content within exported PDF pages.
|
||||
* This exists to account for environment differences based on how you
|
||||
* print to PDF. CLI printing options, like phantomjs and wkpdf, can end
|
||||
* on precisely the total height of the document whereas in-browser
|
||||
* printing has to end one pixel before.
|
||||
*
|
||||
* @defaultValue -1
|
||||
*/
|
||||
pdfPageHeightOffset?: number;
|
||||
/**
|
||||
* Number of slides away from the current that are visible
|
||||
*
|
||||
* @defaultValue 3
|
||||
*/
|
||||
viewDistance?: number;
|
||||
/**
|
||||
* Number of slides away from the current that are visible on mobile
|
||||
* devices. It is advisable to set this to a lower number than
|
||||
* viewDistance in order to save resources.
|
||||
*
|
||||
* @defaultValue 2
|
||||
*/
|
||||
mobileViewDistance?: number;
|
||||
/**
|
||||
* The display mode that will be used to show slides
|
||||
*
|
||||
* @defaultValue 'block'
|
||||
*/
|
||||
display?: string;
|
||||
/**
|
||||
* Hide cursor if inactive
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
hideInactiveCursor?: boolean;
|
||||
/**
|
||||
* Time before the cursor is hidden (in ms)
|
||||
*
|
||||
* @defaultValue 5000
|
||||
*/
|
||||
hideCursorTime?: number;
|
||||
/**
|
||||
* Should we automatically sort and set indices for fragments
|
||||
* at each sync? (See Reveal.sync)
|
||||
*
|
||||
* @defaultValue true
|
||||
*/
|
||||
sortFragmentsOnSync?: boolean;
|
||||
/**
|
||||
* Script dependencies to load
|
||||
*
|
||||
* @defaultValue []
|
||||
*/
|
||||
dependencies?: any[];
|
||||
/**
|
||||
* Plugin objects to register and use for this presentation
|
||||
*
|
||||
* @defaultValue []
|
||||
*/
|
||||
plugins?: any[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Expose the Reveal class to the window. To create a
|
||||
* new instance:
|
||||
* let deck = new Reveal( document.querySelector( '.reveal' ), {
|
||||
* controls: false
|
||||
* } );
|
||||
* deck.initialize().then(() => {
|
||||
* // reveal.js is ready
|
||||
* });
|
||||
*/
|
||||
declare let Reveal: {
|
||||
initialize: (options?: Config) => Promise<void>;
|
||||
[key: string]: any;
|
||||
};
|
||||
export default Reveal;
|
||||
|
||||
export { }
|
||||
|
9
dist/reveal.esm.js
vendored
9
dist/reveal.esm.js
vendored
File diff suppressed because one or more lines are too long
1
dist/reveal.esm.js.map
vendored
1
dist/reveal.esm.js.map
vendored
File diff suppressed because one or more lines are too long
1
dist/reveal.js.map
vendored
1
dist/reveal.js.map
vendored
File diff suppressed because one or more lines are too long
1493
dist/reveal.mjs
vendored
1493
dist/reveal.mjs
vendored
File diff suppressed because it is too large
Load Diff
2
dist/theme/beige.css
vendored
2
dist/theme/beige.css
vendored
File diff suppressed because one or more lines are too long
2
dist/theme/black-contrast.css
vendored
2
dist/theme/black-contrast.css
vendored
File diff suppressed because one or more lines are too long
2
dist/theme/black.css
vendored
2
dist/theme/black.css
vendored
File diff suppressed because one or more lines are too long
2
dist/theme/dracula.css
vendored
2
dist/theme/dracula.css
vendored
File diff suppressed because one or more lines are too long
2
dist/theme/league.css
vendored
2
dist/theme/league.css
vendored
File diff suppressed because one or more lines are too long
2
dist/theme/night.css
vendored
2
dist/theme/night.css
vendored
File diff suppressed because one or more lines are too long
2
dist/theme/serif.css
vendored
2
dist/theme/serif.css
vendored
File diff suppressed because one or more lines are too long
2
dist/theme/simple.css
vendored
2
dist/theme/simple.css
vendored
File diff suppressed because one or more lines are too long
2
dist/theme/sky.css
vendored
2
dist/theme/sky.css
vendored
File diff suppressed because one or more lines are too long
2
dist/theme/solarized.css
vendored
2
dist/theme/solarized.css
vendored
File diff suppressed because one or more lines are too long
2
dist/theme/white.css
vendored
2
dist/theme/white.css
vendored
File diff suppressed because one or more lines are too long
@@ -29,8 +29,8 @@
|
||||
</div>
|
||||
|
||||
<script type="module">
|
||||
import Reveal from '../dist/reveal.esm.js'
|
||||
import Markdown from '../plugin/markdown/markdown.esm.js'
|
||||
import Reveal from '../dist/reveal.mjs'
|
||||
import Markdown from '../dist/plugin/markdown.mjs'
|
||||
|
||||
QUnit.module( 'Destroy' );
|
||||
|
||||
|
Reference in New Issue
Block a user