From add331408b0f207b82f3ec1b76251c700197e807 Mon Sep 17 00:00:00 2001 From: Pacien TRAN-GIRARD Date: Mon, 16 Jun 2014 19:30:53 +0200 Subject: Import slides --- slides/final/README.html | 105 ++ slides/final/README.md | 130 ++ slides/final/app.yaml | 23 + slides/final/config.rb | 24 + slides/final/images/ESIEE_PARIS_LOGO_original.png | Bin 0 -> 22652 bytes slides/final/images/ESIEE_Paris_logo.png | Bin 0 -> 19931 bytes slides/final/images/ESIEE_Paris_logo_white.png | Bin 0 -> 9391 bytes slides/final/images/barchart.png | Bin 0 -> 17632 bytes slides/final/images/chart.png | Bin 0 -> 94688 bytes slides/final/images/chrome-logo-tiny.png | Bin 0 -> 1381 bytes slides/final/images/diagramme.png | Bin 0 -> 13253 bytes slides/final/images/google_developers_icon_128.png | Bin 0 -> 2045 bytes .../final/images/google_developers_icon_1282.png | Bin 0 -> 4316 bytes slides/final/images/google_developers_logo.png | Bin 0 -> 14800 bytes .../final/images/google_developers_logo_tiny.png | Bin 0 -> 581 bytes .../final/images/google_developers_logo_tiny2.png | Bin 0 -> 3749 bytes .../final/images/google_developers_logo_white.png | Bin 0 -> 7105 bytes slides/final/images/interface.png | Bin 0 -> 34518 bytes slides/final/images/io2012_logo.png | Bin 0 -> 13016 bytes slides/final/images/io2013/google-io-lockup-1.png | Bin 0 -> 15894 bytes slides/final/images/io2013/google-io-lockup-2.png | Bin 0 -> 11257 bytes slides/final/images/labview.jpg | Bin 0 -> 242013 bytes slides/final/images/musescore.png | Bin 0 -> 111095 bytes slides/final/images/simulateur.png | Bin 0 -> 25713 bytes slides/final/images/sky.jpg | Bin 0 -> 194552 bytes slides/final/js/hammer.min.js | 9 + slides/final/js/hammer.min.map | 1 + slides/final/js/humane/humane-themed.js | 13 + slides/final/js/humane/humane.min.js | 1 + slides/final/js/humane/libnotify.css | 115 ++ slides/final/js/modernizr.custom.56571.js | 4 + slides/final/js/order.js | 8 + slides/final/js/polyfills/classList.min.js | 2 + slides/final/js/polyfills/dataset.min.js | 2 + slides/final/js/polyfills/history.min.js | 2 + slides/final/js/prettify/lang-apollo.js | 2 + slides/final/js/prettify/lang-basic.js | 3 + slides/final/js/prettify/lang-clj.js | 18 + slides/final/js/prettify/lang-css.js | 2 + slides/final/js/prettify/lang-dart.js | 3 + slides/final/js/prettify/lang-erlang.js | 2 + slides/final/js/prettify/lang-go.js | 1 + slides/final/js/prettify/lang-hs.js | 2 + slides/final/js/prettify/lang-lisp.js | 3 + slides/final/js/prettify/lang-llvm.js | 1 + slides/final/js/prettify/lang-lua.js | 2 + slides/final/js/prettify/lang-matlab.js | 6 + slides/final/js/prettify/lang-ml.js | 2 + slides/final/js/prettify/lang-mumps.js | 2 + slides/final/js/prettify/lang-n.js | 4 + slides/final/js/prettify/lang-pascal.js | 3 + slides/final/js/prettify/lang-proto.js | 1 + slides/final/js/prettify/lang-r.js | 2 + slides/final/js/prettify/lang-rd.js | 1 + slides/final/js/prettify/lang-scala.js | 2 + slides/final/js/prettify/lang-sql.js | 2 + slides/final/js/prettify/lang-tcl.js | 3 + slides/final/js/prettify/lang-tex.js | 1 + slides/final/js/prettify/lang-vb.js | 2 + slides/final/js/prettify/lang-vhdl.js | 3 + slides/final/js/prettify/lang-wiki.js | 2 + slides/final/js/prettify/lang-xq.js | 3 + slides/final/js/prettify/lang-yaml.js | 2 + slides/final/js/prettify/prettify.css | 1 + slides/final/js/prettify/prettify.js | 30 + slides/final/js/require.js | 36 + slides/final/js/slide-controller.js | 227 +++ slides/final/js/slide-deck.js | 838 +++++++++++ slides/final/js/slide-elastic.js | 30 + slides/final/js/slides.js | 28 + slides/final/presentation-output.html | 368 +++++ slides/final/scripts/md/README.md | 5 + slides/final/scripts/md/base.html | 101 ++ slides/final/scripts/md/render.py | 57 + slides/final/scripts/md/slides.md | 251 ++++ slides/final/serve.sh | 22 + slides/final/slide_config.js | 50 + slides/final/template.html | 416 ++++++ slides/final/theme/css/default.css | 1486 ++++++++++++++++++++ slides/final/theme/css/io2013.css | 55 + slides/final/theme/css/phone.css | 1 + slides/final/theme/scss/_base.scss | 139 ++ slides/final/theme/scss/_variables.scss | 34 + slides/final/theme/scss/default.scss | 1047 ++++++++++++++ slides/final/theme/scss/io2013.scss | 51 + slides/final/theme/scss/phone.scss | 35 + slides/intermediaire/README.html | 105 ++ slides/intermediaire/README.md | 130 ++ slides/intermediaire/app.yaml | 23 + slides/intermediaire/config.rb | 24 + .../images/ESIEE_PARIS_LOGO_original.png | Bin 0 -> 22652 bytes slides/intermediaire/images/ESIEE_Paris_logo.png | Bin 0 -> 19931 bytes .../images/ESIEE_Paris_logo_white.png | Bin 0 -> 9391 bytes slides/intermediaire/images/barchart.png | Bin 0 -> 17632 bytes slides/intermediaire/images/chart.png | Bin 0 -> 94688 bytes slides/intermediaire/images/chrome-logo-tiny.png | Bin 0 -> 1381 bytes slides/intermediaire/images/diagramme.png | Bin 0 -> 13253 bytes .../images/google_developers_icon_128.png | Bin 0 -> 2045 bytes .../images/google_developers_icon_1282.png | Bin 0 -> 4316 bytes .../images/google_developers_logo.png | Bin 0 -> 14800 bytes .../images/google_developers_logo_tiny.png | Bin 0 -> 581 bytes .../images/google_developers_logo_tiny2.png | Bin 0 -> 3749 bytes .../images/google_developers_logo_white.png | Bin 0 -> 7105 bytes slides/intermediaire/images/interface.png | Bin 0 -> 34518 bytes slides/intermediaire/images/io2012_logo.png | Bin 0 -> 13016 bytes .../images/io2013/google-io-lockup-1.png | Bin 0 -> 15894 bytes .../images/io2013/google-io-lockup-2.png | Bin 0 -> 11257 bytes slides/intermediaire/images/labview.jpg | Bin 0 -> 242013 bytes slides/intermediaire/images/musescore.png | Bin 0 -> 111095 bytes slides/intermediaire/images/simulateur.png | Bin 0 -> 25713 bytes slides/intermediaire/images/sky.jpg | Bin 0 -> 194552 bytes slides/intermediaire/js/hammer.min.js | 9 + slides/intermediaire/js/hammer.min.map | 1 + slides/intermediaire/js/humane/humane-themed.js | 13 + slides/intermediaire/js/humane/humane.min.js | 1 + slides/intermediaire/js/humane/libnotify.css | 115 ++ slides/intermediaire/js/modernizr.custom.56571.js | 4 + slides/intermediaire/js/order.js | 8 + slides/intermediaire/js/polyfills/classList.min.js | 2 + slides/intermediaire/js/polyfills/dataset.min.js | 2 + slides/intermediaire/js/polyfills/history.min.js | 2 + slides/intermediaire/js/prettify/lang-apollo.js | 2 + slides/intermediaire/js/prettify/lang-basic.js | 3 + slides/intermediaire/js/prettify/lang-clj.js | 18 + slides/intermediaire/js/prettify/lang-css.js | 2 + slides/intermediaire/js/prettify/lang-dart.js | 3 + slides/intermediaire/js/prettify/lang-erlang.js | 2 + slides/intermediaire/js/prettify/lang-go.js | 1 + slides/intermediaire/js/prettify/lang-hs.js | 2 + slides/intermediaire/js/prettify/lang-lisp.js | 3 + slides/intermediaire/js/prettify/lang-llvm.js | 1 + slides/intermediaire/js/prettify/lang-lua.js | 2 + slides/intermediaire/js/prettify/lang-matlab.js | 6 + slides/intermediaire/js/prettify/lang-ml.js | 2 + slides/intermediaire/js/prettify/lang-mumps.js | 2 + slides/intermediaire/js/prettify/lang-n.js | 4 + slides/intermediaire/js/prettify/lang-pascal.js | 3 + slides/intermediaire/js/prettify/lang-proto.js | 1 + slides/intermediaire/js/prettify/lang-r.js | 2 + slides/intermediaire/js/prettify/lang-rd.js | 1 + slides/intermediaire/js/prettify/lang-scala.js | 2 + slides/intermediaire/js/prettify/lang-sql.js | 2 + slides/intermediaire/js/prettify/lang-tcl.js | 3 + slides/intermediaire/js/prettify/lang-tex.js | 1 + slides/intermediaire/js/prettify/lang-vb.js | 2 + slides/intermediaire/js/prettify/lang-vhdl.js | 3 + slides/intermediaire/js/prettify/lang-wiki.js | 2 + slides/intermediaire/js/prettify/lang-xq.js | 3 + slides/intermediaire/js/prettify/lang-yaml.js | 2 + slides/intermediaire/js/prettify/prettify.css | 1 + slides/intermediaire/js/prettify/prettify.js | 30 + slides/intermediaire/js/require.js | 36 + slides/intermediaire/js/slide-controller.js | 227 +++ slides/intermediaire/js/slide-deck.js | 838 +++++++++++ slides/intermediaire/js/slide-elastic.js | 30 + slides/intermediaire/js/slides.js | 28 + slides/intermediaire/presentation-output.html | 368 +++++ slides/intermediaire/scripts/md/README.md | 5 + slides/intermediaire/scripts/md/base.html | 101 ++ slides/intermediaire/scripts/md/render.py | 57 + slides/intermediaire/scripts/md/slides.md | 251 ++++ slides/intermediaire/serve.sh | 22 + slides/intermediaire/slide_config.js | 50 + slides/intermediaire/template.html | 416 ++++++ slides/intermediaire/theme/css/default.css | 1486 ++++++++++++++++++++ slides/intermediaire/theme/css/io2013.css | 55 + slides/intermediaire/theme/css/phone.css | 1 + slides/intermediaire/theme/scss/_base.scss | 139 ++ slides/intermediaire/theme/scss/_variables.scss | 34 + slides/intermediaire/theme/scss/default.scss | 1047 ++++++++++++++ slides/intermediaire/theme/scss/io2013.scss | 51 + slides/intermediaire/theme/scss/phone.scss | 35 + 172 files changed, 11654 insertions(+) create mode 100644 slides/final/README.html create mode 100644 slides/final/README.md create mode 100644 slides/final/app.yaml create mode 100644 slides/final/config.rb create mode 100755 slides/final/images/ESIEE_PARIS_LOGO_original.png create mode 100755 slides/final/images/ESIEE_Paris_logo.png create mode 100755 slides/final/images/ESIEE_Paris_logo_white.png create mode 100644 slides/final/images/barchart.png create mode 100644 slides/final/images/chart.png create mode 100644 slides/final/images/chrome-logo-tiny.png create mode 100644 slides/final/images/diagramme.png create mode 100755 slides/final/images/google_developers_icon_128.png create mode 100644 slides/final/images/google_developers_icon_1282.png create mode 100644 slides/final/images/google_developers_logo.png create mode 100755 slides/final/images/google_developers_logo_tiny.png create mode 100644 slides/final/images/google_developers_logo_tiny2.png create mode 100644 slides/final/images/google_developers_logo_white.png create mode 100644 slides/final/images/interface.png create mode 100644 slides/final/images/io2012_logo.png create mode 100644 slides/final/images/io2013/google-io-lockup-1.png create mode 100644 slides/final/images/io2013/google-io-lockup-2.png create mode 100644 slides/final/images/labview.jpg create mode 100644 slides/final/images/musescore.png create mode 100644 slides/final/images/simulateur.png create mode 100644 slides/final/images/sky.jpg create mode 100755 slides/final/js/hammer.min.js create mode 100644 slides/final/js/hammer.min.map create mode 100644 slides/final/js/humane/humane-themed.js create mode 100644 slides/final/js/humane/humane.min.js create mode 100644 slides/final/js/humane/libnotify.css create mode 100644 slides/final/js/modernizr.custom.56571.js create mode 100644 slides/final/js/order.js create mode 100644 slides/final/js/polyfills/classList.min.js create mode 100644 slides/final/js/polyfills/dataset.min.js create mode 100644 slides/final/js/polyfills/history.min.js create mode 100644 slides/final/js/prettify/lang-apollo.js create mode 100644 slides/final/js/prettify/lang-basic.js create mode 100644 slides/final/js/prettify/lang-clj.js create mode 100644 slides/final/js/prettify/lang-css.js create mode 100644 slides/final/js/prettify/lang-dart.js create mode 100644 slides/final/js/prettify/lang-erlang.js create mode 100644 slides/final/js/prettify/lang-go.js create mode 100644 slides/final/js/prettify/lang-hs.js create mode 100644 slides/final/js/prettify/lang-lisp.js create mode 100644 slides/final/js/prettify/lang-llvm.js create mode 100644 slides/final/js/prettify/lang-lua.js create mode 100644 slides/final/js/prettify/lang-matlab.js create mode 100644 slides/final/js/prettify/lang-ml.js create mode 100644 slides/final/js/prettify/lang-mumps.js create mode 100644 slides/final/js/prettify/lang-n.js create mode 100644 slides/final/js/prettify/lang-pascal.js create mode 100644 slides/final/js/prettify/lang-proto.js create mode 100644 slides/final/js/prettify/lang-r.js create mode 100644 slides/final/js/prettify/lang-rd.js create mode 100644 slides/final/js/prettify/lang-scala.js create mode 100644 slides/final/js/prettify/lang-sql.js create mode 100644 slides/final/js/prettify/lang-tcl.js create mode 100644 slides/final/js/prettify/lang-tex.js create mode 100644 slides/final/js/prettify/lang-vb.js create mode 100644 slides/final/js/prettify/lang-vhdl.js create mode 100644 slides/final/js/prettify/lang-wiki.js create mode 100644 slides/final/js/prettify/lang-xq.js create mode 100644 slides/final/js/prettify/lang-yaml.js create mode 100644 slides/final/js/prettify/prettify.css create mode 100644 slides/final/js/prettify/prettify.js create mode 100644 slides/final/js/require.js create mode 100644 slides/final/js/slide-controller.js create mode 100644 slides/final/js/slide-deck.js create mode 100644 slides/final/js/slide-elastic.js create mode 100644 slides/final/js/slides.js create mode 100644 slides/final/presentation-output.html create mode 100644 slides/final/scripts/md/README.md create mode 100644 slides/final/scripts/md/base.html create mode 100755 slides/final/scripts/md/render.py create mode 100644 slides/final/scripts/md/slides.md create mode 100755 slides/final/serve.sh create mode 100644 slides/final/slide_config.js create mode 100644 slides/final/template.html create mode 100644 slides/final/theme/css/default.css create mode 100644 slides/final/theme/css/io2013.css create mode 100644 slides/final/theme/css/phone.css create mode 100644 slides/final/theme/scss/_base.scss create mode 100644 slides/final/theme/scss/_variables.scss create mode 100644 slides/final/theme/scss/default.scss create mode 100644 slides/final/theme/scss/io2013.scss create mode 100644 slides/final/theme/scss/phone.scss create mode 100644 slides/intermediaire/README.html create mode 100644 slides/intermediaire/README.md create mode 100644 slides/intermediaire/app.yaml create mode 100644 slides/intermediaire/config.rb create mode 100755 slides/intermediaire/images/ESIEE_PARIS_LOGO_original.png create mode 100755 slides/intermediaire/images/ESIEE_Paris_logo.png create mode 100755 slides/intermediaire/images/ESIEE_Paris_logo_white.png create mode 100644 slides/intermediaire/images/barchart.png create mode 100644 slides/intermediaire/images/chart.png create mode 100644 slides/intermediaire/images/chrome-logo-tiny.png create mode 100644 slides/intermediaire/images/diagramme.png create mode 100755 slides/intermediaire/images/google_developers_icon_128.png create mode 100644 slides/intermediaire/images/google_developers_icon_1282.png create mode 100644 slides/intermediaire/images/google_developers_logo.png create mode 100755 slides/intermediaire/images/google_developers_logo_tiny.png create mode 100644 slides/intermediaire/images/google_developers_logo_tiny2.png create mode 100644 slides/intermediaire/images/google_developers_logo_white.png create mode 100644 slides/intermediaire/images/interface.png create mode 100644 slides/intermediaire/images/io2012_logo.png create mode 100644 slides/intermediaire/images/io2013/google-io-lockup-1.png create mode 100644 slides/intermediaire/images/io2013/google-io-lockup-2.png create mode 100644 slides/intermediaire/images/labview.jpg create mode 100644 slides/intermediaire/images/musescore.png create mode 100644 slides/intermediaire/images/simulateur.png create mode 100644 slides/intermediaire/images/sky.jpg create mode 100755 slides/intermediaire/js/hammer.min.js create mode 100644 slides/intermediaire/js/hammer.min.map create mode 100644 slides/intermediaire/js/humane/humane-themed.js create mode 100644 slides/intermediaire/js/humane/humane.min.js create mode 100644 slides/intermediaire/js/humane/libnotify.css create mode 100644 slides/intermediaire/js/modernizr.custom.56571.js create mode 100644 slides/intermediaire/js/order.js create mode 100644 slides/intermediaire/js/polyfills/classList.min.js create mode 100644 slides/intermediaire/js/polyfills/dataset.min.js create mode 100644 slides/intermediaire/js/polyfills/history.min.js create mode 100644 slides/intermediaire/js/prettify/lang-apollo.js create mode 100644 slides/intermediaire/js/prettify/lang-basic.js create mode 100644 slides/intermediaire/js/prettify/lang-clj.js create mode 100644 slides/intermediaire/js/prettify/lang-css.js create mode 100644 slides/intermediaire/js/prettify/lang-dart.js create mode 100644 slides/intermediaire/js/prettify/lang-erlang.js create mode 100644 slides/intermediaire/js/prettify/lang-go.js create mode 100644 slides/intermediaire/js/prettify/lang-hs.js create mode 100644 slides/intermediaire/js/prettify/lang-lisp.js create mode 100644 slides/intermediaire/js/prettify/lang-llvm.js create mode 100644 slides/intermediaire/js/prettify/lang-lua.js create mode 100644 slides/intermediaire/js/prettify/lang-matlab.js create mode 100644 slides/intermediaire/js/prettify/lang-ml.js create mode 100644 slides/intermediaire/js/prettify/lang-mumps.js create mode 100644 slides/intermediaire/js/prettify/lang-n.js create mode 100644 slides/intermediaire/js/prettify/lang-pascal.js create mode 100644 slides/intermediaire/js/prettify/lang-proto.js create mode 100644 slides/intermediaire/js/prettify/lang-r.js create mode 100644 slides/intermediaire/js/prettify/lang-rd.js create mode 100644 slides/intermediaire/js/prettify/lang-scala.js create mode 100644 slides/intermediaire/js/prettify/lang-sql.js create mode 100644 slides/intermediaire/js/prettify/lang-tcl.js create mode 100644 slides/intermediaire/js/prettify/lang-tex.js create mode 100644 slides/intermediaire/js/prettify/lang-vb.js create mode 100644 slides/intermediaire/js/prettify/lang-vhdl.js create mode 100644 slides/intermediaire/js/prettify/lang-wiki.js create mode 100644 slides/intermediaire/js/prettify/lang-xq.js create mode 100644 slides/intermediaire/js/prettify/lang-yaml.js create mode 100644 slides/intermediaire/js/prettify/prettify.css create mode 100644 slides/intermediaire/js/prettify/prettify.js create mode 100644 slides/intermediaire/js/require.js create mode 100644 slides/intermediaire/js/slide-controller.js create mode 100644 slides/intermediaire/js/slide-deck.js create mode 100644 slides/intermediaire/js/slide-elastic.js create mode 100644 slides/intermediaire/js/slides.js create mode 100644 slides/intermediaire/presentation-output.html create mode 100644 slides/intermediaire/scripts/md/README.md create mode 100644 slides/intermediaire/scripts/md/base.html create mode 100755 slides/intermediaire/scripts/md/render.py create mode 100644 slides/intermediaire/scripts/md/slides.md create mode 100755 slides/intermediaire/serve.sh create mode 100644 slides/intermediaire/slide_config.js create mode 100644 slides/intermediaire/template.html create mode 100644 slides/intermediaire/theme/css/default.css create mode 100644 slides/intermediaire/theme/css/io2013.css create mode 100644 slides/intermediaire/theme/css/phone.css create mode 100644 slides/intermediaire/theme/scss/_base.scss create mode 100644 slides/intermediaire/theme/scss/_variables.scss create mode 100644 slides/intermediaire/theme/scss/default.scss create mode 100644 slides/intermediaire/theme/scss/io2013.scss create mode 100644 slides/intermediaire/theme/scss/phone.scss (limited to 'slides') diff --git a/slides/final/README.html b/slides/final/README.html new file mode 100644 index 0000000..20276de --- /dev/null +++ b/slides/final/README.html @@ -0,0 +1,105 @@ + + +

