Skip to content

Commit

Permalink
getSlideBackground now works in pdf mode, add pdf tests
Browse files Browse the repository at this point in the history
  • Loading branch information
hakimel committed Apr 27, 2014
1 parent 41e1e01 commit 860580d
Show file tree
Hide file tree
Showing 4 changed files with 108 additions and 2 deletions.
1 change: 1 addition & 0 deletions css/print/pdf.css
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ ul, ol, div, p {

/* Slide backgrounds are placed inside of their slide when exporting to PDF */
.reveal section .slide-background {
display: block !important;
position: absolute;
top: 0;
left: 0;
Expand Down
11 changes: 9 additions & 2 deletions js/reveal.js
Original file line number Diff line number Diff line change
Expand Up @@ -2693,11 +2693,18 @@ var Reveal = (function(){
/**
* Returns the background element for the given slide.
* All slides, even the ones with no background properties
* defined, have a background element so this never returns
* null.
* defined, have a background element so as long as the
* index is valid an element will be returned.
*/
function getSlideBackground( x, y ) {

// When printing to PDF the slide backgrounds are nested
// inside of the slides
if( isPrintingPDF() ) {
var slide = getSlide( x, y );
return slide ? slide.querySelector( '.slide-background' ) : undefined;
}

var horizontalBackground = document.querySelectorAll( '.backgrounds>.slide-background' )[ x ];
var verticalBackgrounds = horizontalBackground && horizontalBackground.querySelectorAll( '.slide-background' );

Expand Down
83 changes: 83 additions & 0 deletions test/test-pdf.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<!doctype html>
<html lang="en">

<head>
<meta charset="utf-8">

<title>reveal.js - Test PDF exports</title>

<link rel="stylesheet" href="../css/reveal.css">
<link rel="stylesheet" href="../css/print/pdf.css">
<link rel="stylesheet" href="qunit-1.12.0.css">
</head>

<body style="overflow: auto;">

<div id="qunit"></div>
<div id="qunit-fixture"></div>

<div class="reveal" style="display: none;">

<div class="slides">

<section>
<h1>1</h1>
<img data-src="fake-url.png">
</section>

<section>
<section>
<h1>2.1</h1>
</section>
<section>
<h1>2.2</h1>
</section>
<section>
<h1>2.3</h1>
</section>
</section>

<section id="fragment-slides">
<section>
<h1>3.1</h1>
<ul>
<li class="fragment">4.1</li>
<li class="fragment">4.2</li>
<li class="fragment">4.3</li>
</ul>
</section>

<section>
<h1>3.2</h1>
<ul>
<li class="fragment" data-fragment-index="0">4.1</li>
<li class="fragment" data-fragment-index="0">4.2</li>
</ul>
</section>

<section>
<h1>3.3</h1>
<ul>
<li class="fragment" data-fragment-index="1">3.3.1</li>
<li class="fragment" data-fragment-index="4">3.3.2</li>
<li class="fragment" data-fragment-index="4">3.3.3</li>
</ul>
</section>
</section>

<section>
<h1>4</h1>
</section>

</div>

</div>

<script src="../lib/js/head.min.js"></script>
<script src="../js/reveal.js"></script>
<script src="qunit-1.12.0.js"></script>

<script src="test-pdf.js"></script>

</body>
</html>
15 changes: 15 additions & 0 deletions test/test-pdf.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@

Reveal.addEventListener( 'ready', function() {

// Only one test for now, we're mainly ensuring that there
// are no execution errors when running PDF mode

test( 'Reveal.isReady', function() {
strictEqual( Reveal.isReady(), true, 'returns true' );
});


} );

Reveal.initialize({ pdf: true });

0 comments on commit 860580d

Please sign in to comment.