text: (function() {
    // Don't emit events from inside of notes windows
    if (window.location.search.match(/receiver/gi)) {
      return;
    }
  
    var multiplex = Reveal.getConfig().multiplex;
  
    var socket = io.connect(multiplex.url);
  
    function post() {
      var messageData = {
        state: Reveal.getState(),
        secret: multiplex.secret,
        socketId: multiplex.id
      };
  
      socket.emit("multiplex-statechanged", messageData);
    }
  
    // post once the page is loaded, so the client follows also on "open URL".
    window.addEventListener("load", post);
  
    // Monitor events that trigger a change in state
    Reveal.addEventListener("slidechanged", post);
    Reveal.addEventListener("fragmentshown", post);
    Reveal.addEventListener("fragmenthidden", post);
    Reveal.addEventListener("overviewhidden", post);
    Reveal.addEventListener("overviewshown", post);
    Reveal.addEventListener("paused", post);
    Reveal.addEventListener("resumed", post);
  })();
  