PDF export: add option to export one page per fragment
This commit is contained in:
parent
43eada7990
commit
a2cf23b30c
42
js/reveal.js
42
js/reveal.js
|
@ -727,14 +727,39 @@
|
|||
numberElement.innerHTML = formatSlideNumber( slideNumberH, '.', slideNumberV );
|
||||
page.appendChild( numberElement );
|
||||
}
|
||||
|
||||
// Copy page and show fragments one after another
|
||||
if ( isPrintingPDFFragments() ) {
|
||||
|
||||
var numberOfFragments = toArray( page.querySelectorAll( '.fragment' ) ).length;
|
||||
|
||||
for ( var currentFragment = 0; currentFragment < numberOfFragments; currentFragment++ ) {
|
||||
var clonedPage = page.cloneNode( true );
|
||||
page.parentNode.insertBefore( clonedPage, page.nextSibling );
|
||||
|
||||
toArray( sortFragments( clonedPage.querySelectorAll( '.fragment' ))).forEach( function ( fragment, fragmentIndex ) {
|
||||
if ( fragmentIndex <= currentFragment ) {
|
||||
fragment.classList.add( 'visible' );
|
||||
} else {
|
||||
fragment.classList.remove( 'visible' );
|
||||
}
|
||||
} );
|
||||
|
||||
page = clonedPage;
|
||||
}
|
||||
|
||||
}
|
||||
// Show all fragments
|
||||
else {
|
||||
toArray( page.querySelectorAll( '.fragment' ) ).forEach( function( fragment ) {
|
||||
fragment.classList.add( 'visible' );
|
||||
} );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} );
|
||||
|
||||
// Show all fragments
|
||||
toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ' .fragment' ) ).forEach( function( fragment ) {
|
||||
fragment.classList.add( 'visible' );
|
||||
} );
|
||||
|
||||
// Notify subscribers that the PDF layout is good to go
|
||||
dispatchEvent( 'pdf-ready' );
|
||||
|
@ -1497,6 +1522,15 @@
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if this instance is being used to print a PDF with fragments.
|
||||
*/
|
||||
function isPrintingPDFFragments() {
|
||||
|
||||
return ( /print-pdf-fragments/gi ).test( window.location.search );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Hides the address bar if we're on a mobile device.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue