Skip to content
Snippets Groups Projects
Commit 0e864009 authored by Hakim El Hattab's avatar Hakim El Hattab
Browse files

conditional loading of socket.io and the notes client js based on window host

parent 421afe63
No related branches found
No related tags found
No related merge requests found
......@@ -4,7 +4,7 @@
<head>
<meta charset="utf-8">
<title>reveal.js</title>
<title>reveal.js - HTML5 Presentations</title>
<meta name="description" content="An easy to use CSS 3D slideshow tool for quickly creating good looking HTML presentations.">
<meta name="author" content="Hakim El Hattab">
......@@ -313,11 +313,21 @@ linkify( 'a' );
transition: query.transition || 'default' // default/cube/page/concave/linear(2d)
});
// Fire off syntax highlighting for potential code samples in the slides
hljs.initHighlightingOnLoad();
</script>
<!-- The next two lines enable the speaker notes server -->
<script src="socket.io/socket.io.js"></script>
<script src="lib/slidenotes/client.js"></script>
// If we're runnning the notes node server we need to include some
// additional JS
if( window.location.host === 'localhost:1947' ) {
var notes_socket = document.createElement( 'script' );
notes_socket.setAttribute( 'src', 'socket.io/socket.io.js' );
document.body.appendChild( notes_socket );
var notes_client = document.createElement( 'script' );
notes_client.setAttribute( 'src', 'lib/slidenotes/client.js' );
document.body.appendChild( notes_client );
}
</script>
</body>
</html>
\ No newline at end of file
(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; }
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);
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);
} );
}());
......@@ -5,6 +5,7 @@
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);
Reveal.addEventListener( 'slidechanged', function( event ) {
......
......@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>Slide Notes</title>
<title>reveal.js - Slide Notes</title>
<style>
#notes {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment