1
0
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:
Hakim El Hattab
2024-11-06 10:14:05 +01:00
parent 7fff2f59f0
commit f8a33e1929
24 changed files with 1276 additions and 981 deletions

View File

@@ -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',

View File

@@ -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
View File

@@ -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
View File

@@ -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;

View File

@@ -70,7 +70,6 @@ based on dark.css by Ivan Sagalaev
color: #7f9f7f;
}
.hljs-emphasis {
font-style: italic;
}

View File

@@ -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}}});

View File

@@ -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
View File

@@ -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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/reveal.js.map vendored

File diff suppressed because one or more lines are too long

1493
dist/reveal.mjs vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/theme/sky.css vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -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' );