HTML5 Slide Template

+ +

Configuring the slides

+

Much of the deck is customized by changing the settings in slide_config.js. +Some of the customizations include the title, Analytics tracking ID, speaker +information (name, social urls, blog), web fonts to load, themes, and other +general behavior.

+

Customizing the #io12 hash

+

The bottom of the slides include #io12 by default. If you'd like to change +this, please update the variable $social-tags: '#io12'; in +/theme/scss/default.scss.

+

See the next section on "Editing CSS" before you go editing things.

+

Editing CSS

+

Compass is a CSS preprocessor used to compile +SCSS/SASS into CSS. We chose SCSS for the new slide deck for maintainability, +easier browser compatibility, and because...it's the future!

+

That said, if not comfortable working with SCSS or don't want to learn something +new, not a problem. The generated .css files can already be found in +(see /theme/css). You can just edit those and bypass SCSS altogether. +However, our recommendation is to use Compass. It's super easy to install and use.

+

Installing Compass and making changes

+

First, install compass:

+
sudo gem update --system
+sudo gem install compass
+
+

Next, you'll want to watch for changes to the exiting .scss files in /theme/scss +and any new one you add:

+
$ cd io-2012-slides
+$ compass watch
+
+

This command automatically recompiles the .scss file when you make a change. +Its corresponding .css file is output to /theme/css. Slick.

