Browse Source

:rotating_light: breaking change; move all compiled assets to /dist

Hakim El Hattab 5 years ago
parent
commit
608a7577bd

+ 5 - 5
demo.html

@@ -14,9 +14,9 @@
 
 		<meta name="viewport" content="width=device-width, initial-scale=1.0">
 
-		<link rel="stylesheet" href="css/reset.css">
-		<link rel="stylesheet" href="css/reveal.css">
-		<link rel="stylesheet" href="css/theme/black.css" id="theme">
+		<link rel="stylesheet" href="dist/reset.css">
+		<link rel="stylesheet" href="dist/reveal.css">
+		<link rel="stylesheet" href="dist/theme/black.css" id="theme">
 
 		<!-- Theme used for syntax highlighting of code -->
 		<link rel="stylesheet" href="lib/css/monokai.css">
@@ -26,7 +26,7 @@
 			var link = document.createElement( 'link' );
 			link.rel = 'stylesheet';
 			link.type = 'text/css';
-			link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
+			link.href = window.location.search.match( /print-pdf/gi ) ? 'dist/print/pdf.css' : 'dist/print/paper.css';
 			document.getElementsByTagName( 'head' )[0].appendChild( link );
 		</script>
 	</head>
@@ -406,7 +406,7 @@ Reveal.addEventListener( 'customevent', function() {
 
 		</div>
 
-		<script src="js/reveal.min.js"></script>
+		<script src="dist/reveal.min.js"></script>
 
 		<script>
 

+ 171 - 0
dist/print/paper.css

@@ -0,0 +1,171 @@
+/* Default Print Stylesheet Template
+   by Rob Glazebrook of CSSnewbie.com
+   Last Updated: June 4, 2008
+
+   Feel free (nay, compelled) to edit, append, and
+   manipulate this file as you see fit. */
+@media print {
+  /* SECTION 1: Set default width, margin, float, and
+	   background. This prevents elements from extending
+	   beyond the edge of the printed page, and prevents
+	   unnecessary background images from printing */
+  html {
+    background: #fff;
+    width: auto;
+    height: auto;
+    overflow: visible; }
+  body {
+    background: #fff;
+    font-size: 20pt;
+    width: auto;
+    height: auto;
+    border: 0;
+    margin: 0 5%;
+    padding: 0;
+    overflow: visible;
+    float: none !important; }
+  /* SECTION 2: Remove any elements not needed in print.
+	   This would include navigation, ads, sidebars, etc. */
+  .nestedarrow,
+  .controls,
+  .fork-reveal,
+  .share-reveal,
+  .state-background,
+  .reveal .progress,
+  .reveal .backgrounds,
+  .reveal .slide-number {
+    display: none !important; }
+  /* SECTION 3: Set body font face, size, and color.
+	   Consider using a serif font for readability. */
+  body, p, td, li, div {
+    font-size: 20pt !important;
+    font-family: Georgia, "Times New Roman", Times, serif !important;
+    color: #000; }
+  /* SECTION 4: Set heading font face, sizes, and color.
+	   Differentiate your headings from your body text.
+	   Perhaps use a large sans-serif for distinction. */
+  h1, h2, h3, h4, h5, h6 {
+    color: #000 !important;
+    height: auto;
+    line-height: normal;
+    font-family: Georgia, "Times New Roman", Times, serif !important;
+    text-shadow: 0 0 0 #000 !important;
+    text-align: left;
+    letter-spacing: normal; }
+  /* Need to reduce the size of the fonts for printing */
+  h1 {
+    font-size: 28pt !important; }
+  h2 {
+    font-size: 24pt !important; }
+  h3 {
+    font-size: 22pt !important; }
+  h4 {
+    font-size: 22pt !important;
+    font-variant: small-caps; }
+  h5 {
+    font-size: 21pt !important; }
+  h6 {
+    font-size: 20pt !important;
+    font-style: italic; }
+  /* SECTION 5: Make hyperlinks more usable.
+	   Ensure links are underlined, and consider appending
+	   the URL to the end of the link for usability. */
+  a:link,
+  a:visited {
+    color: #000 !important;
+    font-weight: bold;
+    text-decoration: underline; }
+  /*
+	.reveal a:link:after,
+	.reveal a:visited:after {
+		content: " (" attr(href) ") ";
+		color: #222 !important;
+		font-size: 90%;
+	}
+	*/
+  /* SECTION 6: more reveal.js specific additions by @skypanther */
+  ul, ol, div, p {
+    visibility: visible;
+    position: static;
+    width: auto;
+    height: auto;
+    display: block;
+    overflow: visible;
+    margin: 0;
+    text-align: left !important; }
+  .reveal pre,
+  .reveal table {
+    margin-left: 0;
+    margin-right: 0; }
+  .reveal pre code {
+    padding: 20px;
+    border: 1px solid #ddd; }
+  .reveal blockquote {
+    margin: 20px 0; }
+  .reveal .slides {
+    position: static !important;
+    width: auto !important;
+    height: auto !important;
+    left: 0 !important;
+    top: 0 !important;
+    margin-left: 0 !important;
+    margin-top: 0 !important;
+    padding: 0 !important;
+    zoom: 1 !important;
+    overflow: visible !important;
+    display: block !important;
+    text-align: left !important;
+    -webkit-perspective: none;
+    -moz-perspective: none;
+    -ms-perspective: none;
+    perspective: none;
+    -webkit-perspective-origin: 50% 50%;
+    -moz-perspective-origin: 50% 50%;
+    -ms-perspective-origin: 50% 50%;
+    perspective-origin: 50% 50%; }
+  .reveal .slides section {
+    visibility: visible !important;
+    position: static !important;
+    width: auto !important;
+    height: auto !important;
+    display: block !important;
+    overflow: visible !important;
+    left: 0 !important;
+    top: 0 !important;
+    margin-left: 0 !important;
+    margin-top: 0 !important;
+    padding: 60px 20px !important;
+    z-index: auto !important;
+    opacity: 1 !important;
+    page-break-after: always !important;
+    -webkit-transform-style: flat !important;
+    -moz-transform-style: flat !important;
+    -ms-transform-style: flat !important;
+    transform-style: flat !important;
+    -webkit-transform: none !important;
+    -moz-transform: none !important;
+    -ms-transform: none !important;
+    transform: none !important;
+    -webkit-transition: none !important;
+    -moz-transition: none !important;
+    -ms-transition: none !important;
+    transition: none !important; }
+  .reveal .slides section.stack {
+    padding: 0 !important; }
+  .reveal section:last-of-type {
+    page-break-after: avoid !important; }
+  .reveal section .fragment {
+    opacity: 1 !important;
+    visibility: visible !important;
+    -webkit-transform: none !important;
+    -moz-transform: none !important;
+    -ms-transform: none !important;
+    transform: none !important; }
+  .reveal section img {
+    display: block;
+    margin: 15px 0px;
+    background: white;
+    border: 1px solid #666;
+    box-shadow: none; }
+  .reveal section small {
+    font-size: 0.8em; } }

+ 140 - 0
dist/print/pdf.css

@@ -0,0 +1,140 @@
+/**
+ * This stylesheet is used to print reveal.js
+ * presentations to PDF.
+ *
+ * https://github.com/hakimel/reveal.js#pdf-export
+ */
+* {
+  -webkit-print-color-adjust: exact; }
+
+body {
+  margin: 0 auto !important;
+  border: 0;
+  padding: 0;
+  float: none !important;
+  overflow: visible; }
+
+html {
+  width: 100%;
+  height: 100%;
+  overflow: visible; }
+
+/* Remove any elements not needed in print. */
+.nestedarrow,
+.reveal .controls,
+.reveal .progress,
+.reveal .playback,
+.reveal.overview,
+.fork-reveal,
+.share-reveal,
+.state-background {
+  display: none !important; }
+
+h1, h2, h3, h4, h5, h6 {
+  text-shadow: 0 0 0 #000 !important; }
+
+.reveal pre code {
+  overflow: hidden !important;
+  font-family: Courier, 'Courier New', monospace !important; }
+
+ul, ol, div, p {
+  visibility: visible;
+  position: static;
+  width: auto;
+  height: auto;
+  display: block;
+  overflow: visible;
+  margin: auto; }
+
+.reveal {
+  width: auto !important;
+  height: auto !important;
+  overflow: hidden !important; }
+
+.reveal .slides {
+  position: static;
+  width: 100% !important;
+  height: auto !important;
+  zoom: 1 !important;
+  left: auto;
+  top: auto;
+  margin: 0 !important;
+  padding: 0 !important;
+  overflow: visible;
+  display: block;
+  perspective: none;
+  perspective-origin: 50% 50%; }
+
+.reveal .slides .pdf-page {
+  position: relative;
+  overflow: hidden;
+  z-index: 1;
+  page-break-after: always; }
+
+.reveal .slides section {
+  visibility: visible !important;
+  display: block !important;
+  position: absolute !important;
+  margin: 0 !important;
+  padding: 0 !important;
+  box-sizing: border-box !important;
+  min-height: 1px;
+  opacity: 1 !important;
+  transform-style: flat !important;
+  transform: none !important; }
+
+.reveal section.stack {
+  position: relative !important;
+  margin: 0 !important;
+  padding: 0 !important;
+  page-break-after: avoid !important;
+  height: auto !important;
+  min-height: auto !important; }
+
+.reveal img {
+  box-shadow: none; }
+
+.reveal .roll {
+  overflow: visible;
+  line-height: 1em; }
+
+/* Slide backgrounds are placed inside of their slide when exporting to PDF */
+.reveal .slide-background {
+  display: block !important;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: auto !important; }
+
+/* Display slide speaker notes when 'showNotes' is enabled */
+.reveal.show-notes {
+  max-width: none;
+  max-height: none; }
+
+.reveal .speaker-notes-pdf {
+  display: block;
+  width: 100%;
+  height: auto;
+  max-height: none;
+  top: auto;
+  right: auto;
+  bottom: auto;
+  left: auto;
+  z-index: 100; }
+
+/* Layout option which makes notes appear on a separate page */
+.reveal .speaker-notes-pdf[data-layout="separate-page"] {
+  position: relative;
+  color: inherit;
+  background-color: transparent;
+  padding: 20px;
+  page-break-after: always;
+  border: 0; }
+
+/* Display slide numbers when 'slideNumber' is enabled */
+.reveal .slide-number-pdf {
+  display: block;
+  position: absolute;
+  font-size: 14px; }

+ 0 - 0
css/reset.css → dist/reset.css


+ 0 - 0
css/reveal.css → dist/reveal.css


File diff suppressed because it is too large
+ 7 - 0
dist/reveal.min.js


+ 0 - 0
css/theme/beige.css → dist/theme/beige.css


+ 0 - 0
css/theme/black.css → dist/theme/black.css


+ 0 - 0
css/theme/blood.css → dist/theme/blood.css


+ 0 - 0
css/theme/league.css → dist/theme/league.css


+ 0 - 0
css/theme/moon.css → dist/theme/moon.css


+ 0 - 0
css/theme/night.css → dist/theme/night.css


+ 0 - 0
css/theme/serif.css → dist/theme/serif.css


+ 0 - 0
css/theme/simple.css → dist/theme/simple.css


+ 0 - 0
css/theme/sky.css → dist/theme/sky.css


+ 0 - 0
css/theme/solarized.css → dist/theme/solarized.css


+ 0 - 0
css/theme/white.css → dist/theme/white.css


+ 22 - 12
gulpfile.js

@@ -26,30 +26,39 @@ const license = `/*!
 */\n`
 
 
-gulp.task('js', () => gulp.src(['./js/reveal.js'])
+gulp.task('js', () => gulp.src(['./js/app.js'])
         .pipe(babel({ presets: ['@babel/preset-env'] }))
         .pipe(webpack({
             mode: 'production'
         }))
         .pipe(header(license, {pkg: pkg}))
         .pipe(rename('reveal.min.js'))
-        .pipe(gulp.dest('./js')))
+        .pipe(gulp.dest('./dist')))
 
 gulp.task('css-themes', () => gulp.src(['./css/theme/source/*.{sass,scss}'])
         .pipe(sass())
-        .pipe(gulp.dest('./css/theme')))
+        .pipe(gulp.dest('./dist/theme')))
+
+gulp.task('css-print', () => gulp.src(['./css/print/*.{sass,scss,css}'])
+        .pipe(sass())
+        .pipe(gulp.dest('./dist/print')))
 
 gulp.task('css-core', gulp.series(
 
-    () => gulp.src(['css/reveal.scss']).pipe(sass()).pipe(autoprefixer()).pipe(gulp.dest('./css')),
-    () => gulp.src(['css/reveal.css']).pipe(minify({
-        compatibility: 'ie9'
-    })).pipe(header(license, {pkg: pkg}))
-       .pipe(gulp.dest('./css'))
+    () => gulp.src(['css/reveal.scss'])
+        .pipe(sass())
+        .pipe(autoprefixer())
+        .pipe(gulp.dest('./dist')),
+    () => gulp.src(['dist/reveal.css'])
+        .pipe(minify({
+            compatibility: 'ie9'
+        }))
+        .pipe(header(license, {pkg: pkg}))
+        .pipe(gulp.dest('./dist'))
 
 ))
 
-gulp.task('css', gulp.parallel('css-themes', 'css-core'))
+gulp.task('css', gulp.parallel('css-themes', 'css-print', 'css-core'))
 
 gulp.task('test', gulp.series(
 
@@ -64,8 +73,7 @@ gulp.task('package', gulp.series('default', () =>
 
     gulp.src([
         './index.html',
-        './css/**',
-        './js/**',
+        './dist/**',
         './lib/**',
         './images/**',
         './plugin/**',
@@ -82,13 +90,15 @@ gulp.task('serve', () => {
         livereload: true
     })
 
-    gulp.watch(['js/reveal.js', 'js/src/*.js'], gulp.series('js'))
+    gulp.watch(['js/*.js'], gulp.series('js'))
 
     gulp.watch([
         'css/theme/source/*.{sass,scss}',
         'css/theme/template/*.{sass,scss}',
     ], gulp.series('css-themes'))
 
+    gulp.watch(['css/print/*.{sass,scss,css}'], gulp.series('css-print'))
+
     gulp.watch(['css/reveal.scss'], gulp.series('css-core'))
 
 })

+ 5 - 5
index.html

@@ -6,9 +6,9 @@
 
 		<title>reveal.js</title>
 
-		<link rel="stylesheet" href="css/reset.css">
-		<link rel="stylesheet" href="css/reveal.css">
-		<link rel="stylesheet" href="css/theme/black.css">
+		<link rel="stylesheet" href="dist/reset.css">
+		<link rel="stylesheet" href="dist/reveal.css">
+		<link rel="stylesheet" href="dist/theme/black.css">
 
 		<!-- Theme used for syntax highlighting of code -->
 		<link rel="stylesheet" href="lib/css/monokai.css">
@@ -18,7 +18,7 @@
 			var link = document.createElement( 'link' );
 			link.rel = 'stylesheet';
 			link.type = 'text/css';
-			link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
+			link.href = window.location.search.match( /print-pdf/gi ) ? 'dist/print/pdf.css' : 'dist/print/paper.css';
 			document.getElementsByTagName( 'head' )[0].appendChild( link );
 		</script>
 	</head>
@@ -30,7 +30,7 @@
 			</div>
 		</div>
 
-		<script src="js/reveal.min.js"></script>
+		<script src="dist/reveal.min.js"></script>
 
 		<script>
 			// More info about config & dependencies:

+ 3 - 0
js/app.js

@@ -0,0 +1,3 @@
+import Reveal from './reveal.js'
+
+window.Reveal = Reveal();

+ 0 - 0
js/src/playback.js → js/playback.js


+ 4 - 18
js/reveal.js

@@ -1,4 +1,4 @@
-import Playback from './src/playback.js'
+import Playback from './playback.js'
 
 /**
  * reveal.js
@@ -7,21 +7,7 @@ import Playback from './src/playback.js'
  *
  * Copyright (C) 2020 Hakim El Hattab, http://hakim.se
  */
-(function( root, factory ) {
-	if( typeof define === 'function' && define.amd ) {
-		// AMD. Register as an anonymous module.
-		define( function() {
-			root.Reveal = factory();
-			return root.Reveal;
-		} );
-	} else if( typeof exports === 'object' ) {
-		// Node. Does not work with strict CommonJS.
-		module.exports = factory();
-	} else {
-		// Browser globals.
-		root.Reveal = factory();
-	}
-}( this || window, () => {
+export default function() {
 
 	'use strict';
 
@@ -3854,7 +3840,7 @@ import Playback from './src/playback.js'
 			delay: 0
 		};
 
-		options = {...options, ...inheritedOptions};
+		options = extend( options, inheritedOptions );
 
 		// Inherit options from parent elements
 		if( element.closest && element.parentNode ) {
@@ -6420,4 +6406,4 @@ import Playback from './src/playback.js'
 
 	return Reveal;
 
-}));
+};

+ 4 - 0
package.json

@@ -49,6 +49,10 @@
       "browser": true,
       "es6": true
     },
+    "parserOptions": {
+      "sourceType": "module",
+      "allowImportExportEverywhere": true
+    },
     "globals": {
       "head": false,
       "module": false,

Some files were not shown because too many files changed in this diff