From fa70a7a5174b16b1b4e9ccaf3f36cbb082cc8051 Mon Sep 17 00:00:00 2001
From: Hakim El Hattab <hakim.elhattab@gmail.com>
Date: Wed, 15 Feb 2017 11:43:57 +0100
Subject: [PATCH] phantom export throws error if reveal.js isn't present

---
 plugin/print-pdf/print-pdf.js | 38 ++++++++++++++++++++++-------------
 1 file changed, 24 insertions(+), 14 deletions(-)

diff --git a/plugin/print-pdf/print-pdf.js b/plugin/print-pdf/print-pdf.js
index c3c5d941..d1c3251b 100644
--- a/plugin/print-pdf/print-pdf.js
+++ b/plugin/print-pdf/print-pdf.js
@@ -31,20 +31,30 @@ probePage.open( inputFile, function( status ) {
 		return Reveal.getConfig();
 	} );
 
-	printPage.paperSize = {
-		width: config.width * ( 1 + config.margin ),
-		height: config.height * ( 1 + config.margin ),
-		border: 0
-	};
-
-	printPage.open( inputFile, function( status ) {
-		window.setTimeout( function() {
-			console.log( 'Export PDF: Writing file [3/3]' );
-			printPage.render( outputFile );
-			console.log( 'Export PDF: Finished successfully!' );
-			phantom.exit();
-		}, 1000 );
-	} );
+	if( config ) {
+
+		printPage.paperSize = {
+			width: Math.floor( config.width * ( 1 + config.margin ) ),
+			height: Math.floor( config.height * ( 1 + config.margin ) ),
+			border: 0
+		};
+
+		printPage.open( inputFile, function( status ) {
+			window.setTimeout( function() {
+				console.log( 'Export PDF: Writing file [3/3]' );
+				printPage.render( outputFile );
+				console.log( 'Export PDF: Finished successfully!' );
+				phantom.exit();
+			}, 1000 );
+		} );
+
+	}
+	else {
+
+        console.log( 'Export PDF: Unable to read reveal.js config. Make sure the input address points to a reveal.js page.' );
+        phantom.exit(1);
+
+    }
 
 } );
 
-- 
GitLab