+

By default, config.rb in the main project folder outputs minified +.css. It's a best practice after all! However, if you want unminified files, +run watch with the style output flag:

+
compass watch -s expanded
+
+

Note: You should not need to edit _base.scss.

+

Running the slides

+

The slides can be run locally from file:// making development easy :)

+

Running from a web server

+

If at some point you should need a web server, use serve.sh. It will +launch a simple one and point your default browser to http://localhost:8000/template.html:

+
$ cd io-2012-slides
+$ ./serve.sh
+
+

You can also specify a custom port:

+
$ ./serve.sh 8080
+
+

Presenter mode

+

The slides contain a presenter mode feature (beta) to view + control the slides +from a popup window.

+

To enable presenter mode, add presentme=true to the URL: http://localhost:8000/template.html?presentme=true

+

To disable presenter mode, hit http://localhost:8000/template.html?presentme=false

+

Presenter mode is sticky, so refreshing the page will persist your settings.

+
+

That's all she wrote!

diff --git a/slides/final/README.md b/slides/final/README.md new file mode 100644 index 0000000..1ba5391 --- /dev/null +++ b/slides/final/README.md @@ -0,0 +1,130 @@ + + +

HTML5 Slide Template

+ +## Configuring the slides + +Much of the deck is customized by changing the settings in [`slide_config.js`](slide_config.js). +Some of the customizations include the title, Analytics tracking ID, speaker +information (name, social urls, blog), web fonts to load, themes, and other +general behavior. + +### Customizing the `#io12` hash + +The bottom of the slides include `#io12` by default. If you'd like to change +this, please update the variable `$social-tags: '#io12';` in +[`/theme/scss/default.scss`](theme/scss/default.scss). + +See the next section on "Editing CSS" before you go editing things. + +## Editing CSS + +[Compass](http://compass-style.org/install/) is a CSS preprocessor used to compile +SCSS/SASS into CSS. We chose SCSS for the new slide deck for maintainability, +easier browser compatibility, and because...it's the future! + +That said, if not comfortable working with SCSS or don't want to learn something +new, not a problem. The generated .css files can already be found in +(see [`/theme/css`](theme/css)). You can just edit those and bypass SCSS altogether. +However, our recommendation is to use Compass. It's super easy to install and use. + +### Installing Compass and making changes + +First, install compass: + + sudo gem update --system + sudo gem install compass + +Next, you'll want to watch for changes to the exiting .scss files in [`/theme/scss`](theme/scss) +and any new one you add: + + $ cd io-2012-slides + $ compass watch + +This command automatically recompiles the .scss file when you make a change. +Its corresponding .css file is output to [`/theme/css`](theme/css). Slick. + +By default, [`config.rb`](config.rb) in the main project folder outputs minified +.css. It's a best practice after all! However, if you want unminified files, +run watch with the style output flag: + + compass watch -s expanded + +*Note:* You should not need to edit [`_base.scss`](theme/scss/_base.scss). + +## Running the slides + +The slides can be run locally from `file://` making development easy :) + +### Running from a web server + +If at some point you should need a web server, use [`serve.sh`](serve.sh). It will +launch a simple one and point your default browser to [`http://localhost:8000/template.html`](http://localhost:8000/template.html): + + $ cd io-2012-slides + $ ./serve.sh + +You can also specify a custom port: + + $ ./serve.sh 8080 + +### Presenter mode + +The slides contain a presenter mode feature (beta) to view + control the slides +from a popup window. + +To enable presenter mode, add `presentme=true` to the URL: [http://localhost:8000/template.html?presentme=true](http://localhost:8000/template.html?presentme=true) + +To disable presenter mode, hit [http://localhost:8000/template.html?presentme=false](http://localhost:8000/template.html?presentme=false) + +Presenter mode is sticky, so refreshing the page will persist your settings. + +--- + +That's all she wrote! diff --git a/slides/final/app.yaml b/slides/final/app.yaml new file mode 100644 index 0000000..7692ab2 --- /dev/null +++ b/slides/final/app.yaml @@ -0,0 +1,23 @@ +application: my-io-talk +version: 1 +runtime: python27 +api_version: 1 +threadsafe: yes + +handlers: +- url: / + static_files: template.html + upload: template\.html + +- url: /slide_config\.js + static_files: slide_config.js + upload: slide_config\.js + +- url: /js + static_dir: js + +- url: /theme + static_dir: theme + +- url: /images + static_dir: images diff --git a/slides/final/config.rb b/slides/final/config.rb new file mode 100644 index 0000000..f2c6751 --- /dev/null +++ b/slides/final/config.rb @@ -0,0 +1,24 @@ +# Require any additional compass plugins here. + +# Set this to the root of your project when deployed: +http_path = "/" +css_dir = "theme/css" +sass_dir = "theme/scss" +images_dir = "images" +javascripts_dir = "js" + +# You can select your preferred output style here (can be overridden via the command line): +output_style = :compressed #:expanded or :nested or :compact or :compressed + +# To enable relative paths to assets via compass helper functions. Uncomment: +# relative_assets = true + +# To disable debugging comments that display the original location of your selectors. Uncomment: +# line_comments = false + + +# If you prefer the indented syntax, you might want to regenerate this +# project again passing --syntax sass, or you can uncomment this: +# preferred_syntax = :sass +# and then run: +# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass diff --git a/slides/final/images/ESIEE_PARIS_LOGO_original.png b/slides/final/images/ESIEE_PARIS_LOGO_original.png new file mode 100755 index 0000000..d9d8586 Binary files /dev/null and b/slides/final/images/ESIEE_PARIS_LOGO_original.png differ diff --git a/slides/final/images/ESIEE_Paris_logo.png b/slides/final/images/ESIEE_Paris_logo.png new file mode 100755 index 0000000..76f461f Binary files /dev/null and b/slides/final/images/ESIEE_Paris_logo.png differ diff --git a/slides/final/images/ESIEE_Paris_logo_white.png b/slides/final/images/ESIEE_Paris_logo_white.png new file mode 100755 index 0000000..7b1128e Binary files /dev/null and b/slides/final/images/ESIEE_Paris_logo_white.png differ diff --git a/slides/final/images/barchart.png b/slides/final/images/barchart.png new file mode 100644 index 0000000..1e57437 Binary files /dev/null and b/slides/final/images/barchart.png differ diff --git a/slides/final/images/chart.png b/slides/final/images/chart.png new file mode 100644 index 0000000..016ca90 Binary files /dev/null and b/slides/final/images/chart.png differ diff --git a/slides/final/images/chrome-logo-tiny.png b/slides/final/images/chrome-logo-tiny.png new file mode 100644 index 0000000..88ef9bd Binary files /dev/null and b/slides/final/images/chrome-logo-tiny.png differ diff --git a/slides/final/images/diagramme.png b/slides/final/images/diagramme.png new file mode 100644 index 0000000..55af0ee Binary files /dev/null and b/slides/final/images/diagramme.png differ diff --git a/slides/final/images/google_developers_icon_128.png b/slides/final/images/google_developers_icon_128.png new file mode 100755 index 0000000..9396bb0 Binary files /dev/null and b/slides/final/images/google_developers_icon_128.png differ diff --git a/slides/final/images/google_developers_icon_1282.png b/slides/final/images/google_developers_icon_1282.png new file mode 100644 index 0000000..befbd0b Binary files /dev/null and b/slides/final/images/google_developers_icon_1282.png differ diff --git a/slides/final/images/google_developers_logo.png b/slides/final/images/google_developers_logo.png new file mode 100644 index 0000000..49b34b7 Binary files /dev/null and b/slides/final/images/google_developers_logo.png differ diff --git a/slides/final/images/google_developers_logo_tiny.png b/slides/final/images/google_developers_logo_tiny.png new file mode 100755 index 0000000..fa445e0 Binary files /dev/null and b/slides/final/images/google_developers_logo_tiny.png differ diff --git a/slides/final/images/google_developers_logo_tiny2.png b/slides/final/images/google_developers_logo_tiny2.png new file mode 100644 index 0000000..6e607e4 Binary files /dev/null and b/slides/final/images/google_developers_logo_tiny2.png differ diff --git a/slides/final/images/google_developers_logo_white.png b/slides/final/images/google_developers_logo_white.png new file mode 100644 index 0000000..72a9cb7 Binary files /dev/null and b/slides/final/images/google_developers_logo_white.png differ diff --git a/slides/final/images/interface.png b/slides/final/images/interface.png new file mode 100644 index 0000000..f08a7eb Binary files /dev/null and b/slides/final/images/interface.png differ diff --git a/slides/final/images/io2012_logo.png b/slides/final/images/io2012_logo.png new file mode 100644 index 0000000..ae3babf Binary files /dev/null and b/slides/final/images/io2012_logo.png differ diff --git a/slides/final/images/io2013/google-io-lockup-1.png b/slides/final/images/io2013/google-io-lockup-1.png new file mode 100644 index 0000000..38b9e92 Binary files /dev/null and b/slides/final/images/io2013/google-io-lockup-1.png differ diff --git a/slides/final/images/io2013/google-io-lockup-2.png b/slides/final/images/io2013/google-io-lockup-2.png new file mode 100644 index 0000000..d076cc1 Binary files /dev/null and b/slides/final/images/io2013/google-io-lockup-2.png differ diff --git a/slides/final/images/labview.jpg b/slides/final/images/labview.jpg new file mode 100644 index 0000000..0ddf864 Binary files /dev/null and b/slides/final/images/labview.jpg differ diff --git a/slides/final/images/musescore.png b/slides/final/images/musescore.png new file mode 100644 index 0000000..ec324ff Binary files /dev/null and b/slides/final/images/musescore.png differ diff --git a/slides/final/images/simulateur.png b/slides/final/images/simulateur.png new file mode 100644 index 0000000..c137281 Binary files /dev/null and b/slides/final/images/simulateur.png differ diff --git a/slides/final/images/sky.jpg b/slides/final/images/sky.jpg new file mode 100644 index 0000000..9b50b1d Binary files /dev/null and b/slides/final/images/sky.jpg differ diff --git a/slides/final/js/hammer.min.js b/slides/final/js/hammer.min.js new file mode 100755 index 0000000..32a076f --- /dev/null +++ b/slides/final/js/hammer.min.js @@ -0,0 +1,9 @@ +/*! Hammer.JS - v1.1.2 - 2014-04-25 + * http://eightmedia.github.io/hammer.js + * + * Copyright (c) 2014 Jorik Tangelder ; + * Licensed under the MIT license */ + + +!function(a,b){"use strict";function c(){d.READY||(s.determineEventTypes(),r.each(d.gestures,function(a){u.register(a)}),s.onTouch(d.DOCUMENT,n,u.detect),s.onTouch(d.DOCUMENT,o,u.detect),d.READY=!0)}var d=function v(a,b){return new v.Instance(a,b||{})};d.VERSION="1.1.2",d.defaults={behavior:{userSelect:"none",touchAction:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},d.DOCUMENT=document,d.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,d.HAS_TOUCHEVENTS="ontouchstart"in a,d.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),d.NO_MOUSEEVENTS=d.HAS_TOUCHEVENTS&&d.IS_MOBILE||d.HAS_POINTEREVENTS,d.CALCULATE_INTERVAL=25;var e={},f=d.DIRECTION_DOWN="down",g=d.DIRECTION_LEFT="left",h=d.DIRECTION_UP="up",i=d.DIRECTION_RIGHT="right",j=d.POINTER_MOUSE="mouse",k=d.POINTER_TOUCH="touch",l=d.POINTER_PEN="pen",m=d.EVENT_START="start",n=d.EVENT_MOVE="move",o=d.EVENT_END="end",p=d.EVENT_RELEASE="release",q=d.EVENT_TOUCH="touch";d.READY=!1,d.plugins=d.plugins||{},d.gestures=d.gestures||{};var r=d.utils={extend:function(a,c,d){for(var e in c)!c.hasOwnProperty(e)||a[e]!==b&&d||(a[e]=c[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,c,d){var e,f;if("forEach"in a)a.forEach(c,d);else if(a.length!==b){for(e=0,f=a.length;f>e;e++)if(c.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&c.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(r.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?g:i:a.clientY-b.clientY>0?h:f},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==h||a==f},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=r.toCamelCase(b);for(var f=0;f0&&this.started&&(g=n),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=o&&d.call(u,j),h&&(j.changedLength=i,j.eventType=h,d.call(u,j),j.eventType=g,delete j.changedLength),g==o&&(d.call(u,j),this.started=!1),g},determineEventTypes:function(){var b;return b=d.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:d.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],e[m]=b[0],e[n]=b[1],e[o]=b[2],e},getTouchList:function(a,b){if(d.HAS_POINTEREVENTS)return t.getTouchList();if(a.touches){if(b==n)return a.touches;var c=[],e=[].concat(r.toArray(a.touches),r.toArray(a.changedTouches)),f=[];return r.each(e,function(a){r.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=k;return r.inStr(d.type,"mouse")||t.matchType(j,d)?e=j:t.matchType(l,d)&&(e=l),{center:r.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return u.stopDetect()}}}},t=d.PointerEvent={pointers:{},getTouchList:function(){var a=[];return r.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==o||a!=o&&1!==b.buttons?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[j]=c===(b.MSPOINTER_TYPE_MOUSE||j),d[k]=c===(b.MSPOINTER_TYPE_TOUCH||k),d[l]=c===(b.MSPOINTER_TYPE_PEN||l),d[a]},reset:function(){this.pointers={}}},u=d.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:r.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return r.each(this.gestures,function(d){return!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)===!1?(this.stopDetect(),!1):void 0},this),this.current&&(this.current.lastEvent=a),a.eventType==o&&this.stopDetect(),a}},stopDetect:function(){this.previous=r.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,e,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>d.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,e=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==q||a.eventType==p)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=r.getVelocity(c,e,f),j.angle=r.getAngle(b,a.center),j.direction=r.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==q||a.eventType==p)&&(c.touches=[],r.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),r.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:r.getDistance(c.center,a.center),angle:r.getAngle(c.center,a.center),direction:r.getDirection(c.center,a.center),scale:r.getScale(c.touches,a.touches),rotation:r.getRotation(c.touches,a.touches)}),a},register:function(a){var c=a.defaults||{};return c[a.name]===b&&(c[a.name]=!0),r.extend(d.defaults,c,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};d.Instance=function(a,b){var e=this;c(),this.element=a,this.enabled=!0,r.each(b,function(a,c){delete b[c],b[r.toCamelCase(c)]=a}),this.options=r.extend(r.extend({},d.defaults),b||{}),this.options.behavior&&r.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=s.onTouch(a,m,function(a){e.enabled&&a.eventType==m?u.startDetect(e,a):a.eventType==q&&u.detect(a)}),this.eventHandlers=[]},d.Instance.prototype={on:function(a,b){var c=this;return s.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return s.off(c.element,a,b,function(a){var d=r.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=d.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var e=this.element;return r.hasParent(b.target,e)&&(e=b.target),e.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(r.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)r.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],s.off(this.element,e[m],this.eventStartHandler),null}},function(a){function b(b,d){var e=u.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case m:c=!1;break;case n:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);j.pageX+=b.deltaX*k,j.pageY+=b.deltaY*k,j.clientX+=b.deltaX*k,j.clientY+=b.deltaY*k,b=u.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=r.isVertical(l)?b.deltaY<0?h:f:b.deltaX<0?g:i),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var q=r.isVertical(b.direction);(d.options.dragBlockVertical&&q||d.options.dragBlockHorizontal&&!q)&&b.preventDefault();break;case p:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case o:c=!1}}var c=!1;d.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),d.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=u.current;switch(b.eventType){case m:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case n:b.distance>e.holdThreshold&&clearTimeout(c);break;case p:clearTimeout(c)}}var c;d.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),d.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==p&&b.trigger(this.name,a)}},d.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==p){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=u.current,i=u.previous;switch(b.eventType){case m:c=!1;break;case n:c=c||b.distance>g.tapMaxDistance;break;case o:"touchcancel"!=b.srcEvent.type&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case p:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;d.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return d}):"undefined"!=typeof module&&module.exports?module.exports=d:a.Hammer=d}(window); +//# sourceMappingURL=hammer.min.map \ No newline at end of file diff --git a/slides/final/js/hammer.min.map b/slides/final/js/hammer.min.map new file mode 100644 index 0000000..51d4f11 --- /dev/null +++ b/slides/final/js/hammer.min.map @@ -0,0 +1 @@ +{"version":3,"file":"hammer.min.js","sources":["hammer.js"],"names":["window","undefined","setup","Hammer","READY","Event","determineEventTypes","Utils","each","gestures","gesture","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","element","options","Instance","VERSION","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","document","HAS_POINTEREVENTS","navigator","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","test","userAgent","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","extend","dest","src","merge","key","hasOwnProperty","on","type","handler","addEventListener","off","removeEventListener","obj","iterator","context","i","len","forEach","length","call","inStr","find","indexOf","inArray","index","toArray","Array","prototype","slice","hasParent","node","parent","parentNode","getCenter","touches","pageX","pageY","clientX","clientY","min","Math","max","touch","push","apply","getVelocity","deltaTime","deltaX","deltaY","x","abs","y","getAngle","touch1","touch2","atan2","PI","getDirection","getDistance","sqrt","getScale","start","end","this","getRotation","isVertical","direction","setPrefixedCss","prop","value","toggle","prefixes","toCamelCase","p","toUpperCase","style","toggleBehavior","props","falseFn","onselectstart","ondragstart","str","replace","s","event","preventMouseEvents","started","shouldDetect","hook","types","split","eventType","self","onTouchHandler","ev","triggerType","srcType","toLowerCase","isPointer","isMouse","button","buttons","PointerEvent","matchType","updatePointer","doDetect","reset","touchList","getTouchList","touchListLength","triggerChange","trigger","changedLength","changedTouches","evData","collectEventData","identifiers","concat","identifier","pointerType","center","timeStamp","Date","now","target","srcEvent","preventDefault","preventManipulation","stopPropagation","stopDetect","pointers","touchlist","pointer","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","current","previous","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","name","extendEventData","instOptions","enabled","getCalculatedData","cur","recalc","calcEv","calcData","velocity","angle","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","distance","scale","rotation","sort","a","b","eventStartHandler","eventHandlers","splice","createEvent","initEvent","dispatchEvent","enable","state","dispose","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","factor","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","clearTimeout","timer","setTimeout","holdTimeout","holdThreshold","Hold","Release","Infinity","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","prev","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","define","amd","module","exports"],"mappings":"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