dynamic inclusion of pdf css for self_contianed (#8)
diff --git a/inst/NEWS b/inst/NEWS
index 0a751bb..1b4a505 100644
--- a/inst/NEWS
+++ b/inst/NEWS
@@ -1,3 +1,9 @@
+Version 0.9 (Unreleased)
+-----------------------------------------------------------------------
+
+- Correct handling of pdf css for self_contained document
+
+
Version 0.8
-----------------------------------------------------------------------
diff --git a/inst/rmarkdown/templates/revealjs_presentation/resources/default.html b/inst/rmarkdown/templates/revealjs_presentation/resources/default.html
index c3fe016..2e688aa 100644
--- a/inst/rmarkdown/templates/revealjs_presentation/resources/default.html
+++ b/inst/rmarkdown/templates/revealjs_presentation/resources/default.html
@@ -99,17 +99,392 @@
<link rel="stylesheet" href="$css$"/>
$endfor$
$endif$
- <!-- 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 ) ? '$revealjs-url$/css/print/pdf.css' : '$revealjs-url$/css/print/paper.css';
- document.getElementsByTagName( 'head' )[0].appendChild( link );
- </script>
- <!--[if lt IE 9]>
- <script src="$revealjs-url$/lib/js/html5shiv.js"></script>
- <![endif]-->
+
+<!-- Printing and PDF exports -->
+<script id="paper-css" type="application/dynamic-css">
+
+/* 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 {
+ 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;
+ }
+
+}
+</script>
+
+
+<script id="pdf-css" type="application/dynamic-css">
+
+/**
+ * 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%;
+ height: auto;
+
+ left: auto;
+ top: auto;
+ margin: 0 !important;
+ padding: 0 !important;
+
+ overflow: visible;
+ display: block;
+
+ -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 {
+ page-break-after: always !important;
+
+ visibility: visible !important;
+ position: relative !important;
+ display: block !important;
+ position: relative !important;
+
+ margin: 0 !important;
+ padding: 0 !important;
+ box-sizing: border-box !important;
+ min-height: 1px;
+
+ opacity: 1 !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;
+}
+
+.reveal section.stack {
+ 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 section .slide-background {
+ display: block !important;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ z-index: -1;
+}
+
+/* All elements should be above the slide-background */
+.reveal section>* {
+ position: relative;
+ z-index: 1;
+}
+
+/* Display slide speaker notes when 'showNotes' is enabled */
+.reveal .speaker-notes-pdf {
+ display: block;
+ width: 100%;
+ max-height: none;
+ left: auto;
+ top: auto;
+ z-index: 100;
+}
+
+/* Display slide numbers when 'slideNumber' is enabled */
+.reveal .slide-number-pdf {
+ display: block;
+ position: absolute;
+ font-size: 14px;
+}
+
+</script>
+
+
+<script>
+var style = document.createElement( 'style' );
+style.type = 'text/css';
+var style_script_id = window.location.search.match( /print-pdf/gi ) ? 'pdf-css' : 'paper-css';
+var style_script = document.getElementById(style_script_id).text;
+style.innerHTML = style_script;
+document.getElementsByTagName('head')[0].appendChild(style);
+</script>
+
+<!--[if lt IE 9]>
+<script src="$revealjs-url$/lib/js/html5shiv.js"></script>
+<![endif]-->
$for(header-includes)$
$header-includes$