server side notes plugin now supports input via data-notes attribute
This commit is contained in:
		@@ -1,12 +1,13 @@
 | 
			
		||||
(function() {
 | 
			
		||||
	// 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 socketId = Math.random().toString().slice(2);
 | 
			
		||||
	
 | 
			
		||||
	console.log('View slide notes at ' + window.location.origin + '/notes/' + socketId);
 | 
			
		||||
	window.open(window.location.origin + '/notes/' + socketId, 'notes-' + socketId);
 | 
			
		||||
	var socket = io.connect( window.location.origin );
 | 
			
		||||
	var socketId = Math.random().toString().slice( 2 );
 | 
			
		||||
 | 
			
		||||
	console.log( 'View slide notes at ' + window.location.origin + '/notes/' + socketId );
 | 
			
		||||
 | 
			
		||||
	window.open( window.location.origin + '/notes/' + socketId, 'notes-' + socketId );
 | 
			
		||||
 | 
			
		||||
	// Fires when a fragment is shown
 | 
			
		||||
	Reveal.addEventListener( 'fragmentshown', function( event ) {
 | 
			
		||||
@@ -23,16 +24,17 @@
 | 
			
		||||
			fragment : 'previous',
 | 
			
		||||
			socketId : socketId
 | 
			
		||||
		};
 | 
			
		||||
		socket.emit('fragmentchanged', fragmentData);
 | 
			
		||||
		socket.emit( 'fragmentchanged', fragmentData );
 | 
			
		||||
	} );
 | 
			
		||||
 | 
			
		||||
	// Fires when slide is changed
 | 
			
		||||
	Reveal.addEventListener( 'slidechanged', function( event ) {
 | 
			
		||||
		var nextindexh;
 | 
			
		||||
		var nextindexv;
 | 
			
		||||
		var slideElement = event.currentSlide;
 | 
			
		||||
		var nextindexh,
 | 
			
		||||
			nextindexv,
 | 
			
		||||
			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;
 | 
			
		||||
			nextindexv = event.indexv + 1;
 | 
			
		||||
		} else {
 | 
			
		||||
@@ -40,18 +42,27 @@
 | 
			
		||||
			nextindexv = 0;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		var notes = slideElement.querySelector('aside.notes');
 | 
			
		||||
		var slideData = {
 | 
			
		||||
			notes : notes ? notes.innerHTML : '',
 | 
			
		||||
		var messageData = {
 | 
			
		||||
			notes : '',
 | 
			
		||||
			indexh : event.indexh,
 | 
			
		||||
			indexv : event.indexv,
 | 
			
		||||
			nextindexh : nextindexh,
 | 
			
		||||
			nextindexv : nextindexv,
 | 
			
		||||
			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() {
 | 
			
		||||
			var slideElement = Reveal.getCurrentSlide(),
 | 
			
		||||
				slideIndices = Reveal.getIndices(),
 | 
			
		||||
				messageData;
 | 
			
		||||
 | 
			
		||||
			var notes = slideElement.querySelector( 'aside.notes' ),
 | 
			
		||||
				notesElement = slideElement.querySelector( 'aside.notes' ),
 | 
			
		||||
				nextindexh,
 | 
			
		||||
				nextindexv;
 | 
			
		||||
 | 
			
		||||
@@ -38,16 +36,27 @@ var RevealNotes = (function() {
 | 
			
		||||
				nextindexv = 0;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			messageData = {
 | 
			
		||||
				notes : notes ? notes.innerHTML : '',
 | 
			
		||||
			var messageData = {
 | 
			
		||||
				notes : '',
 | 
			
		||||
				indexh : slideIndices.h,
 | 
			
		||||
				indexv : slideIndices.v,
 | 
			
		||||
				indexf : slideIndices.f,
 | 
			
		||||
				nextindexh : nextindexh,
 | 
			
		||||
				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 ), '*' );
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user