From f350c6a5cdc6f7ae01bb490896329cf6533156b6 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Sat, 4 Aug 2012 15:45:13 -0400 Subject: [PATCH] support for PDF export in chrome (closes #92) --- README.md | 1 + css/main.css | 2 + css/print-pdf.css | 147 ++++++++++++++++++++++++++++++++++++++++++++++ css/print.css | 9 ++- index.html | 17 +++--- js/reveal.js | 2 +- 6 files changed, 165 insertions(+), 13 deletions(-) create mode 100644 css/print-pdf.css diff --git a/README.md b/README.md index b03fbb01..484b27b8 100644 --- a/README.md +++ b/README.md @@ -206,6 +206,7 @@ You can change the appearance of the speaker notes by editing the file at `plugi - Fixed bug where hovering 3D links in Chrome caused them to disappear - Disable 3D links in IE and more accurate CSS feature detection - CSS is more relative in sizing to allow for low resolutions. Thanks [StereotypicalApps](https://github.com/StereotypicalApps) +- PDF export #### 1.4 - Main ```#reveal container``` is now selected via a class instead of ID diff --git a/css/main.css b/css/main.css index 621857be..9a334217 100644 --- a/css/main.css +++ b/css/main.css @@ -216,6 +216,7 @@ body { .reveal code { font-family: monospace; + overflow-x: auto; } .reveal table th, @@ -474,6 +475,7 @@ body { top: 50%; margin-top: -320px; padding: 20px 0px; + overflow: visible; text-align: center; diff --git a/css/print-pdf.css b/css/print-pdf.css new file mode 100644 index 00000000..c784253e --- /dev/null +++ b/css/print-pdf.css @@ -0,0 +1,147 @@ +/* Default Print Stylesheet Template + by Rob Glazebrook of CSSnewbie.com + Last Updated: June 4, 2008 + + Feel free (nay, compelled) to edit, append, and + manipulate this file as you see fit. */ + + +/* SECTION 1: Set default width, margin, float, and + background. This prevents elements from extending + beyond the edge of the printed page, and prevents + unnecessary background images from printing */ +* { + -webkit-print-color-adjust: exact; +} + +body { + font-size: 20pt; + width: auto; + height: auto; + border: 0; + margin: 0 5%; + padding: 0; + float: none !important; + overflow: visible; +} + +html { + width: auto; + height: auto; + overflow: visible; +} + +/* SECTION 2: Remove any elements not needed in print. + This would include navigation, ads, sidebars, etc. */ +.nestedarrow, +.controls a, +.reveal .progress, +.reveal.overview, +.fork-reveal, +.share-reveal, +.state-background { + display:none; +} + +/* SECTION 3: Set body font face, size, and color. + Consider using a serif font for readability. */ +body, p, td, li, div, a { + font-size: 20pt; +} + +/* SECTION 4: Set heading font face, sizes, and color. + Diffrentiate your headings from your body text. + Perhaps use a large sans-serif for distinction. */ +h1,h2,h3,h4,h5,h6 { + text-shadow: 0 0 0 #000 !important; +} + +/* SECTION 5: Make hyperlinks more usable. + Ensure links are underlined, and consider appending + the URL to the end of the link for usability. */ +a:link, +a:visited { + font-weight: bold; + text-decoration: underline; +} + + +/* SECTION 6: more reveal.js specific additions by @skypanther */ +ul, ol, div, p { + visibility: visible; + position: static; + width: auto; + height: auto; + display: block; + overflow: visible; + margin: auto; +} +.reveal .slides { + position: static; + width: 100%; + height: auto; + + left: auto; + top: auto; + margin-left: auto; + margin-top: auto; + padding: auto; + + overflow: visible; + display: block; + + text-align: center; + -webkit-perspective: none; + -moz-perspective: none; + -ms-perspective: none; + perspective: none; + + -webkit-perspective-origin: 50% 50%; /* there isn't a none/auto value but 50-50 is the default */ + -moz-perspective-origin: 50% 50%; + -ms-perspective-origin: 50% 50%; + perspective-origin: 50% 50%; +} +.reveal .slides>section, .reveal .slides>section>section, +.reveal .slides>section.past, .reveal .slides>section.future, +.reveal.linear .slides>section, .reveal.linear .slides>section>section, +.reveal.linear .slides>section.past, .reveal.linear .slides>section.future { + + visibility: visible; + position: static; + width: 100%; + height: auto; + display: block; + overflow: visible; + + left: 0%; + top: 0%; + margin-left: 0px; + margin-top: 15%; + padding: 20px 0px; + + opacity: 1; + + -webkit-transform-style: flat; + -moz-transform-style: flat; + -ms-transform-style: flat; + transform-style: flat; + + -webkit-transform: none; + -moz-transform: none; + -ms-transform: none; + transform: none; +} +.reveal section { + page-break-after: always !important; + display: block !important; +} +.reveal section.stack { + margin-top: 0% !important; + page-break-after: avoid !important; +} +.reveal section .fragment { + opacity: 1 !important; +} +.reveal img { + box-shadow: none; +} \ No newline at end of file diff --git a/css/print.css b/css/print.css index 519120ed..0ac55975 100644 --- a/css/print.css +++ b/css/print.css @@ -11,7 +11,7 @@ beyond the edge of the printed page, and prevents unnecessary background images from printing */ body { - background: #fff url(none); + background: #fff; font-size: 13pt; width: auto; height: auto; @@ -32,8 +32,11 @@ html { This would include navigation, ads, sidebars, etc. */ .nestedarrow, .controls a, -.reveal .progress span, -.reveal.overview { +.reveal .progress, +.reveal.overview, +.fork-reveal, +.share-reveal, +.state-background { display:none; } diff --git a/index.html b/index.html index 2845842c..c4cf2941 100644 --- a/index.html +++ b/index.html @@ -16,10 +16,13 @@ - - + + @@ -36,11 +39,7 @@

Reveal.js

-

CSS 3D Presentations

- +

HTML Presentations Made Easy

@@ -223,7 +222,7 @@ function linkify( selector ) {

Intergalactic Interconnections

- You can link between slides internally,
+ You can link between slides internally, like this.

@@ -333,7 +332,7 @@ function linkify( selector ) { // Load the scripts and, when completed, initialize reveal.js head.js.apply( null, scripts ); - + x diff --git a/js/reveal.js b/js/reveal.js index 432f80db..593fad41 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -1,5 +1,5 @@ /*! - * reveal.js 1.5 r13 + * reveal.js 1.5 r14 * http://lab.hakim.se/reveal-js * MIT licensed *