server side notes plugin now supports input via data-notes attribute
This commit is contained in:
		| @@ -1,12 +1,13 @@ | |||||||
| (function() { | (function() { | ||||||
| 	// don't emit events from inside the previews themselves | 	// don't emit events from inside the previews themselves | ||||||
| 	if ( window.location.search.match( /receiver/gi ) ) { return; } | 	if( window.location.search.match( /receiver/gi ) ) { return; } | ||||||
|  |  | ||||||
| 	var socket = io.connect(window.location.origin); | 	var socket = io.connect( window.location.origin ); | ||||||
| 	var socketId = Math.random().toString().slice(2); | 	var socketId = Math.random().toString().slice( 2 ); | ||||||
|  |  | ||||||
| 	console.log('View slide notes at ' + window.location.origin + '/notes/' + socketId); | 	console.log( 'View slide notes at ' + window.location.origin + '/notes/' + socketId ); | ||||||
| 	window.open(window.location.origin + '/notes/' + socketId, 'notes-' + socketId); |  | ||||||
|  | 	window.open( window.location.origin + '/notes/' + socketId, 'notes-' + socketId ); | ||||||
|  |  | ||||||
| 	// Fires when a fragment is shown | 	// Fires when a fragment is shown | ||||||
| 	Reveal.addEventListener( 'fragmentshown', function( event ) { | 	Reveal.addEventListener( 'fragmentshown', function( event ) { | ||||||
| @@ -23,16 +24,17 @@ | |||||||
| 			fragment : 'previous', | 			fragment : 'previous', | ||||||
| 			socketId : socketId | 			socketId : socketId | ||||||
| 		}; | 		}; | ||||||
| 		socket.emit('fragmentchanged', fragmentData); | 		socket.emit( 'fragmentchanged', fragmentData ); | ||||||
| 	} ); | 	} ); | ||||||
|  |  | ||||||
| 	// Fires when slide is changed | 	// Fires when slide is changed | ||||||
| 	Reveal.addEventListener( 'slidechanged', function( event ) { | 	Reveal.addEventListener( 'slidechanged', function( event ) { | ||||||
| 		var nextindexh; | 		var nextindexh, | ||||||
| 		var nextindexv; | 			nextindexv, | ||||||
| 		var slideElement = event.currentSlide; | 			slideElement = event.currentSlide, | ||||||
|  | 			notesElement = slideElement.querySelector( 'aside.notes' ); | ||||||
|  |  | ||||||
| 		if (slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION') { | 		if( slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION' ) { | ||||||
| 			nextindexh = event.indexh; | 			nextindexh = event.indexh; | ||||||
| 			nextindexv = event.indexv + 1; | 			nextindexv = event.indexv + 1; | ||||||
| 		} else { | 		} else { | ||||||
| @@ -40,18 +42,27 @@ | |||||||
| 			nextindexv = 0; | 			nextindexv = 0; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		var notes = slideElement.querySelector('aside.notes'); | 		var messageData = { | ||||||
| 		var slideData = { | 			notes : '', | ||||||
| 			notes : notes ? notes.innerHTML : '', |  | ||||||
| 			indexh : event.indexh, | 			indexh : event.indexh, | ||||||
| 			indexv : event.indexv, | 			indexv : event.indexv, | ||||||
| 			nextindexh : nextindexh, | 			nextindexh : nextindexh, | ||||||
| 			nextindexv : nextindexv, | 			nextindexv : nextindexv, | ||||||
| 			socketId : socketId, | 			socketId : socketId, | ||||||
| 			markdown : notes ? typeof notes.getAttribute('data-markdown') === 'string' : false | 			markdown : false | ||||||
|  |  | ||||||
| 		}; | 		}; | ||||||
|  |  | ||||||
| 		socket.emit('slidechanged', slideData); | 		// Look for notes defined in a slide attribute | ||||||
|  | 		if( slideElement.hasAttribute( 'data-notes' ) ) { | ||||||
|  | 			messageData.notes = slideElement.getAttribute( 'data-notes' ); | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		// Look for notes defined in an aside element | ||||||
|  | 		if( notesElement ) { | ||||||
|  | 			messageData.notes = notesElement.innerHTML; | ||||||
|  | 			messageData.markdown = typeof notesElement.getAttribute( 'data-markdown' ) === 'string'; | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		socket.emit( 'slidechanged', messageData ); | ||||||
| 	} ); | 	} ); | ||||||
| }()); | }()); | ||||||
|   | |||||||
| @@ -24,9 +24,7 @@ var RevealNotes = (function() { | |||||||
| 		function post() { | 		function post() { | ||||||
| 			var slideElement = Reveal.getCurrentSlide(), | 			var slideElement = Reveal.getCurrentSlide(), | ||||||
| 				slideIndices = Reveal.getIndices(), | 				slideIndices = Reveal.getIndices(), | ||||||
| 				messageData; | 				notesElement = slideElement.querySelector( 'aside.notes' ), | ||||||
|  |  | ||||||
| 			var notes = slideElement.querySelector( 'aside.notes' ), |  | ||||||
| 				nextindexh, | 				nextindexh, | ||||||
| 				nextindexv; | 				nextindexv; | ||||||
|  |  | ||||||
| @@ -38,16 +36,27 @@ var RevealNotes = (function() { | |||||||
| 				nextindexv = 0; | 				nextindexv = 0; | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			messageData = { | 			var messageData = { | ||||||
| 				notes : notes ? notes.innerHTML : '', | 				notes : '', | ||||||
| 				indexh : slideIndices.h, | 				indexh : slideIndices.h, | ||||||
| 				indexv : slideIndices.v, | 				indexv : slideIndices.v, | ||||||
| 				indexf : slideIndices.f, | 				indexf : slideIndices.f, | ||||||
| 				nextindexh : nextindexh, | 				nextindexh : nextindexh, | ||||||
| 				nextindexv : nextindexv, | 				nextindexv : nextindexv, | ||||||
| 				markdown : notes ? typeof notes.getAttribute( 'data-markdown' ) === 'string' : false | 				markdown : false | ||||||
| 			}; | 			}; | ||||||
|  |  | ||||||
|  | 			// Look for notes defined in a slide attribute | ||||||
|  | 			if( slideElement.hasAttribute( 'data-notes' ) ) { | ||||||
|  | 				messageData.notes = slideElement.getAttribute( 'data-notes' ); | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			// Look for notes defined in an aside element | ||||||
|  | 			if( notesElement ) { | ||||||
|  | 				messageData.notes = notesElement.innerHTML; | ||||||
|  | 				messageData.markdown = typeof notesElement.getAttribute( 'data-markdown' ) === 'string'; | ||||||
|  | 			} | ||||||
|  |  | ||||||
| 			notesPopup.postMessage( JSON.stringify( messageData ), '*' ); | 			notesPopup.postMessage( JSON.stringify( messageData ), '*' ); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user