Replacing speakernotes plugin with a simple postMessage system

This commit is contained in:
Eric J. Duran
2012-10-17 17:46:43 -04:00
parent 558c21e1a3
commit 070a1e3ee5
4 changed files with 52 additions and 123 deletions

View File

@ -350,7 +350,36 @@ function linkify( selector ) {
{ src: 'plugin/speakernotes/client.js', async: true, condition: function() { return window.location.host === 'localhost:1947'; } }
]
});
// Set up simple postMessage notes system.
var url = window.location.href;
if(url.indexOf('?' + 'notes' + '=') !== 'true') {
var notesPopup = window.open('notes.html');
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,
markdown : notes ? typeof notes.getAttribute('data-markdown') === 'string' : false
};
notesPopup.postMessage(JSON.stringify(slideData), '*');
});
}
</script>
</body>