go.talks/present: printing support in Chrome
Fixes golang/go#4442
R=adg
CC=golang-dev
https://golang.org/cl/6852088
diff --git a/present/static/print.css b/present/static/print.css
new file mode 100644
index 0000000..6c58257
--- /dev/null
+++ b/present/static/print.css
@@ -0,0 +1,51 @@
+/* set page layout */
+@page {
+ size: A4 landscape;
+}
+
+body {
+ display: block !important;
+}
+
+.slides {
+ left: 0;
+ top: 0;
+}
+
+.slides > article {
+ position: relative;
+
+ left: 0;
+ top: 0;
+
+ margin: 0 !important;
+ page-break-inside: avoid;
+
+ text-shadow: none; /* disable shadow */
+
+ display: block !important;
+ transform: translate(0) !important;
+ -o-transform: translate(0) !important;
+ -moz-transform: translate(0) !important;
+ -webkit-transform: translate3d(0, 0, 0) !important;
+}
+
+div.code {
+ background: rgb(240, 240, 240);
+}
+
+/* hide click areas */
+.slide-area, #prev-slide-area, #next-slide-area {
+ display: none;
+}
+
+/* add explicit links */
+a:link:after, a:visited:after {
+ content: " (" attr(href) ") ";
+ font-size: 50%;
+}
+
+/* white background */
+body {
+ background: rgb(255,255,255) !important;
+}
diff --git a/present/static/slides.js b/present/static/slides.js
index 313e7c8..0b98b4b 100644
--- a/present/static/slides.js
+++ b/present/static/slides.js
@@ -532,6 +532,15 @@
document.querySelector('head').appendChild(el);
};
+function addPrintStyle() {
+ var el = document.createElement('link');
+ el.rel = 'stylesheet';
+ el.type = 'text/css';
+ el.media = "print";
+ el.href = PERMANENT_URL_PREFIX + 'print.css';
+ document.body.appendChild(el);
+};
+
function handleDomLoaded() {
slideEls = document.querySelectorAll('section.slides > article');
@@ -539,6 +548,7 @@
addFontStyle();
addGeneralStyle();
+ addPrintStyle();
addEventListeners();
updateSlides();