rc-web@42: (function() { rc-web@42: // don't emit events from inside the previews themselves rc-web@42: if ( window.location.search.match( /receiver/gi ) ) { return; } rc-web@42: rc-web@42: var socket = io.connect(window.location.origin); rc-web@42: var socketId = Math.random().toString().slice(2); rc-web@42: rc-web@42: console.log('View slide notes at ' + window.location.origin + '/notes/' + socketId); rc-web@42: rc-web@42: Reveal.addEventListener( 'slidechanged', function( event ) { rc-web@42: var nextindexh; rc-web@42: var nextindexv; rc-web@42: var slideElement = event.currentSlide; rc-web@42: rc-web@42: if (slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION') { rc-web@42: nextindexh = event.indexh; rc-web@42: nextindexv = event.indexv + 1; rc-web@42: } else { rc-web@42: nextindexh = event.indexh + 1; rc-web@42: nextindexv = 0; rc-web@42: } rc-web@42: rc-web@42: var notes = slideElement.querySelector('aside.notes'); rc-web@42: var slideData = { rc-web@42: notes : notes ? notes.innerHTML : '', rc-web@42: indexh : event.indexh, rc-web@42: indexv : event.indexv, rc-web@42: nextindexh : nextindexh, rc-web@42: nextindexv : nextindexv, rc-web@42: socketId : socketId rc-web@42: }; rc-web@42: rc-web@42: socket.emit('slidechanged', slideData); rc-web@42: } ); rc-web@42: }());