Jelajahi Sumber

merge support for multiple notes on same slide

hakimel 2 tahun lalu
induk
melakukan
01efcf2d92

+ 4 - 0
dist/reveal.css

@@ -1,5 +1,9 @@
 /*!
+<<<<<<< HEAD
 * reveal.js 4.3.1
+=======
+* reveal.js 4.1.3
+>>>>>>> 62a85d55f8820c93dd2e60e34600b6eded8f7726
 * https://revealjs.com
 * MIT licensed
 *

File diff ditekan karena terlalu besar
+ 0 - 0
dist/reveal.esm.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/reveal.esm.js.map


File diff ditekan karena terlalu besar
+ 0 - 0
dist/reveal.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/reveal.js.map


+ 9 - 1
index.html

@@ -17,7 +17,15 @@
 		<div class="reveal">
 			<div class="slides">
 				<section>Slide 1</section>
-				<section>Slide 2</section>
+				<section>Slide 2
+						<aside class="notes">
+						<p>Some notes</p>
+						</aside>
+						<p>Some slide text</p>
+						<aside class="notes">
+						<p>and some more notes</p>
+					</aside>
+				</section>
 			</div>
 		</div>
 

+ 10 - 6
js/controllers/notes.js

@@ -1,5 +1,5 @@
 /**
- * Handles the showing and 
+ * Handles the showing of speaker notes
  */
 export default class Notes {
 
@@ -89,7 +89,7 @@ export default class Notes {
 	 * Retrieves the speaker notes from a slide. Notes can be
 	 * defined in two ways:
 	 * 1. As a data-notes attribute on the slide <section>
-	 * 2. As an <aside class="notes"> inside of the slide
+	 * 2. With <aside class="notes"> elements inside the slide
 	 *
 	 * @param {HTMLElement} [slide=currentSlide]
 	 * @return {(string|null)}
@@ -101,10 +101,14 @@ export default class Notes {
 			return slide.getAttribute( 'data-notes' );
 		}
 
-		// ... or using an <aside class="notes"> element
-		let notesElement = slide.querySelector( 'aside.notes' );
-		if( notesElement ) {
-			return notesElement.innerHTML;
+		// ... or using <aside class="notes"> elements
+		let notesElements = slide.querySelectorAll( 'aside.notes' );
+		if( notesElements ) {
+			let notes = "";
+			for (let i = 0; i < notesElements.length; i++) {
+				notes += notesElements[i].innerHTML + "\n";
+			}
+			return notes;
 		}
 
 		return null;

File diff ditekan karena terlalu besar
+ 0 - 0
plugin/highlight/highlight.esm.js


File diff ditekan karena terlalu besar
+ 0 - 0
plugin/highlight/highlight.js


File diff ditekan karena terlalu besar
+ 0 - 0
plugin/markdown/markdown.esm.js


File diff ditekan karena terlalu besar
+ 0 - 0
plugin/markdown/markdown.js


File diff ditekan karena terlalu besar
+ 0 - 0
plugin/math/math.esm.js


File diff ditekan karena terlalu besar
+ 0 - 0
plugin/notes/notes.esm.js


File diff ditekan karena terlalu besar
+ 0 - 0
plugin/notes/notes.js


+ 10 - 6
plugin/notes/plugin.js

@@ -108,7 +108,7 @@ const Plugin = () => {
 	function post( event ) {
 
 		let slideElement = deck.getCurrentSlide(),
-			notesElement = slideElement.querySelector( 'aside.notes' ),
+			notesElements = slideElement.querySelectorAll( 'aside.notes' ),
 			fragmentElement = slideElement.querySelector( '.current-fragment' );
 
 		let messageData = {
@@ -130,21 +130,25 @@ const Plugin = () => {
 		if( fragmentElement ) {
 			let fragmentNotes = fragmentElement.querySelector( 'aside.notes' );
 			if( fragmentNotes ) {
-				notesElement = fragmentNotes;
+				messageData.notes = fragmentNotes.innerHTML;
+				messageData.markdown = typeof fragmentNotes.getAttribute( 'data-markdown' ) === 'string';
+
+				// Ignore other slide notes
+				notesElements = null;
 			}
 			else if( fragmentElement.hasAttribute( 'data-notes' ) ) {
 				messageData.notes = fragmentElement.getAttribute( 'data-notes' );
 				messageData.whitespace = 'pre-wrap';
 
 				// In case there are slide notes
-				notesElement = null;
+				notesElements = null;
 			}
 		}
 
 		// Look for notes defined in an aside element
-		if( notesElement ) {
-			messageData.notes = notesElement.innerHTML;
-			messageData.markdown = typeof notesElement.getAttribute( 'data-markdown' ) === 'string';
+		if( notesElements ) {
+			messageData.notes = Array.from(notesElements).map( notesElement => notesElement.innerHTML ).join( '\n' );
+			messageData.markdown = typeof notesElements[0].getAttribute( 'data-markdown' ) === 'string';
 		}
 
 		speakerWindow.postMessage( JSON.stringify( messageData ), '*' );

File diff ditekan karena terlalu besar
+ 0 - 0
plugin/search/search.esm.js


File diff ditekan karena terlalu besar
+ 0 - 0
plugin/search/search.js


File diff ditekan karena terlalu besar
+ 0 - 0
plugin/zoom/zoom.esm.js


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini