conditional loading of socket.io and the notes client js based on window host
This commit is contained in:
parent
421afe6368
commit
0e86400943
4 changed files with 52 additions and 6 deletions
18
index.html
18
index.html
|
@ -4,7 +4,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<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="description" content="An easy to use CSS 3D slideshow tool for quickly creating good looking HTML presentations.">
|
||||||
<meta name="author" content="Hakim El Hattab">
|
<meta name="author" content="Hakim El Hattab">
|
||||||
|
@ -313,11 +313,21 @@ linkify( 'a' );
|
||||||
transition: query.transition || 'default' // default/cube/page/concave/linear(2d)
|
transition: query.transition || 'default' // default/cube/page/concave/linear(2d)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Fire off syntax highlighting for potential code samples in the slides
|
||||||
hljs.initHighlightingOnLoad();
|
hljs.initHighlightingOnLoad();
|
||||||
|
|
||||||
|
// 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>
|
</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>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
35
js/reveal.slidenotes.js
Normal file
35
js/reveal.slidenotes.js
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
(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 socket = io.connect(window.location.origin);
|
||||||
var socketId = Math.random().toString().slice(2);
|
var socketId = Math.random().toString().slice(2);
|
||||||
|
|
||||||
console.log('View slide notes at ' + window.location.origin + '/notes/' + socketId);
|
console.log('View slide notes at ' + window.location.origin + '/notes/' + socketId);
|
||||||
|
|
||||||
Reveal.addEventListener( 'slidechanged', function( event ) {
|
Reveal.addEventListener( 'slidechanged', function( event ) {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
|
|
||||||
<title>Slide Notes</title>
|
<title>reveal.js - Slide Notes</title>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
#notes {
|
#notes {
|
||||||
|
|
Loading…
Reference in a new issue