Browse Source

tidying up

Hakim El Hattab 5 năm trước cách đây
mục cha
commit
d22c7bfad1
7 tập tin đã thay đổi với 59 bổ sung69 xóa
  1. 1 1
      dist/reveal.es5.js
  2. 0 0
      dist/reveal.es5.js.map
  3. 1 1
      dist/reveal.js
  4. 0 0
      dist/reveal.js.map
  5. 53 61
      js/reveal.js
  6. 2 1
      package-lock.json
  7. 2 5
      package.json

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
dist/reveal.es5.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/reveal.es5.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 1
dist/reveal.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/reveal.js.map


+ 53 - 61
js/reveal.js

@@ -15,22 +15,14 @@ import Touch from './controllers/touch.js'
 import Notes from './controllers/notes.js'
 import Playback from './components/playback.js'
 import defaultConfig from './config.js'
-import { isMobile, isChrome, supportsZoom } from './utils/device.js'
+import * as Util from './utils/util.js'
+import * as Device from './utils/device.js'
 import {
 	SLIDES_SELECTOR,
 	HORIZONTAL_SLIDES_SELECTOR,
 	VERTICAL_SLIDES_SELECTOR,
 	POST_MESSAGE_METHOD_BLACKLIST
 } from './utils/constants.js'
-import {
-	extend,
-	queryAll,
-	deserialize,
-	transformElement,
-	createSingletonNode,
-	getQueryHash,
-	getRemainingHeight
-} from './utils/util.js'
 
 /**
  * reveal.js
@@ -80,25 +72,6 @@ export default function( revealElement, options ) {
 		// The current scale of the presentation (see width/height config)
 		scale = 1,
 
-		// Controllers for different aspects of our presentation. They're
-		// all given direct references to this Reveal instance since there
-		// may be multiple presentations running in parallel.
-		slideContent = new SlideContent( Reveal ),
-		slideNumber = new SlideNumber( Reveal ),
-		autoAnimate = new AutoAnimate( Reveal ),
-		backgrounds = new Backgrounds( Reveal ),
-		fragments = new Fragments( Reveal ),
-		overview = new Overview( Reveal ),
-		keyboard = new Keyboard( Reveal ),
-		location = new Location( Reveal ),
-		controls = new Controls( Reveal ),
-		progress = new Progress( Reveal ),
-		pointer = new Pointer( Reveal ),
-		plugins = new Plugins( Reveal ),
-		print = new Print( Reveal ),
-		touch = new Touch( Reveal ),
-		notes = new Notes( Reveal ),
-
 		// CSS transform that is currently applied to the slides container,
 		// split into two groups
 		slidesTransform = { layout: '', overview: '' },
@@ -116,7 +89,26 @@ export default function( revealElement, options ) {
 		autoSlidePlayer,
 		autoSlideTimeout = 0,
 		autoSlideStartTime = -1,
-		autoSlidePaused = false;
+		autoSlidePaused = false,
+
+		// Controllers for different aspects of our presentation. They're
+		// all given direct references to this Reveal instance since there
+		// may be multiple presentations running in parallel.
+		slideContent = new SlideContent( Reveal ),
+		slideNumber = new SlideNumber( Reveal ),
+		autoAnimate = new AutoAnimate( Reveal ),
+		backgrounds = new Backgrounds( Reveal ),
+		fragments = new Fragments( Reveal ),
+		overview = new Overview( Reveal ),
+		keyboard = new Keyboard( Reveal ),
+		location = new Location( Reveal ),
+		controls = new Controls( Reveal ),
+		progress = new Progress( Reveal ),
+		pointer = new Pointer( Reveal ),
+		plugins = new Plugins( Reveal ),
+		print = new Print( Reveal ),
+		touch = new Touch( Reveal ),
+		notes = new Notes( Reveal );
 
 	/**
 	 * Starts up the presentation if the client is capable.
@@ -128,7 +120,7 @@ export default function( revealElement, options ) {
 		dom.slides = revealElement.querySelector( '.slides' );
 
 		// Copy options over to our config object
-		config = { ...defaultConfig, ...options, ...getQueryHash() };
+		config = { ...defaultConfig, ...options, ...Util.getQueryHash() };
 
 		// Embedded decks use the reveal element as their viewport
 		if( config.embedded === true ) {
@@ -224,7 +216,7 @@ export default function( revealElement, options ) {
 		// Prevent transitions while we're loading
 		dom.slides.classList.add( 'no-transition' );
 
-		if( isMobile ) {
+		if( Device.isMobile ) {
 			dom.wrapper.classList.add( 'no-hover' );
 		}
 		else {
@@ -238,7 +230,7 @@ export default function( revealElement, options ) {
 		notes.render();
 
 		// Overlay graphic which is displayed during the paused mode
-		dom.pauseOverlay = createSingletonNode( dom.wrapper, 'div', 'pause-overlay', config.controls ? '<button class="resume-button">Resume presentation</button>' : null );
+		dom.pauseOverlay = Util.createSingletonNode( dom.wrapper, 'div', 'pause-overlay', config.controls ? '<button class="resume-button">Resume presentation</button>' : null );
 
 		dom.statusElement = createStatusElement();
 
@@ -389,7 +381,7 @@ export default function( revealElement, options ) {
 
 		// New config options may be passed when this method
 		// is invoked through the API after initialization
-		if( typeof options === 'object' ) extend( config, options );
+		if( typeof options === 'object' ) Util.extend( config, options );
 
 		// Abort if reveal.js hasn't finished loading, config
 		// changes will be applied automatically once ready
@@ -552,10 +544,10 @@ export default function( revealElement, options ) {
 
 		// Apply the transforms to the slides container
 		if( slidesTransform.layout ) {
-			transformElement( dom.slides, slidesTransform.layout + ' ' + slidesTransform.overview );
+			Util.transformElement( dom.slides, slidesTransform.layout + ' ' + slidesTransform.overview );
 		}
 		else {
-			transformElement( dom.slides, slidesTransform.overview );
+			Util.transformElement( dom.slides, slidesTransform.overview );
 		}
 
 	}
@@ -568,7 +560,7 @@ export default function( revealElement, options ) {
 
 		let event = document.createEvent( 'HTMLEvents', 1, 2 );
 		event.initEvent( type, bubbles, true );
-		extend( event, data );
+		Util.extend( event, data );
 		target.dispatchEvent( event );
 
 		if( target === dom.wrapper ) {
@@ -591,7 +583,7 @@ export default function( revealElement, options ) {
 				state: getState()
 			};
 
-			extend( message, data );
+			Util.extend( message, data );
 
 			window.parent.postMessage( JSON.stringify( message ), '*' );
 		}
@@ -769,7 +761,7 @@ export default function( revealElement, options ) {
 				// property where 100x adds up to the correct height.
 				//
 				// https://css-tricks.com/the-trick-to-viewport-units-on-mobile/
-				if( isMobile ) {
+				if( Device.isMobile ) {
 					document.documentElement.style.setProperty( '--vh', ( window.innerHeight * 0.01 ) + 'px' );
 				}
 
@@ -805,7 +797,7 @@ export default function( revealElement, options ) {
 					// effects are minor differences in text layout and iframe
 					// viewports changing size. A 200x200 iframe viewport in a
 					// 2x zoomed presentation ends up having a 400x400 viewport.
-					if( scale > 1 && supportsZoom && window.devicePixelRatio < 2 ) {
+					if( scale > 1 && Device.supportsZoom && window.devicePixelRatio < 2 ) {
 						dom.slides.style.zoom = scale;
 						dom.slides.style.left = '';
 						dom.slides.style.top = '';
@@ -887,10 +879,10 @@ export default function( revealElement, options ) {
 	function layoutSlideContents( width, height ) {
 
 		// Handle sizing of elements with the 'stretch' class
-		queryAll( dom.slides, 'section > .stretch' ).forEach( element => {
+		Util.queryAll( dom.slides, 'section > .stretch' ).forEach( element => {
 
 			// Determine how much vertical space we can use
-			let remainingHeight = getRemainingHeight( element, height );
+			let remainingHeight = Util.getRemainingHeight( element, height );
 
 			// Consider the aspect ratio of media elements
 			if( /(img|video)/gi.test( element.nodeName ) ) {
@@ -1405,7 +1397,7 @@ export default function( revealElement, options ) {
 
 		getHorizontalSlides().forEach( horizontalSlide => {
 
-			queryAll( horizontalSlide, 'section' ).forEach( ( verticalSlide, y ) => {
+			Util.queryAll( horizontalSlide, 'section' ).forEach( ( verticalSlide, y ) => {
 
 				if( y > 0 ) {
 					verticalSlide.classList.remove( 'present' );
@@ -1452,7 +1444,7 @@ export default function( revealElement, options ) {
 
 		// Select all slides and convert the NodeList result to
 		// an array
-		let slides = queryAll( dom.wrapper, selector ),
+		let slides = Util.queryAll( dom.wrapper, selector ),
 			slidesLength = slides.length;
 
 		let printMode = print.isPrintingPDF();
@@ -1499,7 +1491,7 @@ export default function( revealElement, options ) {
 
 					if( config.fragments ) {
 						// Show all fragments in prior slides
-						queryAll( element, '.fragment' ).forEach( fragment => {
+						Util.queryAll( element, '.fragment' ).forEach( fragment => {
 							fragment.classList.add( 'visible' );
 							fragment.classList.remove( 'current-fragment' );
 						} );
@@ -1511,7 +1503,7 @@ export default function( revealElement, options ) {
 
 					if( config.fragments ) {
 						// Hide all fragments in future slides
-						queryAll( element, '.fragment.visible' ).forEach( fragment => {
+						Util.queryAll( element, '.fragment.visible' ).forEach( fragment => {
 							fragment.classList.remove( 'visible', 'current-fragment' );
 						} );
 					}
@@ -1574,7 +1566,7 @@ export default function( revealElement, options ) {
 
 			// Shorten the view distance on devices that typically have
 			// less resources
-			if( isMobile ) {
+			if( Device.isMobile ) {
 				viewDistance = overview.isActive() ? 6 : config.mobileViewDistance;
 			}
 
@@ -1586,7 +1578,7 @@ export default function( revealElement, options ) {
 			for( let x = 0; x < horizontalSlidesLength; x++ ) {
 				let horizontalSlide = horizontalSlides[x];
 
-				let verticalSlides = queryAll( horizontalSlide, 'section' ),
+				let verticalSlides = Util.queryAll( horizontalSlide, 'section' ),
 					verticalSlidesLength = verticalSlides.length;
 
 				// Determine how far away this slide is from the present
@@ -1813,7 +1805,7 @@ export default function( revealElement, options ) {
 
 			// If this is a vertical slide, grab the vertical index
 			if( isVertical ) {
-				v = Math.max( queryAll( slide.parentNode, 'section' ).indexOf( slide ), 0 );
+				v = Math.max( Util.queryAll( slide.parentNode, 'section' ).indexOf( slide ), 0 );
 			}
 		}
 
@@ -1839,7 +1831,7 @@ export default function( revealElement, options ) {
 	 */
 	function getSlides() {
 
-		return queryAll( dom.wrapper, SLIDES_SELECTOR + ':not(.stack):not([data-visibility="uncounted"])' );
+		return Util.queryAll( dom.wrapper, SLIDES_SELECTOR + ':not(.stack):not([data-visibility="uncounted"])' );
 
 	}
 
@@ -1850,7 +1842,7 @@ export default function( revealElement, options ) {
 	 */
 	function getHorizontalSlides() {
 
-		return queryAll( dom.wrapper, HORIZONTAL_SLIDES_SELECTOR );
+		return Util.queryAll( dom.wrapper, HORIZONTAL_SLIDES_SELECTOR );
 
 	}
 
@@ -1859,7 +1851,7 @@ export default function( revealElement, options ) {
 	 */
 	function getVerticalSlides() {
 
-		return queryAll( dom.wrapper, '.slides>section>section' );
+		return Util.queryAll( dom.wrapper, '.slides>section>section' );
 
 	}
 
@@ -1868,7 +1860,7 @@ export default function( revealElement, options ) {
 	 */
 	function getVerticalStacks() {
 
-		return queryAll( dom.wrapper, HORIZONTAL_SLIDES_SELECTOR + '.stack');
+		return Util.queryAll( dom.wrapper, HORIZONTAL_SLIDES_SELECTOR + '.stack');
 
 	}
 
@@ -1989,10 +1981,10 @@ export default function( revealElement, options ) {
 	function setState( state ) {
 
 		if( typeof state === 'object' ) {
-			slide( deserialize( state.indexh ), deserialize( state.indexv ), deserialize( state.indexf ) );
+			slide( Util.deserialize( state.indexh ), Util.deserialize( state.indexv ), Util.deserialize( state.indexf ) );
 
-			let pausedFlag = deserialize( state.paused ),
-				overviewFlag = deserialize( state.overview );
+			let pausedFlag = Util.deserialize( state.paused ),
+				overviewFlag = Util.deserialize( state.overview );
 
 			if( typeof pausedFlag === 'boolean' && pausedFlag !== isPaused() ) {
 				togglePause( pausedFlag );
@@ -2048,7 +2040,7 @@ export default function( revealElement, options ) {
 			// is divided up into fragments.
 			// playbackRate is accounted for in the duration.
 			if( currentSlide.querySelectorAll( '.fragment' ).length === 0 ) {
-				queryAll( currentSlide, 'video, audio' ).forEach( el => {
+				Util.queryAll( currentSlide, 'video, audio' ).forEach( el => {
 					if( el.hasAttribute( 'data-autoplay' ) ) {
 						if( autoSlide && (el.duration * 1000 / el.playbackRate ) > autoSlide ) {
 							autoSlide = ( el.duration * 1000 / el.playbackRate ) + 1000;
@@ -2190,10 +2182,10 @@ export default function( revealElement, options ) {
 				let previousSlide;
 
 				if( config.rtl ) {
-					previousSlide = queryAll( dom.wrapper, HORIZONTAL_SLIDES_SELECTOR + '.future' ).pop();
+					previousSlide = Util.queryAll( dom.wrapper, HORIZONTAL_SLIDES_SELECTOR + '.future' ).pop();
 				}
 				else {
-					previousSlide = queryAll( dom.wrapper, HORIZONTAL_SLIDES_SELECTOR + '.past' ).pop();
+					previousSlide = Util.queryAll( dom.wrapper, HORIZONTAL_SLIDES_SELECTOR + '.past' ).pop();
 				}
 
 				if( previousSlide ) {
@@ -2500,7 +2492,7 @@ export default function( revealElement, options ) {
 		getConfig: () => config,
 
 		// Helper method, retrieves query string as a key:value map
-		getQueryHash,
+		getQueryHash: Util.getQueryHash,
 
 		// Returns reveal.js DOM elements
 		getRevealElement: () => revealElement,
@@ -2516,7 +2508,7 @@ export default function( revealElement, options ) {
 	};
 
 	// Our internal API which controllers have access to
-	extend( Reveal, {
+	Util.extend( Reveal, {
 		...API,
 
 		// Methods for announcing content to screen readers

+ 2 - 1
package-lock.json

@@ -2267,7 +2267,8 @@
     "core-js": {
       "version": "3.6.5",
       "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
-      "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA=="
+      "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==",
+      "dev": true
     },
     "core-js-compat": {
       "version": "3.6.5",

+ 2 - 5
package.json

@@ -28,6 +28,7 @@
     "@babel/preset-env": "^7.8.7",
     "@rollup/plugin-node-resolve": "^7.1.3",
     "babel-eslint": "^10.1.0",
+    "core-js": "^3.6.5",
     "colors": "^1.4.0",
     "express": "^4.17.1",
     "glob": "^7.1.6",
@@ -41,10 +42,10 @@
     "gulp-tap": "^2.0.0",
     "gulp-zip": "^5.0.1",
     "mustache": "^4.0.0",
-    "node-qunit-puppeteer": "^2.0.1",
     "rollup": "^2.6.1",
     "rollup-plugin-babel": "^4.4.0",
     "rollup-plugin-terser": "^5.3.0",
+    "node-qunit-puppeteer": "^2.0.1",
     "socket.io": "^2.3.0",
     "yargs": "^15.1.0"
   },
@@ -60,7 +61,6 @@
       "allowImportExportEverywhere": true
     },
     "globals": {
-      "head": false,
       "module": false,
       "console": false,
       "unescape": false,
@@ -86,8 +86,5 @@
       "no-eq-null": 2,
       "no-unused-expressions": 0
     }
-  },
-  "dependencies": {
-    "core-js": "^3.6.5"
   }
 }

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác