From 731598f7c8fdb2b5fa6ade3f3e351958a5ba1a28 Mon Sep 17 00:00:00 2001
From: Hakim El Hattab <hakim.elhattab@gmail.com>
Date: Fri, 11 Apr 2014 09:40:44 +0200
Subject: [PATCH] make all slides 'present' while printing

---
 js/reveal.js | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/js/reveal.js b/js/reveal.js
index 6daa9f8..962a7cd 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -1744,6 +1744,8 @@ var Reveal = (function(){
 		var slides = toArray( document.querySelectorAll( selector ) ),
 			slidesLength = slides.length;
 
+		var printMode = isPrintingPDF();
+
 		if( slidesLength ) {
 
 			// Should the index loop?
@@ -1770,6 +1772,17 @@ var Reveal = (function(){
 				// http://www.w3.org/html/wg/drafts/html/master/editing.html#the-hidden-attribute
 				element.setAttribute( 'hidden', '' );
 
+				// If this element contains vertical slides
+				if( element.querySelector( 'section' ) ) {
+					element.classList.add( 'stack' );
+				}
+
+				// If we're printing static slides, all slides are "present"
+				if( printMode ) {
+					element.classList.add( 'present' );
+					continue;
+				}
+
 				if( i < index ) {
 					// Any element previous to index is given the 'past' class
 					element.classList.add( reverse ? 'future' : 'past' );
@@ -1800,11 +1813,6 @@ var Reveal = (function(){
 						}
 					}
 				}
-
-				// If this element contains vertical slides
-				if( element.querySelector( 'section' ) ) {
-					element.classList.add( 'stack' );
-				}
 			}
 
 			// Mark the current slide as present
-- 
GitLab