From 1db6e9db0dccae4d9e9b515150cc0557c7cd1c82 Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Mon, 17 Sep 2012 13:10:38 +0200 Subject: [PATCH] Publish PyConFR slides. --- exyr/__init__.py | 2 +- .../pages/2012/weasyprint-at-pyconfr.markdown | 12 ++++- .../weasyprint-at-pyconfr/CSS21-intro.pdf | Bin 80237 -> 0 bytes .../2012/weasyprint-at-pyconfr/embedder.html | 45 +++++++++++++----- .../2012/weasyprint-at-pyconfr/slides.html | 20 +++++--- 5 files changed, 56 insertions(+), 23 deletions(-) delete mode 100644 exyr/pages/2012/weasyprint-at-pyconfr/CSS21-intro.pdf diff --git a/exyr/__init__.py b/exyr/__init__.py index bbf912f..4416c27 100644 --- a/exyr/__init__.py +++ b/exyr/__init__.py @@ -115,7 +115,7 @@ def stylesheet(): return app.response_class(css, mimetype='text/css') -STATIC_EXTENSIONS = ('.jpg', '.png', '.html', '.css', '.pdf') +STATIC_EXTENSIONS = ('.jpg', '.png', '.svg', '.html', '.css', '.pdf') # the repr() of a tuple matches the micro-syntax used by `any` # http://werkzeug.pocoo.org/documentation/dev/routing.html#werkzeug.routing.AnyConverter diff --git a/exyr/pages/2012/weasyprint-at-pyconfr.markdown b/exyr/pages/2012/weasyprint-at-pyconfr.markdown index 7c4c225..8befb04 100644 --- a/exyr/pages/2012/weasyprint-at-pyconfr.markdown +++ b/exyr/pages/2012/weasyprint-at-pyconfr.markdown @@ -10,8 +10,7 @@ summary: | I’ll be at PyConFR in Paris this weekend, September 15th and 16th. I’ll be [giving a talk](http://www.pycon.fr/2012/schedule/presentation/16/) Sunday 16th at noon, on [WeasyPrint](http://weasyprint.org/) and CSS for print. -The talk will be in French, but the slides in English. I’ll post them here -afterwards. +I’ll post the slides here afterwards. See you there! @@ -25,3 +24,12 @@ make it look nice on A4. You can regenerate the same PDF with: :::sh weasyprint http://www.pycon.fr/2012/schedule/ PyConFR_2012_schedule.pdf \ -s http://exyr.org/2012/weasyprint-at-pyconfr/print.css + +**Update 2012-09-17**: +I think the talk was a success although I forgot a few details. The slides +are below (or fullscreen), with notes +paraphrasing what I said “on stage”. + + diff --git a/exyr/pages/2012/weasyprint-at-pyconfr/CSS21-intro.pdf b/exyr/pages/2012/weasyprint-at-pyconfr/CSS21-intro.pdf deleted file mode 100644 index fe456c544097471f6e88b20573723949e77ec2d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80237 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𝔪T8Wj~LLshwQE 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 +
+

+
@@ -23,7 +26,7 @@ height: 100%; width: 100%; } - #slides, #controls { + #slides, #controls, #notes { left: 0; position: absolute; right: 0; @@ -36,9 +39,21 @@ padding: 5px; } #slides { - bottom: 40px; + bottom: 206px; top: 0; } + #notes { + bottom: 40px; + height: 150px; + + background: #EEE; + color: #444; + padding: 0 20px; + overflow: auto; + font: 25px sans-serif; + border: 8px solid #555; + border-style: solid none; + } iframe { border: none; background-color: white; @@ -98,11 +113,11 @@ count: null, iframe: null }; - + Dz.init = function() { this.loadIframe(); } - + Dz.onkeydown = function(aEvent) { // Don't intercept keyboard shortcuts if (aEvent.altKey @@ -142,13 +157,14 @@ this.goFullscreen(); } } - + Dz.onmessage = function(aEvent) { if (aEvent.source === this.view) { var argv = aEvent.data.split(" "), argc = argv.length; argv.forEach(function(e, i, a) { a[i] = decodeURIComponent(e) }); if (argv[0] === "CURSOR" && argc === 2) { var cursor = argv[1].split("."); + this.postMsg(this.view, "GET_NOTES"); this.idx = ~~cursor[0]; this.step = ~~cursor[1]; $("#slideidx").value = this.idx; @@ -159,11 +175,14 @@ $("#slidecount").innerHTML = this.count = argv[2]; document.title = argv[1]; } + if (argv[0] === "NOTES" && argc === 2) { + $("#notes > #content").innerHTML = this.notes = argv[1]; + } } } - + /* Get url from hash or prompt and store it */ - + Dz.getUrl = function() { var u = window.location.hash.split("#")[1]; if (!u) { @@ -179,7 +198,7 @@ } return u; } - + Dz.loadIframe = function() { this.iframe = $("iframe"); this.iframe.src = this.url = this.getUrl(); @@ -188,15 +207,15 @@ Dz.postMsg(Dz.view, "REGISTER"); } } - + Dz.toggleContent = function() { this.postMsg(this.view, "TOGGLE_CONTENT"); } - + Dz.onhashchange = function() { this.loadIframe(); } - + Dz.back = function() { this.postMsg(this.view, "BACK"); } @@ -225,7 +244,7 @@ window.open(this.url + "#" + this.idx, '', 'width=800,height=600,personalbar=0,toolbar=0,scrollbars=1,resizable=1'); } } - + Dz.postMsg = function(aWin, aMsg) { // [arg0, [arg1...]] aMsg = [aMsg]; for (var i = 2; i < arguments.length; i++) @@ -249,7 +268,7 @@ Function.prototype.bind = function (oThis) { // closest thing possible to the ECMAScript 5 internal IsCallable - // function + // function if (typeof this !== "function") throw new TypeError( "Function.prototype.bind - what is trying to be fBound is not callable" diff --git a/exyr/pages/2012/weasyprint-at-pyconfr/slides.html b/exyr/pages/2012/weasyprint-at-pyconfr/slides.html index d091533..8c0546c 100644 --- a/exyr/pages/2012/weasyprint-at-pyconfr/slides.html +++ b/exyr/pages/2012/weasyprint-at-pyconfr/slides.html @@ -53,7 +53,7 @@

Flask

-

Flask-WeasyPrint

+

Flask-WeasyPrint (demo)

from flask_weasyprint import render_pdf
 from flask import Flask
@@ -66,7 +66,6 @@ 

Flask-WeasyPrint

@app.route("/hello.pdf") def hello_pdf(): return render_pdf("/hello")
-
Once you have that, PDF is easy.
WeasyPrint: like the print function of your browser, but with @@ -145,11 +144,9 @@

Features

Examples

PyConFR 2012 schedule

-

- - CSS 2.1 intro

-

Acid2 +

+ CSS 2.1 intro

+

Acid2

@@ -295,6 +292,12 @@

import weasyprint

  • BSD license
  • + In spite of CSS’s inherent complexity, we try to keep the engine + simple. (Especially compared to a Gecko or a WebKit.)
    + Python 2 & 3 with the same code base. Not using + six, + but a custom 100-lines compat.py file.
    + It’s open source and free software.
    @@ -307,6 +310,9 @@

    Questions?

    community.kozea.fr
    IRC: ##kozea @ Freenode +
    + Come and chat with us! +