Package paper and pdf style sheets and apply them conditionally

master
quilicicf 2020-03-10 14:03:30 +01:00
parent 5a5a5c9a6c
commit 499dc68536
No known key found for this signature in database
GPG Key ID: 0561A23A57B55DE1
13 changed files with 660 additions and 686 deletions

2
.gitignore vendored
View File

@ -9,5 +9,3 @@ log/*.log
tmp/** tmp/**
node_modules/ node_modules/
.sass-cache .sass-cache
css/reveal.min.css
js/reveal.min.js

View File

@ -1,203 +0,0 @@
/* 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. */
@media print {
/* 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 */
html {
background: #fff;
width: auto;
height: auto;
overflow: visible;
}
body {
background: #fff;
font-size: 20pt;
width: auto;
height: auto;
border: 0;
margin: 0 5%;
padding: 0;
overflow: visible;
float: none !important;
}
/* SECTION 2: Remove any elements not needed in print.
This would include navigation, ads, sidebars, etc. */
.nestedarrow,
.controls,
.fork-reveal,
.share-reveal,
.state-background,
.reveal .progress,
.reveal .backgrounds,
.reveal .slide-number {
display: none !important;
}
/* SECTION 3: Set body font face, size, and color.
Consider using a serif font for readability. */
body, p, td, li, div {
font-size: 20pt!important;
font-family: Georgia, "Times New Roman", Times, serif !important;
color: #000;
}
/* SECTION 4: Set heading font face, sizes, and color.
Differentiate your headings from your body text.
Perhaps use a large sans-serif for distinction. */
h1,h2,h3,h4,h5,h6 {
color: #000!important;
height: auto;
line-height: normal;
font-family: Georgia, "Times New Roman", Times, serif !important;
text-shadow: 0 0 0 #000 !important;
text-align: left;
letter-spacing: normal;
}
/* Need to reduce the size of the fonts for printing */
h1 { font-size: 28pt !important; }
h2 { font-size: 24pt !important; }
h3 { font-size: 22pt !important; }
h4 { font-size: 22pt !important; font-variant: small-caps; }
h5 { font-size: 21pt !important; }
h6 { font-size: 20pt !important; font-style: italic; }
/* 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 {
color: #000 !important;
font-weight: bold;
text-decoration: underline;
}
/*
.reveal a:link:after,
.reveal a:visited:after {
content: " (" attr(href) ") ";
color: #222 !important;
font-size: 90%;
}
*/
/* 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: 0;
text-align: left !important;
}
.reveal pre,
.reveal table {
margin-left: 0;
margin-right: 0;
}
.reveal pre code {
padding: 20px;
border: 1px solid #ddd;
}
.reveal blockquote {
margin: 20px 0;
}
.reveal .slides {
position: static !important;
width: auto !important;
height: auto !important;
left: 0 !important;
top: 0 !important;
margin-left: 0 !important;
margin-top: 0 !important;
padding: 0 !important;
zoom: 1 !important;
overflow: visible !important;
display: block !important;
text-align: left !important;
-webkit-perspective: none;
-moz-perspective: none;
-ms-perspective: none;
perspective: none;
-webkit-perspective-origin: 50% 50%;
-moz-perspective-origin: 50% 50%;
-ms-perspective-origin: 50% 50%;
perspective-origin: 50% 50%;
}
.reveal .slides section {
visibility: visible !important;
position: static !important;
width: auto !important;
height: auto !important;
display: block !important;
overflow: visible !important;
left: 0 !important;
top: 0 !important;
margin-left: 0 !important;
margin-top: 0 !important;
padding: 60px 20px !important;
z-index: auto !important;
opacity: 1 !important;
page-break-after: always !important;
-webkit-transform-style: flat !important;
-moz-transform-style: flat !important;
-ms-transform-style: flat !important;
transform-style: flat !important;
-webkit-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
transform: none !important;
-webkit-transition: none !important;
-moz-transition: none !important;
-ms-transition: none !important;
transition: none !important;
}
.reveal .slides section.stack {
padding: 0 !important;
}
.reveal section:last-of-type {
page-break-after: avoid !important;
}
.reveal section .fragment {
opacity: 1 !important;
visibility: visible !important;
-webkit-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
transform: none !important;
}
.reveal section img {
display: block;
margin: 15px 0px;
background: rgba(255,255,255,1);
border: 1px solid #666;
box-shadow: none;
}
.reveal section small {
font-size: 0.8em;
}
}

View File

@ -0,0 +1,202 @@
/* 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. */
@media print {
html:not(.print-pdf) {
/* 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 */
background: #fff;
width: auto;
height: auto;
overflow: visible;
body {
background: #fff;
font-size: 20pt;
width: auto;
height: auto;
border: 0;
margin: 0 5%;
padding: 0;
overflow: visible;
float: none !important;
}
/* SECTION 2: Remove any elements not needed in print.
This would include navigation, ads, sidebars, etc. */
.nestedarrow,
.controls,
.fork-reveal,
.share-reveal,
.state-background,
.reveal .progress,
.reveal .backgrounds,
.reveal .slide-number {
display: none !important;
}
/* SECTION 3: Set body font face, size, and color.
Consider using a serif font for readability. */
body, p, td, li, div {
font-size: 20pt!important;
font-family: Georgia, "Times New Roman", Times, serif !important;
color: #000;
}
/* SECTION 4: Set heading font face, sizes, and color.
Differentiate your headings from your body text.
Perhaps use a large sans-serif for distinction. */
h1,h2,h3,h4,h5,h6 {
color: #000!important;
height: auto;
line-height: normal;
font-family: Georgia, "Times New Roman", Times, serif !important;
text-shadow: 0 0 0 #000 !important;
text-align: left;
letter-spacing: normal;
}
/* Need to reduce the size of the fonts for printing */
h1 { font-size: 28pt !important; }
h2 { font-size: 24pt !important; }
h3 { font-size: 22pt !important; }
h4 { font-size: 22pt !important; font-variant: small-caps; }
h5 { font-size: 21pt !important; }
h6 { font-size: 20pt !important; font-style: italic; }
/* 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 {
color: #000 !important;
font-weight: bold;
text-decoration: underline;
}
/*
.reveal a:link:after,
.reveal a:visited:after {
content: " (" attr(href) ") ";
color: #222 !important;
font-size: 90%;
}
*/
/* 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: 0;
text-align: left !important;
}
.reveal pre,
.reveal table {
margin-left: 0;
margin-right: 0;
}
.reveal pre code {
padding: 20px;
border: 1px solid #ddd;
}
.reveal blockquote {
margin: 20px 0;
}
.reveal .slides {
position: static !important;
width: auto !important;
height: auto !important;
left: 0 !important;
top: 0 !important;
margin-left: 0 !important;
margin-top: 0 !important;
padding: 0 !important;
zoom: 1 !important;
overflow: visible !important;
display: block !important;
text-align: left !important;
-webkit-perspective: none;
-moz-perspective: none;
-ms-perspective: none;
perspective: none;
-webkit-perspective-origin: 50% 50%;
-moz-perspective-origin: 50% 50%;
-ms-perspective-origin: 50% 50%;
perspective-origin: 50% 50%;
}
.reveal .slides section {
visibility: visible !important;
position: static !important;
width: auto !important;
height: auto !important;
display: block !important;
overflow: visible !important;
left: 0 !important;
top: 0 !important;
margin-left: 0 !important;
margin-top: 0 !important;
padding: 60px 20px !important;
z-index: auto !important;
opacity: 1 !important;
page-break-after: always !important;
-webkit-transform-style: flat !important;
-moz-transform-style: flat !important;
-ms-transform-style: flat !important;
transform-style: flat !important;
-webkit-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
transform: none !important;
-webkit-transition: none !important;
-moz-transition: none !important;
-ms-transition: none !important;
transition: none !important;
}
.reveal .slides section.stack {
padding: 0 !important;
}
.reveal section:last-of-type {
page-break-after: avoid !important;
}
.reveal section .fragment {
opacity: 1 !important;
visibility: visible !important;
-webkit-transform: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
transform: none !important;
}
.reveal section img {
display: block;
margin: 15px 0px;
background: rgba(255,255,255,1);
border: 1px solid #666;
box-shadow: none;
}
.reveal section small {
font-size: 0.8em;
}
}
}

View File

@ -1,165 +0,0 @@
/**
* This stylesheet is used to print reveal.js
* presentations to PDF.
*
* https://github.com/hakimel/reveal.js#pdf-export
*/
* {
-webkit-print-color-adjust: exact;
}
body {
margin: 0 auto !important;
border: 0;
padding: 0;
float: none !important;
overflow: visible;
}
html {
width: 100%;
height: 100%;
overflow: visible;
}
/* Remove any elements not needed in print. */
.nestedarrow,
.reveal .controls,
.reveal .progress,
.reveal .playback,
.reveal.overview,
.fork-reveal,
.share-reveal,
.state-background {
display: none !important;
}
h1, h2, h3, h4, h5, h6 {
text-shadow: 0 0 0 #000 !important;
}
.reveal pre code {
overflow: hidden !important;
font-family: Courier, 'Courier New', monospace !important;
}
ul, ol, div, p {
visibility: visible;
position: static;
width: auto;
height: auto;
display: block;
overflow: visible;
margin: auto;
}
.reveal {
width: auto !important;
height: auto !important;
overflow: hidden !important;
}
.reveal .slides {
position: static;
width: 100% !important;
height: auto !important;
zoom: 1 !important;
pointer-events: initial;
left: auto;
top: auto;
margin: 0 !important;
padding: 0 !important;
overflow: visible;
display: block;
perspective: none;
perspective-origin: 50% 50%;
}
.reveal .slides .pdf-page {
position: relative;
overflow: hidden;
z-index: 1;
page-break-after: always;
}
.reveal .slides section {
visibility: visible !important;
display: block !important;
position: absolute !important;
margin: 0 !important;
padding: 0 !important;
box-sizing: border-box !important;
min-height: 1px;
opacity: 1 !important;
transform-style: flat !important;
transform: none !important;
}
.reveal section.stack {
position: relative !important;
margin: 0 !important;
padding: 0 !important;
page-break-after: avoid !important;
height: auto !important;
min-height: auto !important;
}
.reveal img {
box-shadow: none;
}
.reveal .roll {
overflow: visible;
line-height: 1em;
}
/* Slide backgrounds are placed inside of their slide when exporting to PDF */
.reveal .slide-background {
display: block !important;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: auto !important;
}
/* Display slide speaker notes when 'showNotes' is enabled */
.reveal.show-notes {
max-width: none;
max-height: none;
}
.reveal .speaker-notes-pdf {
display: block;
width: 100%;
height: auto;
max-height: none;
top: auto;
right: auto;
bottom: auto;
left: auto;
z-index: 100;
}
/* Layout option which makes notes appear on a separate page */
.reveal .speaker-notes-pdf[data-layout="separate-page"] {
position: relative;
color: inherit;
background-color: transparent;
padding: 20px;
page-break-after: always;
border: 0;
}
/* Display slide numbers when 'slideNumber' is enabled */
.reveal .slide-number-pdf {
display: block;
position: absolute;
font-size: 14px;
}

167
css/print/pdf.scss 100644
View File

@ -0,0 +1,167 @@
/**
* This stylesheet is used to print reveal.js
* presentations to PDF.
*
* https://github.com/hakimel/reveal.js#pdf-export
*/
html.print-pdf {
* {
-webkit-print-color-adjust: exact;
}
& {
width: 100%;
height: 100%;
overflow: visible;
}
body {
margin: 0 auto !important;
border: 0;
padding: 0;
float: none !important;
overflow: visible;
}
/* Remove any elements not needed in print. */
.nestedarrow,
.reveal .controls,
.reveal .progress,
.reveal .playback,
.reveal.overview,
.fork-reveal,
.share-reveal,
.state-background {
display: none !important;
}
h1, h2, h3, h4, h5, h6 {
text-shadow: 0 0 0 #000 !important;
}
.reveal pre code {
overflow: hidden !important;
font-family: Courier, 'Courier New', monospace !important;
}
ul, ol, div, p {
visibility: visible;
position: static;
width: auto;
height: auto;
display: block;
overflow: visible;
margin: auto;
}
.reveal {
width: auto !important;
height: auto !important;
overflow: hidden !important;
}
.reveal .slides {
position: static;
width: 100% !important;
height: auto !important;
zoom: 1 !important;
pointer-events: initial;
left: auto;
top: auto;
margin: 0 !important;
padding: 0 !important;
overflow: visible;
display: block;
perspective: none;
perspective-origin: 50% 50%;
}
.reveal .slides .pdf-page {
position: relative;
overflow: hidden;
z-index: 1;
page-break-after: always;
}
.reveal .slides section {
visibility: visible !important;
display: block !important;
position: absolute !important;
margin: 0 !important;
padding: 0 !important;
box-sizing: border-box !important;
min-height: 1px;
opacity: 1 !important;
transform-style: flat !important;
transform: none !important;
}
.reveal section.stack {
position: relative !important;
margin: 0 !important;
padding: 0 !important;
page-break-after: avoid !important;
height: auto !important;
min-height: auto !important;
}
.reveal img {
box-shadow: none;
}
.reveal .roll {
overflow: visible;
line-height: 1em;
}
/* Slide backgrounds are placed inside of their slide when exporting to PDF */
.reveal .slide-background {
display: block !important;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: auto !important;
}
/* Display slide speaker notes when 'showNotes' is enabled */
.reveal.show-notes {
max-width: none;
max-height: none;
}
.reveal .speaker-notes-pdf {
display: block;
width: 100%;
height: auto;
max-height: none;
top: auto;
right: auto;
bottom: auto;
left: auto;
z-index: 100;
}
/* Layout option which makes notes appear on a separate page */
.reveal .speaker-notes-pdf[data-layout="separate-page"] {
position: relative;
color: inherit;
background-color: transparent;
padding: 20px;
page-break-after: always;
border: 0;
}
/* Display slide numbers when 'slideNumber' is enabled */
.reveal .slide-number-pdf {
display: block;
position: absolute;
font-size: 14px;
}
}

View File

@ -18,17 +18,12 @@
<link rel="stylesheet" href="dist/reveal.css"> <link rel="stylesheet" href="dist/reveal.css">
<link rel="stylesheet" href="dist/theme/black.css" id="theme"> <link rel="stylesheet" href="dist/theme/black.css" id="theme">
<!-- Print on paper or PDF -->
<link rel="stylesheet" href="dist/print/paper.css">
<link rel="stylesheet" href="dist/print/pdf.css">
<!-- Theme used for syntax highlighting of code --> <!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="lib/css/monokai.css"> <link rel="stylesheet" href="lib/css/monokai.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'dist/print/pdf.css' : 'dist/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head> </head>
<body> <body>

320
dist/print/paper.css vendored
View File

@ -5,167 +5,167 @@
Feel free (nay, compelled) to edit, append, and Feel free (nay, compelled) to edit, append, and
manipulate this file as you see fit. */ manipulate this file as you see fit. */
@media print { @media print {
/* SECTION 1: Set default width, margin, float, and html:not(.print-pdf) {
background. This prevents elements from extending /* SECTION 1: Set default width, margin, float, and
beyond the edge of the printed page, and prevents background. This prevents elements from extending
unnecessary background images from printing */ beyond the edge of the printed page, and prevents
html { unnecessary background images from printing */
background: #fff; background: #fff;
width: auto; width: auto;
height: auto; height: auto;
overflow: visible; }
body {
background: #fff;
font-size: 20pt;
width: auto;
height: auto;
border: 0;
margin: 0 5%;
padding: 0;
overflow: visible; overflow: visible;
float: none !important; } /* SECTION 2: Remove any elements not needed in print.
/* SECTION 2: Remove any elements not needed in print. This would include navigation, ads, sidebars, etc. */
This would include navigation, ads, sidebars, etc. */ /* SECTION 3: Set body font face, size, and color.
.nestedarrow, Consider using a serif font for readability. */
.controls, /* SECTION 4: Set heading font face, sizes, and color.
.fork-reveal, Differentiate your headings from your body text.
.share-reveal, Perhaps use a large sans-serif for distinction. */
.state-background, /* Need to reduce the size of the fonts for printing */
.reveal .progress, /* SECTION 5: Make hyperlinks more usable.
.reveal .backgrounds, Ensure links are underlined, and consider appending
.reveal .slide-number { the URL to the end of the link for usability. */
display: none !important; } /*
/* SECTION 3: Set body font face, size, and color. .reveal a:link:after,
Consider using a serif font for readability. */ .reveal a:visited:after {
body, p, td, li, div { content: " (" attr(href) ") ";
font-size: 20pt !important; color: #222 !important;
font-family: Georgia, "Times New Roman", Times, serif !important; font-size: 90%;
color: #000; } }
/* SECTION 4: Set heading font face, sizes, and color. */
Differentiate your headings from your body text. /* SECTION 6: more reveal.js specific additions by @skypanther */ }
Perhaps use a large sans-serif for distinction. */ html:not(.print-pdf) body {
h1, h2, h3, h4, h5, h6 { background: #fff;
color: #000 !important; font-size: 20pt;
height: auto; width: auto;
line-height: normal; height: auto;
font-family: Georgia, "Times New Roman", Times, serif !important; border: 0;
text-shadow: 0 0 0 #000 !important; margin: 0 5%;
text-align: left; padding: 0;
letter-spacing: normal; } overflow: visible;
/* Need to reduce the size of the fonts for printing */ float: none !important; }
h1 { html:not(.print-pdf) .nestedarrow,
font-size: 28pt !important; } html:not(.print-pdf) .controls,
h2 { html:not(.print-pdf) .fork-reveal,
font-size: 24pt !important; } html:not(.print-pdf) .share-reveal,
h3 { html:not(.print-pdf) .state-background,
font-size: 22pt !important; } html:not(.print-pdf) .reveal .progress,
h4 { html:not(.print-pdf) .reveal .backgrounds,
font-size: 22pt !important; html:not(.print-pdf) .reveal .slide-number {
font-variant: small-caps; } display: none !important; }
h5 { html:not(.print-pdf) body, html:not(.print-pdf) p, html:not(.print-pdf) td, html:not(.print-pdf) li, html:not(.print-pdf) div {
font-size: 21pt !important; } font-size: 20pt !important;
h6 { font-family: Georgia, "Times New Roman", Times, serif !important;
font-size: 20pt !important; color: #000; }
font-style: italic; } html:not(.print-pdf) h1, html:not(.print-pdf) h2, html:not(.print-pdf) h3, html:not(.print-pdf) h4, html:not(.print-pdf) h5, html:not(.print-pdf) h6 {
/* SECTION 5: Make hyperlinks more usable. color: #000 !important;
Ensure links are underlined, and consider appending height: auto;
the URL to the end of the link for usability. */ line-height: normal;
a:link, font-family: Georgia, "Times New Roman", Times, serif !important;
a:visited { text-shadow: 0 0 0 #000 !important;
color: #000 !important; text-align: left;
font-weight: bold; letter-spacing: normal; }
text-decoration: underline; } html:not(.print-pdf) h1 {
/* font-size: 28pt !important; }
.reveal a:link:after, html:not(.print-pdf) h2 {
.reveal a:visited:after { font-size: 24pt !important; }
content: " (" attr(href) ") "; html:not(.print-pdf) h3 {
color: #222 !important; font-size: 22pt !important; }
font-size: 90%; html:not(.print-pdf) h4 {
} font-size: 22pt !important;
*/ font-variant: small-caps; }
/* SECTION 6: more reveal.js specific additions by @skypanther */ html:not(.print-pdf) h5 {
ul, ol, div, p { font-size: 21pt !important; }
visibility: visible; html:not(.print-pdf) h6 {
position: static; font-size: 20pt !important;
width: auto; font-style: italic; }
height: auto; html:not(.print-pdf) a:link,
display: block; html:not(.print-pdf) a:visited {
overflow: visible; color: #000 !important;
margin: 0; font-weight: bold;
text-align: left !important; } text-decoration: underline; }
.reveal pre, html:not(.print-pdf) ul, html:not(.print-pdf) ol, html:not(.print-pdf) div, html:not(.print-pdf) p {
.reveal table { visibility: visible;
margin-left: 0; position: static;
margin-right: 0; } width: auto;
.reveal pre code { height: auto;
padding: 20px; display: block;
border: 1px solid #ddd; } overflow: visible;
.reveal blockquote { margin: 0;
margin: 20px 0; } text-align: left !important; }
.reveal .slides { html:not(.print-pdf) .reveal pre,
position: static !important; html:not(.print-pdf) .reveal table {
width: auto !important; margin-left: 0;
height: auto !important; margin-right: 0; }
left: 0 !important; html:not(.print-pdf) .reveal pre code {
top: 0 !important; padding: 20px;
margin-left: 0 !important; border: 1px solid #ddd; }
margin-top: 0 !important; html:not(.print-pdf) .reveal blockquote {
padding: 0 !important; margin: 20px 0; }
zoom: 1 !important; html:not(.print-pdf) .reveal .slides {
overflow: visible !important; position: static !important;
display: block !important; width: auto !important;
text-align: left !important; height: auto !important;
-webkit-perspective: none; left: 0 !important;
-moz-perspective: none; top: 0 !important;
-ms-perspective: none; margin-left: 0 !important;
perspective: none; margin-top: 0 !important;
-webkit-perspective-origin: 50% 50%; padding: 0 !important;
-moz-perspective-origin: 50% 50%; zoom: 1 !important;
-ms-perspective-origin: 50% 50%; overflow: visible !important;
perspective-origin: 50% 50%; } display: block !important;
.reveal .slides section { text-align: left !important;
visibility: visible !important; -webkit-perspective: none;
position: static !important; -moz-perspective: none;
width: auto !important; -ms-perspective: none;
height: auto !important; perspective: none;
display: block !important; -webkit-perspective-origin: 50% 50%;
overflow: visible !important; -moz-perspective-origin: 50% 50%;
left: 0 !important; -ms-perspective-origin: 50% 50%;
top: 0 !important; perspective-origin: 50% 50%; }
margin-left: 0 !important; html:not(.print-pdf) .reveal .slides section {
margin-top: 0 !important; visibility: visible !important;
padding: 60px 20px !important; position: static !important;
z-index: auto !important; width: auto !important;
opacity: 1 !important; height: auto !important;
page-break-after: always !important; display: block !important;
-webkit-transform-style: flat !important; overflow: visible !important;
-moz-transform-style: flat !important; left: 0 !important;
-ms-transform-style: flat !important; top: 0 !important;
transform-style: flat !important; margin-left: 0 !important;
-webkit-transform: none !important; margin-top: 0 !important;
-moz-transform: none !important; padding: 60px 20px !important;
-ms-transform: none !important; z-index: auto !important;
transform: none !important; opacity: 1 !important;
-webkit-transition: none !important; page-break-after: always !important;
-moz-transition: none !important; -webkit-transform-style: flat !important;
-ms-transition: none !important; -moz-transform-style: flat !important;
transition: none !important; } -ms-transform-style: flat !important;
.reveal .slides section.stack { transform-style: flat !important;
padding: 0 !important; } -webkit-transform: none !important;
.reveal section:last-of-type { -moz-transform: none !important;
page-break-after: avoid !important; } -ms-transform: none !important;
.reveal section .fragment { transform: none !important;
opacity: 1 !important; -webkit-transition: none !important;
visibility: visible !important; -moz-transition: none !important;
-webkit-transform: none !important; -ms-transition: none !important;
-moz-transform: none !important; transition: none !important; }
-ms-transform: none !important; html:not(.print-pdf) .reveal .slides section.stack {
transform: none !important; } padding: 0 !important; }
.reveal section img { html:not(.print-pdf) .reveal section:last-of-type {
display: block; page-break-after: avoid !important; }
margin: 15px 0px; html:not(.print-pdf) .reveal section .fragment {
background: white; opacity: 1 !important;
border: 1px solid #666; visibility: visible !important;
box-shadow: none; } -webkit-transform: none !important;
.reveal section small { -moz-transform: none !important;
font-size: 0.8em; } } -ms-transform: none !important;
transform: none !important; }
html:not(.print-pdf) .reveal section img {
display: block;
margin: 15px 0px;
background: white;
border: 1px solid #666;
box-shadow: none; }
html:not(.print-pdf) .reveal section small {
font-size: 0.8em; } }

252
dist/print/pdf.css vendored
View File

@ -4,137 +4,121 @@
* *
* https://github.com/hakimel/reveal.js#pdf-export * https://github.com/hakimel/reveal.js#pdf-export
*/ */
* { html.print-pdf {
-webkit-print-color-adjust: exact; } /* Remove any elements not needed in print. */
/* Slide backgrounds are placed inside of their slide when exporting to PDF */
body { /* Display slide speaker notes when 'showNotes' is enabled */
margin: 0 auto !important; /* Layout option which makes notes appear on a separate page */
border: 0; /* Display slide numbers when 'slideNumber' is enabled */ }
padding: 0; html.print-pdf * {
float: none !important; -webkit-print-color-adjust: exact; }
overflow: visible; } html.print-pdf {
width: 100%;
html { height: 100%;
width: 100%; overflow: visible; }
height: 100%; html.print-pdf body {
overflow: visible; } margin: 0 auto !important;
border: 0;
/* Remove any elements not needed in print. */ padding: 0;
.nestedarrow, float: none !important;
.reveal .controls, overflow: visible; }
.reveal .progress, html.print-pdf .nestedarrow,
.reveal .playback, html.print-pdf .reveal .controls,
.reveal.overview, html.print-pdf .reveal .progress,
.fork-reveal, html.print-pdf .reveal .playback,
.share-reveal, html.print-pdf .reveal.overview,
.state-background { html.print-pdf .fork-reveal,
display: none !important; } html.print-pdf .share-reveal,
html.print-pdf .state-background {
h1, h2, h3, h4, h5, h6 { display: none !important; }
text-shadow: 0 0 0 #000 !important; } html.print-pdf h1, html.print-pdf h2, html.print-pdf h3, html.print-pdf h4, html.print-pdf h5, html.print-pdf h6 {
text-shadow: 0 0 0 #000 !important; }
.reveal pre code { html.print-pdf .reveal pre code {
overflow: hidden !important; overflow: hidden !important;
font-family: Courier, 'Courier New', monospace !important; } font-family: Courier, 'Courier New', monospace !important; }
html.print-pdf ul, html.print-pdf ol, html.print-pdf div, html.print-pdf p {
ul, ol, div, p { visibility: visible;
visibility: visible; position: static;
position: static; width: auto;
width: auto; height: auto;
height: auto; display: block;
display: block; overflow: visible;
overflow: visible; margin: auto; }
margin: auto; } html.print-pdf .reveal {
width: auto !important;
.reveal { height: auto !important;
width: auto !important; overflow: hidden !important; }
height: auto !important; html.print-pdf .reveal .slides {
overflow: hidden !important; } position: static;
width: 100% !important;
.reveal .slides { height: auto !important;
position: static; zoom: 1 !important;
width: 100% !important; pointer-events: initial;
height: auto !important; left: auto;
zoom: 1 !important; top: auto;
left: auto; margin: 0 !important;
top: auto; padding: 0 !important;
margin: 0 !important; overflow: visible;
padding: 0 !important; display: block;
overflow: visible; perspective: none;
display: block; perspective-origin: 50% 50%; }
perspective: none; html.print-pdf .reveal .slides .pdf-page {
perspective-origin: 50% 50%; } position: relative;
overflow: hidden;
.reveal .slides .pdf-page { z-index: 1;
position: relative; page-break-after: always; }
overflow: hidden; html.print-pdf .reveal .slides section {
z-index: 1; visibility: visible !important;
page-break-after: always; } display: block !important;
position: absolute !important;
.reveal .slides section { margin: 0 !important;
visibility: visible !important; padding: 0 !important;
display: block !important; box-sizing: border-box !important;
position: absolute !important; min-height: 1px;
margin: 0 !important; opacity: 1 !important;
padding: 0 !important; transform-style: flat !important;
box-sizing: border-box !important; transform: none !important; }
min-height: 1px; html.print-pdf .reveal section.stack {
opacity: 1 !important; position: relative !important;
transform-style: flat !important; margin: 0 !important;
transform: none !important; } padding: 0 !important;
page-break-after: avoid !important;
.reveal section.stack { height: auto !important;
position: relative !important; min-height: auto !important; }
margin: 0 !important; html.print-pdf .reveal img {
padding: 0 !important; box-shadow: none; }
page-break-after: avoid !important; html.print-pdf .reveal .roll {
height: auto !important; overflow: visible;
min-height: auto !important; } line-height: 1em; }
html.print-pdf .reveal .slide-background {
.reveal img { display: block !important;
box-shadow: none; } position: absolute;
top: 0;
.reveal .roll { left: 0;
overflow: visible; width: 100%;
line-height: 1em; } height: 100%;
z-index: auto !important; }
/* Slide backgrounds are placed inside of their slide when exporting to PDF */ html.print-pdf .reveal.show-notes {
.reveal .slide-background { max-width: none;
display: block !important; max-height: none; }
position: absolute; html.print-pdf .reveal .speaker-notes-pdf {
top: 0; display: block;
left: 0; width: 100%;
width: 100%; height: auto;
height: 100%; max-height: none;
z-index: auto !important; } top: auto;
right: auto;
/* Display slide speaker notes when 'showNotes' is enabled */ bottom: auto;
.reveal.show-notes { left: auto;
max-width: none; z-index: 100; }
max-height: none; } html.print-pdf .reveal .speaker-notes-pdf[data-layout="separate-page"] {
position: relative;
.reveal .speaker-notes-pdf { color: inherit;
display: block; background-color: transparent;
width: 100%; padding: 20px;
height: auto; page-break-after: always;
max-height: none; border: 0; }
top: auto; html.print-pdf .reveal .slide-number-pdf {
right: auto; display: block;
bottom: auto; position: absolute;
left: auto; font-size: 14px; }
z-index: 100; }
/* Layout option which makes notes appear on a separate page */
.reveal .speaker-notes-pdf[data-layout="separate-page"] {
position: relative;
color: inherit;
background-color: transparent;
padding: 20px;
page-break-after: always;
border: 0; }
/* Display slide numbers when 'slideNumber' is enabled */
.reveal .slide-number-pdf {
display: block;
position: absolute;
font-size: 14px; }

2
dist/reveal.css vendored
View File

@ -1,5 +1,5 @@
/*! /*!
* reveal.js 4.0.0-dev (Tue Mar 10 2020) * reveal.js 4.0.0-dev (Wed Mar 11 2020)
* https://revealjs.com * https://revealjs.com
* MIT licensed * MIT licensed
* *

2
dist/reveal.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -10,17 +10,12 @@
<link rel="stylesheet" href="dist/reveal.css"> <link rel="stylesheet" href="dist/reveal.css">
<link rel="stylesheet" href="dist/theme/black.css"> <link rel="stylesheet" href="dist/theme/black.css">
<!-- Print on paper or PDF -->
<link rel="stylesheet" href="dist/print/paper.css">
<link rel="stylesheet" href="dist/print/pdf.css">
<!-- Theme used for syntax highlighting of code --> <!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="lib/css/monokai.css"> <link rel="stylesheet" href="lib/css/monokai.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'dist/print/pdf.css' : 'dist/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head> </head>
<body> <body>
<div class="reveal"> <div class="reveal">

View File

@ -368,7 +368,7 @@ export default function( revealElement, options ) {
// Limit the size of certain elements to the dimensions of the slide // Limit the size of certain elements to the dimensions of the slide
createStyleSheet( '.reveal section>img, .reveal section>video, .reveal section>iframe{max-width: '+ slideWidth +'px; max-height:'+ slideHeight +'px}' ); createStyleSheet( '.reveal section>img, .reveal section>video, .reveal section>iframe{max-width: '+ slideWidth +'px; max-height:'+ slideHeight +'px}' );
document.body.classList.add( 'print-pdf' ); document.querySelector('html').classList.add( 'print-pdf' );
document.body.style.width = pageWidth + 'px'; document.body.style.width = pageWidth + 'px';
document.body.style.height = pageHeight + 'px'; document.body.style.height = pageHeight + 'px';

View File

@ -7,7 +7,8 @@
<title>reveal.js - Test PDF exports</title> <title>reveal.js - Test PDF exports</title>
<link rel="stylesheet" href="../dist/reveal.css"> <link rel="stylesheet" href="../dist/reveal.css">
<link rel="stylesheet" href="../css/print/pdf.css"> <link rel="stylesheet" href="../dist/print/paper.css">
<link rel="stylesheet" href="../dist/print/pdf.css">
<link rel="stylesheet" href="qunit-2.5.0.css"> <link rel="stylesheet" href="qunit-2.5.0.css">
<script src="qunit-2.5.0.js"></script> <script src="qunit-2.5.0.js"></script>
</head> </head>