Skip to content

Commit a861461

Browse files
committed
Merge branch 'master' of https://github.com/koehlma/reveal.js into dev
2 parents a9e95e7 + 08e0f5e commit a861461

File tree

1 file changed

+38
-4
lines changed

1 file changed

+38
-4
lines changed

js/reveal.js

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -787,14 +787,39 @@
787787
numberElement.innerHTML = formatSlideNumber( slideNumberH, '.', slideNumberV );
788788
page.appendChild( numberElement );
789789
}
790+
791+
// Copy page and show fragments one after another
792+
if ( isPrintingPDFFragments() ) {
793+
794+
var numberOfFragments = toArray( page.querySelectorAll( '.fragment' ) ).length;
795+
796+
for ( var currentFragment = 0; currentFragment < numberOfFragments; currentFragment++ ) {
797+
var clonedPage = page.cloneNode( true );
798+
page.parentNode.insertBefore( clonedPage, page.nextSibling );
799+
800+
toArray( sortFragments( clonedPage.querySelectorAll( '.fragment' ))).forEach( function ( fragment, fragmentIndex ) {
801+
if ( fragmentIndex <= currentFragment ) {
802+
fragment.classList.add( 'visible' );
803+
} else {
804+
fragment.classList.remove( 'visible' );
805+
}
806+
} );
807+
808+
page = clonedPage;
809+
}
810+
811+
}
812+
// Show all fragments
813+
else {
814+
toArray( page.querySelectorAll( '.fragment' ) ).forEach( function( fragment ) {
815+
fragment.classList.add( 'visible' );
816+
} );
817+
}
818+
790819
}
791820

792821
} );
793822

794-
// Show all fragments
795-
toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ' .fragment' ) ).forEach( function( fragment ) {
796-
fragment.classList.add( 'visible' );
797-
} );
798823

799824
// Notify subscribers that the PDF layout is good to go
800825
dispatchEvent( 'pdf-ready' );
@@ -1637,6 +1662,15 @@
16371662

16381663
}
16391664

1665+
/**
1666+
* Check if this instance is being used to print a PDF with fragments.
1667+
*/
1668+
function isPrintingPDFFragments() {
1669+
1670+
return ( /print-pdf-fragments/gi ).test( window.location.search );
1671+
1672+
}
1673+
16401674
/**
16411675
* Hides the address bar if we're on a mobile device.
16421676
*/

0 commit comments

Comments
 (0)