diff --git a/shower.js b/shower.js index 93e4a4d..3d13985 100755 --- a/shower.js +++ b/shower.js @@ -18,7 +18,7 @@ window.shower = (function(window, document, undefined) { */ shower._getData = function(element, name) { return element.dataset ? element.dataset[name] : element.getAttribute('data-' + name); - } + }; for (i = 0; i < l; i++) { // Slide ID's are optional. In case of missing ID we set it to the @@ -132,10 +132,14 @@ window.shower = (function(window, document, undefined) { */ shower.enterSlideMode = function() { // check if it's already in slide mode... - if ( body.classList.contains('full') ) { return; } - + if (body.classList.contains('full')) { return; } + body.classList.remove('list'); body.classList.add('full'); + + if (window.console && window.console.clear) { console.clear(); } + shower.showPresenterNotes(shower.getCurrentSlideNumber()); + return shower._applyTransform(shower._getTransform()); }; @@ -145,8 +149,8 @@ window.shower = (function(window, document, undefined) { */ shower.enterListMode = function() { // check if it's already in list mode... - if ( body.classList.contains('list') ) { return; } - + if (body.classList.contains('list')) { return; } + body.classList.remove('full'); body.classList.add('list'); return shower._applyTransform('none'); @@ -306,6 +310,31 @@ window.shower = (function(window, document, undefined) { return true; }; + /** + * Show presenter notes in console. + * @param {number} slideNumber slide number (sic!). Attention: starts from zero. + */ + shower.showPresenterNotes = function(slideNumber) { + if (window.console) { + slideNumber = shower._normalizeSlideNumber(slideNumber); + + var slideId = slideList[slideNumber].id; + var nextSlideId = slideList[slideNumber + 1] ? slideList[slideNumber + 1].id : null; + + var notes = document.getElementById(slideId).querySelector('.presenter-notes'); + if (notes) { + console.info(notes.innerHTML.replace(/\n\s+/g,'\n')); + } + if (nextSlideId) { + var next = document.getElementById(nextSlideId).querySelector('h2'); + if (next) { + next = next.innerHTML.replace(/^\s+|<[^>]+>/g,''); + console.info('NEXT: ' + next); + } + } + } + }; + /** * Get slide hash. * @param {number} slideNumber slide number (sic!). Attention: starts from zero. @@ -336,6 +365,7 @@ window.shower = (function(window, document, undefined) { if ( ! shower.isListMode()) { shower.updateProgress(slideNumber); shower.updateCurrentAndPassedSlides(slideNumber); + shower.showPresenterNotes(slideNumber); } return slideNumber;