Skip to content
Snippets Groups Projects
slidenotes.js 1.07 KiB
Newer Older
  • Learn to ignore specific revisions
  • (function() {
      // don't emit events from inside the previews themselves
      var qs = window.location.href.split('?');
      if (qs.length > 1 && qs[1].match('receiver')) { return; }
    
    
    Rebecca Murphey's avatar
    Rebecca Murphey committed
      var socket = io.connect(window.location.origin);
    
    Rebecca Murphey's avatar
    Rebecca Murphey committed
      var socketId = Math.random().toString().slice(2);
    
      console.log('View slide notes at ' + window.location.origin + '/_notes/' + socketId);
    
      Reveal.addEventListener( 'slidechanged', function( event ) {
        var nextindexh;
        var nextindexv;
        var slideElement = event.currentSlide;
    
        if (slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION') {
          nextindexh = event.indexh;
          nextindexv = event.indexv + 1;
        } else {
          nextindexh = event.indexh + 1;
          nextindexv = 0;
        }
    
        var notes = slideElement.querySelector('aside.notes');
        var slideData = {
          notes : notes ? notes.innerHTML : '',
          indexh : event.indexh,
          indexv : event.indexv,
          nextindexh : nextindexh,
    
          nextindexv : nextindexv,
          socketId : socketId
    
        };
    
        socket.emit('slidechanged', slideData);
      } );