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 );
|
numberElement.innerHTML = formatSlideNumber( slideNumberH, '.', slideNumberV );
|
||||||
page.appendChild( numberElement );
|
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
|
// Notify subscribers that the PDF layout is good to go
|
||||||
dispatchEvent( 'pdf-ready' );
|
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.
|
* Hides the address bar if we're on a mobile device.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue