Resources attached to the Road To DevOps tutorial
https://blog.noobtoroot.xyz/road-to-devops/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.9 KiB
65 lines
1.9 KiB
(function() { |
|
|
|
// don't emit events from inside the previews themselves |
|
if( window.location.search.match( /receiver/gi ) ) { return; } |
|
|
|
var socket = io.connect( window.location.origin ), |
|
socketId = Math.random().toString().slice( 2 ); |
|
|
|
console.log( 'View slide notes at ' + window.location.origin + '/notes/' + socketId ); |
|
|
|
window.open( window.location.origin + '/notes/' + socketId, 'notes-' + socketId ); |
|
|
|
/** |
|
* Posts the current slide data to the notes window |
|
*/ |
|
function post() { |
|
|
|
var slideElement = Reveal.getCurrentSlide(), |
|
notesElement = slideElement.querySelector( 'aside.notes' ); |
|
|
|
var messageData = { |
|
notes: '', |
|
markdown: false, |
|
socketId: socketId, |
|
state: Reveal.getState() |
|
}; |
|
|
|
// Look for notes defined in a slide attribute |
|
if( slideElement.hasAttribute( 'data-notes' ) ) { |
|
messageData.notes = slideElement.getAttribute( 'data-notes' ); |
|
} |
|
|
|
// Look for notes defined in an aside element |
|
if( notesElement ) { |
|
messageData.notes = notesElement.innerHTML; |
|
messageData.markdown = typeof notesElement.getAttribute( 'data-markdown' ) === 'string'; |
|
} |
|
|
|
socket.emit( 'statechanged', messageData ); |
|
|
|
} |
|
|
|
// When a new notes window connects, post our current state |
|
socket.on( 'new-subscriber', function( data ) { |
|
post(); |
|
} ); |
|
|
|
// When the state changes from inside of the speaker view |
|
socket.on( 'statechanged-speaker', function( data ) { |
|
Reveal.setState( data.state ); |
|
} ); |
|
|
|
// 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 ); |
|
|
|
// Post the initial state |
|
post(); |
|
|
|
}());
|
|
|