├── .gitignore ├── Gruntfile.js ├── LICENSE ├── README.md ├── dist ├── icons │ ├── html5slides.png │ ├── impressjs.png │ ├── io2012slides.png │ ├── revealjs.png │ └── shower.png ├── presentable.css ├── presentable.js ├── presentable.min.css └── presentable.min.js ├── package.json ├── presentations ├── README.md ├── html5slides │ └── index-r21.html ├── impress.js-0.6.0 │ ├── .github │ │ ├── CONTRIBUTING.md │ │ ├── ISSUE_TEMPLATE.md │ │ └── PULL_REQUEST_TEMPLATE.md │ ├── .gitignore │ ├── .jshintrc │ ├── .npmignore │ ├── CHANGELOG.md │ ├── DOCUMENTATION.md │ ├── LICENSE │ ├── README.md │ ├── apple-touch-icon.png │ ├── bower.json │ ├── circle.yml │ ├── css │ │ └── impress-demo.css │ ├── favicon.png │ ├── index.html │ ├── js │ │ └── impress.js │ ├── karma.conf.js │ ├── package.json │ └── test │ │ ├── bootstrap.js │ │ └── core_tests.js ├── io-2012-slides │ ├── README.html │ ├── README.md │ ├── app.yaml │ ├── config.rb │ ├── images │ │ ├── barchart.png │ │ ├── chart.png │ │ ├── chrome-logo-tiny.png │ │ ├── google_developers_icon_128.png │ │ ├── google_developers_logo.png │ │ ├── google_developers_logo_tiny.png │ │ ├── google_developers_logo_white.png │ │ ├── io2012_logo.png │ │ ├── io2013 │ │ │ ├── google-io-lockup-1.png │ │ │ └── google-io-lockup-2.png │ │ └── sky.jpg │ ├── js │ │ ├── hammer.js │ │ ├── modernizr.custom.45394.js │ │ ├── order.js │ │ ├── polyfills │ │ │ ├── classList.min.js │ │ │ ├── dataset.min.js │ │ │ └── history.min.js │ │ ├── prettify │ │ │ ├── lang-apollo.js │ │ │ ├── lang-clj.js │ │ │ ├── lang-css.js │ │ │ ├── lang-go.js │ │ │ ├── lang-hs.js │ │ │ ├── lang-lisp.js │ │ │ ├── lang-lua.js │ │ │ ├── lang-ml.js │ │ │ ├── lang-n.js │ │ │ ├── lang-proto.js │ │ │ ├── lang-scala.js │ │ │ ├── lang-sql.js │ │ │ ├── lang-tex.js │ │ │ ├── lang-vb.js │ │ │ ├── lang-vhdl.js │ │ │ ├── lang-wiki.js │ │ │ ├── lang-xq.js │ │ │ ├── lang-yaml.js │ │ │ ├── prettify.css │ │ │ └── prettify.js │ │ ├── require-1.0.8.min.js │ │ ├── slide-controller.js │ │ ├── slide-deck.js │ │ └── slides.js │ ├── scripts │ │ └── md │ │ │ ├── README.md │ │ │ ├── base.html │ │ │ ├── render.py │ │ │ └── slides.md │ ├── serve.sh │ ├── slide_config.js │ ├── template.html │ └── theme │ │ ├── css │ │ ├── default.css │ │ ├── io2013.css │ │ └── phone.css │ │ └── scss │ │ ├── _base.scss │ │ ├── _variables.scss │ │ ├── default.scss │ │ ├── io2013.scss │ │ └── phone.scss ├── reveal.js-3.3.0 │ ├── .gitignore │ ├── .travis.yml │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── css │ │ ├── print │ │ │ ├── paper.css │ │ │ └── pdf.css │ │ ├── reveal.css │ │ ├── reveal.scss │ │ └── theme │ │ │ ├── README.md │ │ │ ├── beige.css │ │ │ ├── black.css │ │ │ ├── blood.css │ │ │ ├── league.css │ │ │ ├── moon.css │ │ │ ├── night.css │ │ │ ├── serif.css │ │ │ ├── simple.css │ │ │ ├── sky.css │ │ │ ├── solarized.css │ │ │ ├── source │ │ │ ├── beige.scss │ │ │ ├── black.scss │ │ │ ├── blood.scss │ │ │ ├── league.scss │ │ │ ├── moon.scss │ │ │ ├── night.scss │ │ │ ├── serif.scss │ │ │ ├── simple.scss │ │ │ ├── sky.scss │ │ │ ├── solarized.scss │ │ │ └── white.scss │ │ │ ├── template │ │ │ ├── mixins.scss │ │ │ ├── settings.scss │ │ │ └── theme.scss │ │ │ └── white.css │ ├── index.html │ ├── js │ │ └── reveal.js │ ├── lib │ │ ├── css │ │ │ └── zenburn.css │ │ ├── font │ │ │ ├── league-gothic │ │ │ │ ├── LICENSE │ │ │ │ ├── league-gothic.css │ │ │ │ ├── league-gothic.eot │ │ │ │ ├── league-gothic.ttf │ │ │ │ └── league-gothic.woff │ │ │ └── source-sans-pro │ │ │ │ ├── LICENSE │ │ │ │ ├── source-sans-pro-italic.eot │ │ │ │ ├── source-sans-pro-italic.ttf │ │ │ │ ├── source-sans-pro-italic.woff │ │ │ │ ├── source-sans-pro-regular.eot │ │ │ │ ├── source-sans-pro-regular.ttf │ │ │ │ ├── source-sans-pro-regular.woff │ │ │ │ ├── source-sans-pro-semibold.eot │ │ │ │ ├── source-sans-pro-semibold.ttf │ │ │ │ ├── source-sans-pro-semibold.woff │ │ │ │ ├── source-sans-pro-semibolditalic.eot │ │ │ │ ├── source-sans-pro-semibolditalic.ttf │ │ │ │ ├── source-sans-pro-semibolditalic.woff │ │ │ │ └── source-sans-pro.css │ │ └── js │ │ │ ├── classList.js │ │ │ ├── head.min.js │ │ │ └── html5shiv.js │ ├── package.json │ ├── plugin │ │ ├── highlight │ │ │ └── highlight.js │ │ ├── markdown │ │ │ ├── example.html │ │ │ ├── example.md │ │ │ ├── markdown.js │ │ │ └── marked.js │ │ ├── math │ │ │ └── math.js │ │ ├── multiplex │ │ │ ├── client.js │ │ │ ├── index.js │ │ │ ├── master.js │ │ │ └── package.json │ │ ├── notes-server │ │ │ ├── client.js │ │ │ ├── index.js │ │ │ └── notes.html │ │ ├── notes │ │ │ ├── notes.html │ │ │ └── notes.js │ │ ├── print-pdf │ │ │ └── print-pdf.js │ │ ├── search │ │ │ └── search.js │ │ └── zoom-js │ │ │ └── zoom.js │ └── test │ │ ├── examples │ │ ├── assets │ │ │ ├── image1.png │ │ │ └── image2.png │ │ ├── barebones.html │ │ ├── embedded-media.html │ │ ├── math.html │ │ ├── slide-backgrounds.html │ │ └── slide-transitions.html │ │ ├── qunit-1.12.0.css │ │ ├── qunit-1.12.0.js │ │ ├── test-markdown-element-attributes.html │ │ ├── test-markdown-element-attributes.js │ │ ├── test-markdown-slide-attributes.html │ │ ├── test-markdown-slide-attributes.js │ │ ├── test-markdown.html │ │ ├── test-markdown.js │ │ ├── test-pdf.html │ │ ├── test-pdf.js │ │ ├── test.html │ │ └── test.js └── shower-template-20161018 │ ├── LICENSE.md │ ├── README.md │ ├── index.html │ ├── pictures │ ├── cover.jpg │ ├── logo.png │ ├── logo.svg │ └── picture.jpg │ └── shower │ ├── shower.min.js │ └── themes │ ├── material │ ├── LICENSE.md │ ├── README.md │ ├── fonts │ │ ├── COPYRIGHT.txt │ │ ├── LICENSE.txt │ │ ├── roboto-bold-italic.woff │ │ ├── roboto-bold.woff │ │ ├── roboto-italic.woff │ │ ├── roboto-light.woff │ │ ├── roboto-mono-regular.woff │ │ └── roboto-regular.woff │ ├── images │ │ ├── github.svg │ │ ├── grid.png │ │ └── grid@2x.png │ ├── index.html │ ├── pictures │ │ ├── canvas.png │ │ ├── exact.png │ │ ├── square.png │ │ ├── tall.png │ │ └── wide.png │ └── styles │ │ ├── screen-16x10.css │ │ └── screen-4x3.css │ └── ribbon │ ├── LICENSE.md │ ├── README.md │ ├── fonts │ ├── LICENSE.txt │ ├── pt-mono-regular.woff │ ├── pt-sans-bold-italic.woff │ ├── pt-sans-bold.woff │ ├── pt-sans-italic.woff │ ├── pt-sans-narrow-bold.woff │ └── pt-sans-regular.woff │ ├── images │ ├── grid.png │ ├── grid@2x.png │ └── ribbon.svg │ ├── index.html │ ├── pictures │ ├── canvas.png │ ├── exact.png │ ├── square.png │ ├── tall.png │ └── wide.png │ └── styles │ ├── screen-16x10.css │ └── screen-4x3.css └── src ├── html.js ├── icons ├── html5slides.png ├── impressjs.png ├── io2012slides.png ├── revealjs.png └── shower.png ├── json.js ├── main.js ├── presentable.css └── util.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | # These resources are built from other resources already under version control 4 | /documentation/supported-frameworks/ 5 | /documentation/presentable/ 6 | 7 | # Contains secret credentials. Never commit. 8 | /ssh.json 9 | 10 | -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | 3 | grunt.initConfig({ 4 | pkg: grunt.file.readJSON('package.json'), 5 | concat: { 6 | options: { 7 | banner: '<%= grunt.file.read("LICENSE") %>' 8 | }, 9 | license: { 10 | files: { 11 | 'dist/presentable.css': 'dist/presentable.css', 12 | 'dist/presentable.js': 'dist/presentable.js', 13 | 'dist/presentable.min.css': 'dist/presentable.min.css', 14 | 'dist/presentable.min.js': 'dist/presentable.min.js' 15 | } 16 | } 17 | }, 18 | copy: { 19 | icons: {expand: true, cwd: 'src/', src: ['icons/**'], dest: 'dist/'}, 20 | css: {expand: true, cwd: 'src/', src: 'presentable.css', dest: 'dist/'} 21 | 22 | }, 23 | cssmin: { 24 | minify: { 25 | expand: true, 26 | cwd: 'src/', 27 | src: ['*.css', '!*.min.css'], 28 | dest: 'dist/', 29 | ext: '.min.css' 30 | } 31 | }, 32 | jshint: { 33 | options: { 34 | browser: true, 35 | browserify: true, 36 | camelcase: true, 37 | curly: true, 38 | eqeqeq: true, 39 | eqnull: true, 40 | globals: { 41 | console: true 42 | }, 43 | indent: 4, 44 | latedef: true, 45 | newcap: true, 46 | undef: true, 47 | unused: true 48 | }, 49 | src: 'src/*.js' 50 | }, 51 | browserify: { 52 | js: { 53 | files: { 54 | 'dist/presentable.js': 'src/main.js' 55 | }, 56 | options: { 57 | browserifyOptions: { 58 | standalone: 'presentable' 59 | } 60 | } 61 | } 62 | }, 63 | uglify: { 64 | js: { 65 | files: { 66 | 'dist/presentable.min.js': 'dist/presentable.js' 67 | } 68 | } 69 | } 70 | }); 71 | 72 | grunt.loadNpmTasks('grunt-browserify'); 73 | grunt.loadNpmTasks('grunt-contrib-concat'); 74 | grunt.loadNpmTasks('grunt-contrib-copy'); 75 | grunt.loadNpmTasks('grunt-contrib-cssmin'); 76 | grunt.loadNpmTasks('grunt-contrib-jshint'); 77 | grunt.loadNpmTasks('grunt-contrib-uglify'); 78 | 79 | grunt.registerTask("build", [ 80 | 'copy:icons', 81 | 'copy:css', 82 | 'cssmin:minify', 83 | 'jshint:src', 84 | 'browserify:js', 85 | 'uglify:js', 86 | 'concat:license' 87 | ]); 88 | 89 | }; -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | /* boring Legal Stuff 2 | *********************************************************************************************************************** 3 | The MIT License (MIT) 4 | Copyright (c) 2012 Frederick C. Feibel 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | this software and associated documentation files (the "Software"), to deal in the 8 | Software without restriction, including without limitation the rights to use, copy, 9 | modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 10 | and to permit persons to whom the Software is furnished to do so, subject to the 11 | following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all copies 14 | or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 17 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 18 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | **********************************************************************************************************************/ 23 | -------------------------------------------------------------------------------- /dist/icons/html5slides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/dist/icons/html5slides.png -------------------------------------------------------------------------------- /dist/icons/impressjs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/dist/icons/impressjs.png -------------------------------------------------------------------------------- /dist/icons/io2012slides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/dist/icons/io2012slides.png -------------------------------------------------------------------------------- /dist/icons/revealjs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/dist/icons/revealjs.png -------------------------------------------------------------------------------- /dist/icons/shower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/dist/icons/shower.png -------------------------------------------------------------------------------- /dist/presentable.min.css: -------------------------------------------------------------------------------- 1 | /* boring Legal Stuff 2 | *********************************************************************************************************************** 3 | The MIT License (MIT) 4 | Copyright (c) 2012 Frederick C. Feibel 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy of 7 | this software and associated documentation files (the "Software"), to deal in the 8 | Software without restriction, including without limitation the rights to use, copy, 9 | modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 10 | and to permit persons to whom the Software is furnished to do so, subject to the 11 | following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all copies 14 | or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 17 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 18 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | **********************************************************************************************************************/ 23 | #presentable-toc{height:600px;overflow:auto}#presentable-toc ol,#reveal #presentable-toc ol{display:block;margin:.6em 0 1.2em;padding:0}#presentable-toc ol,#presentable-toc ul,#reveal #presentable-toc ol,#reveal #presentable-toc ul{list-style:none}#presentable-toc ol ol,#presentable-toc ol ul,#reveal #presentable-toc ol ol,#reveal #presentable-toc ol ul{margin-bottom:.5em;margin-top:.5em;margin-left:1.5em}#presentable-toc li,#reveal #presentable-toc li{margin:0 0 .2em;padding:0}#presentable-toc li:before{content:normal}#presentable-toc li div{border-bottom:1px dotted #fff;width:98%}#presentable-toc li .page{float:right;text-align:right}#presentable-toc li a,#reveal #presentable-toc li a{text-decoration:none}#presentable-icon a{outline:0}#presentable-icon img{border:1px solid #666;outline:0}#reveal #presentable-icon,.reveal #presentable-icon{z-index:30}#reveal #presentable-icon a:hover img,.reveal #presentable-icon a:hover img{border-color:#13daec}#presentable-toc.html5slides li div,#presentable-toc.io2012slides li div{border-bottom:1px dotted #000}#presentable-toc.html5slides{height:540px}#presentable-toc.io2012slides{height:500px}#presentable-toc.io2012slides li a{border-bottom:none}#presentable-toc.shower{height:340px;font-size:80%}#presentable-toc.shower ol li,#presentable-toc.shower ul li{text-indent:0}#presentable-toc.shower li div{border-color:#000}#presentable-toc.shower a{border:none;background:0 0}#presentable-icon{position:absolute;top:10px;left:10px;z-index:1}.cover #presentable-icon.shower,.list #presentable-icon.shower{display:none}#presentable-icon.shower img{border-color:#bbb}#presentable-icon.impressjs{pointer-events:auto}#presentable-icon.impressjs a{background:0 0}#presentable-toc.impressjs div{line-height:1}#presentable-toc.impressjs li .title{font-size:35px} -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "presentable", 3 | "version": "2.1.1", 4 | "description": "A table of contents for HTML presentations", 5 | "main": "presentable.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/frederickf/presentable.git" 9 | }, 10 | "author": "Frederick C. Feibel", 11 | "license": "MIT", 12 | "bugs": { 13 | "url": "https://github.com/frederickf/presentable/issues" 14 | }, 15 | "devDependencies": { 16 | "grunt": "^1.0.1", 17 | "grunt-browserify": "^5.0.0", 18 | "grunt-contrib-concat": "^1.0.1", 19 | "grunt-contrib-copy": "^1.0.0", 20 | "grunt-contrib-cssmin": "^1.0.2", 21 | "grunt-contrib-jshint": "^1.0.0", 22 | "grunt-contrib-uglify": "^2.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /presentations/README.md: -------------------------------------------------------------------------------- 1 | # Presentations 2 | 3 | These presentation are here for the purpose of testing and demonstrating Presentable. 4 | Learn more at: 5 | 6 | * reveal.js: https://github.com/frederickf/presentable/wiki/For-reveal.js 7 | * Shower: https://github.com/frederickf/presentable/wiki/For-Shower 8 | * impress.js: https://github.com/frederickf/presentable/wiki/For-impress.js 9 | * html5slides: https://github.com/frederickf/presentable/wiki/For-html5slides 10 | * io-2012-slides: https://github.com/frederickf/presentable/wiki/For-io-2012-slides -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Issues 2 | ------ 3 | 4 | If you've found a bug or have a great idea for a new feature that will help **all users** of impress.js, let us know by [adding your suggestion] 5 | (https://github.com/bartaz/impress.js/issues/new) to the [issue tracker](https://github.com/bartaz/impress.js/issues). 6 | 7 | Guidelines: 8 | 9 | * If reporting a bug, please provide a [simplified example](https://sscce.org/) on [Pastebin](https://pastebin.com/) or [JsFiddle](https://jsfiddle.net/). 10 | 11 | Pull Requests 12 | ------------- 13 | 14 | [Pull Requests](https://help.github.com/articles/using-pull-requests/) should be opened against the [master branch] 15 | (https://github.com/bartaz/impress.js/tree/master). But remember that the team will only accept code that fits the purpose of impress.js. 16 | 17 | Guidelines: 18 | 19 | * If proposing a feature, make sure to discuss that as an issue first. 20 | * Create a new [topic branch](https://github.com/dchelimsky/rspec/wiki/Topic-Branches) for every separate change you make. 21 | * Execute `npm run lint && npm test` to make sure the tests pass and the code is consistent with the project standards. 22 | 23 | Manual release steps 24 | -------------------- 25 | 26 | * Bump version in `package.json` 27 | * Create commit with the message "Release version x.x.x" 28 | * Create Github tag and release 29 | * Publish on npm: `git fetch && npm publish ./` -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | **Make sure these boxes are checked before submitting your issue, thank you!** 2 | 3 | - [ ] I have read and complied with the [Issues Contributing Guidelines](https://github.com/impress/impress.js/blob/master/CONTRIBUTING.md#issues). 4 | - [ ] If am reporting a bug, I have a [simplified example](https://sscce.org/) on [Pastebin](https://pastebin.com/) or [JsFiddle](https://jsfiddle.net/) that reproduces the issue. 5 | - [ ] I have used the [Search Tool](https://github.com/impress/impress.js/search) to make sure someone haven't already reported my issue or feature request. -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | **Make sure these boxes are checked before submitting your Pull Request, thank you!** 2 | 3 | - [ ] I have read and complied with the [Pull Request Contributing Guidelines](https://github.com/impress/impress.js/blob/master/CONTRIBUTING.md#pull-requests). 4 | - [ ] I checked if an [an issue](https://github.com/impress/impress.js/issues) is necessary for my Pull Request and made sure it exists. 5 | - [ ] I have created a [topic branch](https://github.com/dchelimsky/rspec/wiki/Topic-Branches). 6 | - [ ] I have used the [Search Tool](https://github.com/impress/impress.js/search?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen&type=Issues) to make sure there are no open Pull Requests fixing the same thing. -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /npm-debug.log 3 | -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "globals": { 3 | "module": true 4 | }, 5 | "boss": true, 6 | "curly": true, 7 | "eqeqeq": true, 8 | "eqnull": true, 9 | "expr": true, 10 | "immed": true, 11 | "noarg": true, 12 | "quotmark": "double", 13 | "undef": true, 14 | "unused": true 15 | } 16 | -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/.npmignore: -------------------------------------------------------------------------------- 1 | /.*/ 2 | /.* 3 | /test/ 4 | /bower.json 5 | /circle.yml 6 | /karma.conf.js 7 | -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2016 Bartek Szopka 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/README.md: -------------------------------------------------------------------------------- 1 | impress.js 2 | ============ 3 | 4 | [![CircleCI](https://circleci.com/gh/impress/impress.js.svg?style=svg)](https://circleci.com/gh/impress/impress.js) 5 | 6 | It's a presentation framework based on the power of CSS3 transforms and 7 | transitions in modern browsers and inspired by the idea behind prezi.com. 8 | 9 | **WARNING** 10 | 11 | impress.js may not help you if you have nothing interesting to say ;) 12 | 13 | 14 | HOW TO USE IT 15 | --------------- 16 | 17 | [Use the source](http://github.com/impress/impress.js/blob/master/index.html), Luke ;) 18 | 19 | Please note that impress.js was created for developers. Some basic knowledge of html, css and 20 | javascript is a prerequisite to install and use its features. 21 | 22 | If you are a designer or novice developer that want to use impress.js, 23 | [there are some projects](https://github.com/impress/impress.js/wiki/Examples-and-demos/5d887507caa5cf534eab6713d9adb3a5e7662459#authoring-tools) that aim to provide an editing tool for impress.js. They might be still in 24 | development, but we hope they will manage to make impress.js more accessible to everyone. 25 | 26 | 27 | 28 | EXAMPLES AND OTHER LEARNING RESOURCES 29 | --------------------------------------- 30 | 31 | ### Official demo 32 | 33 | [impress.js demo](http://impress.github.io/impress.js/) by [@bartaz](http://twitter.com/bartaz) 34 | 35 | ### Examples and demos 36 | 37 | More examples and demos can be found on [Examples and demos wiki page](http://github.com/impress/impress.js/wiki/Examples-and-demos). 38 | 39 | Feel free to add your own example presentations (or websites) there. 40 | 41 | ### Other tutorials and learning resources 42 | 43 | If you want to learn even more there is a [list of tutorials and other learning resources](https://github.com/impress/impress.js/wiki/impress.js-tutorials-and-other-learning-resources) 44 | on the wiki, too. 45 | 46 | There is also a book available about [Building impressive presentations with impress.js](http://www.packtpub.com/building-impressive-presentations-with-impressjs/book) by Rakhitha Nimesh Ratnayake. 47 | 48 | 49 | WANT TO CONTRIBUTE? 50 | --------------------- 51 | 52 | Please, read the [contributing guidelines](.github/CONTRIBUTING.md) on how to create [Issues](.github/CONTRIBUTING.md#issues) and [Pull Requests](.github/CONTRIBUTING.md#pull-requests). 53 | 54 | **Note:** The team has changed, so there will be many changes in the upcoming versions. 55 | If you need informations about versions, check the [changelog](CHANGELOG.md). 56 | 57 | 58 | ABOUT THE NAME 59 | ---------------- 60 | 61 | impress.js name in [courtesy of @skuzniak](http://twitter.com/skuzniak/status/143627215165333504). 62 | 63 | It's an (un)fortunate coincidence that a Open/LibreOffice presentation tool is called Impress ;) 64 | 65 | Reference API 66 | -------------- 67 | 68 | See the [Reference API](DOCUMENTATION.md) 69 | 70 | BROWSER SUPPORT 71 | ----------------- 72 | 73 | This project supports only the major [evergreen](http://eisenbergeffect.bluespire.com/evergreen-browsers/) desktop browsers that have implemented: 74 | 75 | * [DataSet API](http://caniuse.com/#search=dataset) 76 | * [ClassList API](http://caniuse.com/#search=classlist) 77 | * [CSS 3D Transforms](http://caniuse.com/#search=css%203d) 78 | * [CSS Transitions](http://caniuse.com/#search=css%20transition) 79 | 80 | Copyright 2011-2016 Bartek Szopka - Released under the MIT [License](LICENSE) 81 | -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/impress.js-0.6.0/apple-touch-icon.png -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "impress-js", 3 | "description": "It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com", 4 | "homepage": "https://github.com/bartaz/impress.js", 5 | "license" : ["http://bartaz.mit-license.org/", "http://www.gnu.org/licenses/"], 6 | "main": [ 7 | "./js/impress.js" 8 | ], 9 | "keywords": [ 10 | "slideshow", 11 | "css3" 12 | ], 13 | "author": { 14 | "name": "Bartek Szopka", 15 | "web": "http://bartaz.github.com" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/circle.yml: -------------------------------------------------------------------------------- 1 | machine: 2 | node: 3 | version: 6 4 | 5 | test: 6 | override: 7 | - npm run lint -s 8 | - npm run test -s 9 | -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/impress.js-0.6.0/favicon.png -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/karma.conf.js: -------------------------------------------------------------------------------- 1 | module.exports = function( config ) { 2 | config.set( { 3 | 4 | // Base path, that will be used to resolve files and exclude 5 | basePath: "", 6 | 7 | // Frameworks to use 8 | frameworks: [ "qunit" ], 9 | 10 | // List of files / patterns to load in the browser 11 | files: [ 12 | "test/bootstrap.js", 13 | "js/impress.js", 14 | "test/core_tests.js" 15 | ], 16 | 17 | // List of files to exclude 18 | exclude: [], 19 | 20 | // Test results reporter to use 21 | // possible values: 'dots', 'progress', 'junit', 'growl', 'coverage' 22 | reporters: [ "progress" ], 23 | 24 | // Web server port 25 | port: 9876, 26 | 27 | // Enable / disable colors in the output (reporters and logs) 28 | colors: true, 29 | 30 | // Level of logging 31 | // possible values: config.LOG_DISABLE || config.LOG_ERROR || 32 | // config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG 33 | logLevel: config.LOG_DEBUG, 34 | 35 | // Enable / disable watching file and executing tests whenever any file changes 36 | autoWatch: true, 37 | 38 | // Start these browsers, currently available: 39 | // - Chrome 40 | // - ChromeCanary 41 | // - Firefox 42 | // - Opera (has to be installed with `npm install karma-opera-launcher`) 43 | // - Safari (only Mac; has to be installed with `npm install karma-safari-launcher`) 44 | // - PhantomJS 45 | // - IE (only Windows; has to be installed with `npm install karma-ie-launcher`) 46 | browsers: [ "Chrome" ], 47 | 48 | // If browser does not capture in given timeout [ms], kill it 49 | captureTimeout: 60000, 50 | 51 | // Continuous Integration mode 52 | // if true, it capture browsers, run tests and exit 53 | singleRun: false 54 | } ); 55 | }; 56 | -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "impress.js", 3 | "version": "0.6.0", 4 | "description": "It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.", 5 | "main": "js/impress.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/impress/impress.js.git" 9 | }, 10 | "keywords": [ 11 | "presentation", 12 | "slides", 13 | "slideshow", 14 | "css3", 15 | "transitions", 16 | "transforms", 17 | "browser" 18 | ], 19 | "author": "Bartek Szopka", 20 | "license": "MIT", 21 | "bugs": { 22 | "url": "https://github.com/bartaz/impress.js/issues" 23 | }, 24 | "scripts": { 25 | "lint": "jshint js/impress.js *.js test/bootstrap.js && jscs js/impress.js *.js test/bootstrap.js --preset=jquery", 26 | "test": "karma start --single-run", 27 | "test:dev": "karma start" 28 | }, 29 | "devDependencies": { 30 | "chrome": "0.1.0", 31 | "jscs": "2.11.0", 32 | "jshint": "2.9.1", 33 | "karma": "0.13.22", 34 | "karma-chrome-launcher": "1.0.1", 35 | "karma-cli": "1.0.0", 36 | "karma-qunit": "1.0.0", 37 | "qunitjs": "2.0.0-rc1" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /presentations/impress.js-0.6.0/test/bootstrap.js: -------------------------------------------------------------------------------- 1 | /*jshint browser:true */ 2 | 3 | var root = document.createElement( "div" ); 4 | root.innerHTML = [ 5 | "
", 6 | "
First slide
", 7 | "
Second slide
", 8 | "
Third slide
", 9 | "
Fourth slide
", 10 | "
" 11 | ].join( "" ); 12 | document.body.appendChild( root ); 13 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/README.html: -------------------------------------------------------------------------------- 1 | 48 | 49 |

HTML5 Slide Template

50 | 51 |

Configuring the slides

52 |

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

56 |

Customizing the #io12 hash

57 |

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

60 |

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

61 |

Editing CSS

62 |

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

65 |

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

69 |

Installing Compass and making changes

70 |

First, install compass:

71 |
sudo gem update --system
 72 | sudo gem install compass
 73 | 
74 |

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

76 |
$ cd io-2012-slides
 77 | $ compass watch
 78 | 
79 |

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

81 |

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

84 |
compass watch -s expanded
 85 | 
86 |

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

87 |

Running the slides

88 |

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

89 |

Running from a web server

90 |

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

92 |
$ cd io-2012-slides
 93 | $ ./serve.sh
 94 | 
95 |

You can also specify a custom port:

96 |
$ ./serve.sh 8080
 97 | 
98 |

Presenter mode

99 |

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

101 |

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

102 |

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

103 |

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

104 |
105 |

That's all she wrote!

106 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/README.md: -------------------------------------------------------------------------------- 1 | 48 | 49 |

HTML5 Slide Template

50 | 51 | ## Configuring the slides 52 | 53 | Much of the deck is customized by changing the settings in [`slide_config.js`](slide_config.js). 54 | Some of the customizations include the title, Analytics tracking ID, speaker 55 | information (name, social urls, blog), web fonts to load, themes, and other 56 | general behavior. 57 | 58 | ### Customizing the `#io12` hash 59 | 60 | The bottom of the slides include `#io12` by default. If you'd like to change 61 | this, please update the variable `$social-tags: '#io12';` in 62 | [`/theme/scss/default.scss`](theme/scss/default.scss). 63 | 64 | See the next section on "Editing CSS" before you go editing things. 65 | 66 | ## Editing CSS 67 | 68 | [Compass](http://compass-style.org/install/) is a CSS preprocessor used to compile 69 | SCSS/SASS into CSS. We chose SCSS for the new slide deck for maintainability, 70 | easier browser compatibility, and because...it's the future! 71 | 72 | That said, if not comfortable working with SCSS or don't want to learn something 73 | new, not a problem. The generated .css files can already be found in 74 | (see [`/theme/css`](theme/css)). You can just edit those and bypass SCSS altogether. 75 | However, our recommendation is to use Compass. It's super easy to install and use. 76 | 77 | ### Installing Compass and making changes 78 | 79 | First, install compass: 80 | 81 | sudo gem update --system 82 | sudo gem install compass 83 | 84 | Next, you'll want to watch for changes to the exiting .scss files in [`/theme/scss`](theme/scss) 85 | and any new one you add: 86 | 87 | $ cd io-2012-slides 88 | $ compass watch 89 | 90 | This command automatically recompiles the .scss file when you make a change. 91 | Its corresponding .css file is output to [`/theme/css`](theme/css). Slick. 92 | 93 | By default, [`config.rb`](config.rb) in the main project folder outputs minified 94 | .css. It's a best practice after all! However, if you want unminified files, 95 | run watch with the style output flag: 96 | 97 | compass watch -s expanded 98 | 99 | *Note:* You should not need to edit [`_base.scss`](theme/scss/_base.scss). 100 | 101 | ## Running the slides 102 | 103 | The slides can be run locally from `file://` making development easy :) 104 | 105 | ### Running from a web server 106 | 107 | If at some point you should need a web server, use [`serve.sh`](serve.sh). It will 108 | launch a simple one and point your default browser to [`http://localhost:8000/template.html`](http://localhost:8000/template.html): 109 | 110 | $ cd io-2012-slides 111 | $ ./serve.sh 112 | 113 | You can also specify a custom port: 114 | 115 | $ ./serve.sh 8080 116 | 117 | ### Presenter mode 118 | 119 | The slides contain a presenter mode feature (beta) to view + control the slides 120 | from a popup window. 121 | 122 | To enable presenter mode, add `presentme=true` to the URL: [http://localhost:8000/template.html?presentme=true](http://localhost:8000/template.html?presentme=true) 123 | 124 | To disable presenter mode, hit [http://localhost:8000/template.html?presentme=false](http://localhost:8000/template.html?presentme=false) 125 | 126 | Presenter mode is sticky, so refreshing the page will persist your settings. 127 | 128 | --- 129 | 130 | That's all she wrote! 131 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/app.yaml: -------------------------------------------------------------------------------- 1 | application: my-io-talk 2 | version: 1 3 | runtime: python27 4 | api_version: 1 5 | threadsafe: yes 6 | 7 | handlers: 8 | - url: / 9 | static_files: template.html 10 | upload: template\.html 11 | 12 | - url: /slide_config\.js 13 | static_files: slide_config.js 14 | upload: slide_config\.js 15 | 16 | - url: /js 17 | static_dir: js 18 | 19 | - url: /theme 20 | static_dir: theme 21 | 22 | - url: /images 23 | static_dir: images 24 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/config.rb: -------------------------------------------------------------------------------- 1 | # Require any additional compass plugins here. 2 | 3 | # Set this to the root of your project when deployed: 4 | http_path = "/" 5 | css_dir = "theme/css" 6 | sass_dir = "theme/scss" 7 | images_dir = "images" 8 | javascripts_dir = "js" 9 | 10 | # You can select your preferred output style here (can be overridden via the command line): 11 | output_style = :compressed #:expanded or :nested or :compact or :compressed 12 | 13 | # To enable relative paths to assets via compass helper functions. Uncomment: 14 | # relative_assets = true 15 | 16 | # To disable debugging comments that display the original location of your selectors. Uncomment: 17 | # line_comments = false 18 | 19 | 20 | # If you prefer the indented syntax, you might want to regenerate this 21 | # project again passing --syntax sass, or you can uncomment this: 22 | # preferred_syntax = :sass 23 | # and then run: 24 | # sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass 25 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/images/barchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/images/barchart.png -------------------------------------------------------------------------------- /presentations/io-2012-slides/images/chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/images/chart.png -------------------------------------------------------------------------------- /presentations/io-2012-slides/images/chrome-logo-tiny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/images/chrome-logo-tiny.png -------------------------------------------------------------------------------- /presentations/io-2012-slides/images/google_developers_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/images/google_developers_icon_128.png -------------------------------------------------------------------------------- /presentations/io-2012-slides/images/google_developers_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/images/google_developers_logo.png -------------------------------------------------------------------------------- /presentations/io-2012-slides/images/google_developers_logo_tiny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/images/google_developers_logo_tiny.png -------------------------------------------------------------------------------- /presentations/io-2012-slides/images/google_developers_logo_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/images/google_developers_logo_white.png -------------------------------------------------------------------------------- /presentations/io-2012-slides/images/io2012_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/images/io2012_logo.png -------------------------------------------------------------------------------- /presentations/io-2012-slides/images/io2013/google-io-lockup-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/images/io2013/google-io-lockup-1.png -------------------------------------------------------------------------------- /presentations/io-2012-slides/images/io2013/google-io-lockup-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/images/io2013/google-io-lockup-2.png -------------------------------------------------------------------------------- /presentations/io-2012-slides/images/sky.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/images/sky.jpg -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/order.js: -------------------------------------------------------------------------------- 1 | /* 2 | RequireJS order 1.0.5 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. 3 | Available via the MIT or new BSD license. 4 | see: http://github.com/jrburke/requirejs for details 5 | */ 6 | (function(){function k(a){var b=a.currentTarget||a.srcElement,c;if(a.type==="load"||l.test(b.readyState)){a=b.getAttribute("data-requiremodule");j[a]=!0;for(a=0;c=g[a];a++)if(j[c.name])c.req([c.name],c.onLoad);else break;a>0&&g.splice(0,a);setTimeout(function(){b.parentNode.removeChild(b)},15)}}function m(a){var b,c;a.setAttribute("data-orderloaded","loaded");for(a=0;c=h[a];a++)if((b=i[c])&&b.getAttribute("data-orderloaded")==="loaded")delete i[c],require.addScriptToDom(b);else break;a>0&&h.splice(0, 7 | a)}var f=typeof document!=="undefined"&&typeof window!=="undefined"&&document.createElement("script"),n=f&&(f.async||window.opera&&Object.prototype.toString.call(window.opera)==="[object Opera]"||"MozAppearance"in document.documentElement.style),o=f&&f.readyState==="uninitialized",l=/^(complete|loaded)$/,g=[],j={},i={},h=[],f=null;define({version:"1.0.5",load:function(a,b,c,e){var d;b.nameToUrl?(d=b.nameToUrl(a,null),require.s.skipAsync[d]=!0,n||e.isBuild?b([a],c):o?(e=require.s.contexts._,!e.urlFetched[d]&& 8 | !e.loaded[a]&&(e.urlFetched[d]=!0,require.resourcesReady(!1),e.scriptCount+=1,d=require.attach(d,e,a,null,null,m),i[a]=d,h.push(a)),b([a],c)):b.specified(a)?b([a],c):(g.push({name:a,req:b,onLoad:c}),require.attach(d,null,a,k,"script/cache"))):b([a],c)}})})(); 9 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/polyfills/classList.min.js: -------------------------------------------------------------------------------- 1 | /* @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js*/ 2 | "use strict";if(typeof document!=="undefined"&&!("classList" in document.createElement("a"))){(function(a){var f="classList",d="prototype",e=(a.HTMLElement||a.Element)[d],g=Object;strTrim=String[d].trim||function(){return this.replace(/^\s+|\s+$/g,"")},arrIndexOf=Array[d].indexOf||function(k){for(var j=0,h=this.length;j)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); 3 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-go.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/js/prettify/lang-go.js -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-hs.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n \r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^\n\f\r'\\]|\\[^&])'?/,null,"'"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^(?:--+[^\n\f\r]*|{-(?:[^-]|-+[^}-])*-})/],["kwd",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\d'A-Za-z]|$)/, 2 | null],["pln",/^(?:[A-Z][\w']*\.)*[A-Za-z][\w']*/],["pun",/^[^\d\t-\r "'A-Za-z]+/]]),["hs"]); 3 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-lisp.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(+/,a,"("],["clo",/^\)+/,a,")"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \xa0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,a], 3 | ["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["cl","el","lisp","scm"]); 4 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-lua.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/js/prettify/lang-lua.js -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-ml.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/js/prettify/lang-ml.js -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-n.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^(?:'(?:[^\n\r'\\]|\\.)*'|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,a,'"'],["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,a,"#"],["pln",/^\s+/,a," \r\n\t\xa0"]],[["str",/^@"(?:[^"]|"")*(?:"|$)/,a],["str",/^<#[^#>]*(?:#>|$)/,a],["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,a],["com",/^\/\/[^\n\r]*/,a],["com",/^\/\*[\S\s]*?(?:\*\/|$)/, 3 | a],["kwd",/^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\b/, 4 | a],["typ",/^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\b/,a],["lit",/^@[$_a-z][\w$@]*/i,a],["typ",/^@[A-Z]+[a-z][\w$@]*/,a],["pln",/^'?[$_a-z][\w$@]*/i,a],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,a,"0123456789"],["pun",/^.[^\s\w"-$'./@`]*/,a]]),["n","nemerle"]); 5 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-proto.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.sourceDecorator({keywords:"bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true",types:/^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\b/,cStyleComments:!0}),["proto"]); 2 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-scala.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/js/prettify/lang-scala.js -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-sql.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/js/prettify/lang-sql.js -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-tex.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/js/prettify/lang-tex.js -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-vb.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/js/prettify/lang-vb.js -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-vhdl.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/js/prettify/lang-vhdl.js -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-wiki.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frederickf/presentable/38c53b85ecfe5102c17078606ad03b2cd06610cf/presentations/io-2012-slides/js/prettify/lang-wiki.js -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/lang-yaml.js: -------------------------------------------------------------------------------- 1 | var a=null; 2 | PR.registerLangHandler(PR.createSimpleLexer([["pun",/^[:>?|]+/,a,":|>?"],["dec",/^%(?:YAML|TAG)[^\n\r#]+/,a,"%"],["typ",/^&\S+/,a,"&"],["typ",/^!\S*/,a,"!"],["str",/^"(?:[^"\\]|\\.)*(?:"|$)/,a,'"'],["str",/^'(?:[^']|'')*(?:'|$)/,a,"'"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^\s+/,a," \t\r\n"]],[["dec",/^(?:---|\.\.\.)(?:[\n\r]|$)/],["pun",/^-/],["kwd",/^\w+:[\n\r ]/],["pln",/^\w+/]]),["yaml","yml"]); 3 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/prettify/prettify.css: -------------------------------------------------------------------------------- 1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/slide-controller.js: -------------------------------------------------------------------------------- 1 | (function(window) { 2 | 3 | var ORIGIN_ = location.protocol + '//' + location.host; 4 | 5 | function SlideController() { 6 | this.popup = null; 7 | this.isPopup = window.opener; 8 | 9 | if (this.setupDone()) { 10 | window.addEventListener('message', this.onMessage_.bind(this), false); 11 | 12 | // Close popups if we reload the main window. 13 | window.addEventListener('beforeunload', function(e) { 14 | if (this.popup) { 15 | this.popup.close(); 16 | } 17 | }.bind(this), false); 18 | } 19 | } 20 | 21 | SlideController.PRESENTER_MODE_PARAM = 'presentme'; 22 | 23 | SlideController.prototype.setupDone = function() { 24 | var params = location.search.substring(1).split('&').map(function(el) { 25 | return el.split('='); 26 | }); 27 | 28 | var presentMe = null; 29 | for (var i = 0, param; param = params[i]; ++i) { 30 | if (param[0].toLowerCase() == SlideController.PRESENTER_MODE_PARAM) { 31 | presentMe = param[1] == 'true'; 32 | break; 33 | } 34 | } 35 | 36 | if (presentMe !== null) { 37 | localStorage.ENABLE_PRESENTOR_MODE = presentMe; 38 | // TODO: use window.history.pushState to update URL instead of the redirect. 39 | if (window.history.replaceState) { 40 | window.history.replaceState({}, '', location.pathname); 41 | } else { 42 | location.replace(location.pathname); 43 | return false; 44 | } 45 | } 46 | 47 | var enablePresenterMode = localStorage.getItem('ENABLE_PRESENTOR_MODE'); 48 | if (enablePresenterMode && JSON.parse(enablePresenterMode)) { 49 | // Only open popup from main deck. Don't want recursive popup opening! 50 | if (!this.isPopup) { 51 | var opts = 'menubar=no,location=yes,resizable=yes,scrollbars=no,status=no'; 52 | this.popup = window.open(location.href, 'mywindow', opts); 53 | 54 | // Loading in the popup? Trigger the hotkey for turning presenter mode on. 55 | this.popup.addEventListener('load', function(e) { 56 | var evt = this.popup.document.createEvent('Event'); 57 | evt.initEvent('keydown', true, true); 58 | evt.keyCode = 'P'.charCodeAt(0); 59 | this.popup.document.dispatchEvent(evt); 60 | // this.popup.document.body.classList.add('with-notes'); 61 | // document.body.classList.add('popup'); 62 | }.bind(this), false); 63 | } 64 | } 65 | 66 | return true; 67 | } 68 | 69 | SlideController.prototype.onMessage_ = function(e) { 70 | var data = e.data; 71 | 72 | // Restrict messages to being from this origin. Allow local developmet 73 | // from file:// though. 74 | // TODO: It would be dope if FF implemented location.origin! 75 | if (e.origin != ORIGIN_ && ORIGIN_.indexOf('file://') != 0) { 76 | alert('Someone tried to postMessage from an unknown origin'); 77 | return; 78 | } 79 | 80 | // if (e.source.location.hostname != 'localhost') { 81 | // alert('Someone tried to postMessage from an unknown origin'); 82 | // return; 83 | // } 84 | 85 | if ('keyCode' in data) { 86 | var evt = document.createEvent('Event'); 87 | evt.initEvent('keydown', true, true); 88 | evt.keyCode = data.keyCode; 89 | document.dispatchEvent(evt); 90 | } 91 | }; 92 | 93 | SlideController.prototype.sendMsg = function(msg) { 94 | // // Send message to popup window. 95 | // if (this.popup) { 96 | // this.popup.postMessage(msg, ORIGIN_); 97 | // } 98 | 99 | // Send message to main window. 100 | if (this.isPopup) { 101 | // TODO: It would be dope if FF implemented location.origin. 102 | window.opener.postMessage(msg, '*'); 103 | } 104 | }; 105 | 106 | window.SlideController = SlideController; 107 | 108 | })(window); 109 | 110 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/js/slides.js: -------------------------------------------------------------------------------- 1 | require(['order!../../../dist/presentable.min', 'order!../slide_config', 'order!modernizr.custom.45394', 2 | 'order!prettify/prettify', 'order!hammer', 'order!slide-controller', 3 | 'order!slide-deck'], function(presentable) { 4 | presentable.toc({ 5 | framework: "io2012slides" 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/scripts/md/README.md: -------------------------------------------------------------------------------- 1 | ### Want to use markdown to write your slides? 2 | 3 | `python render.py` can do that for you. 4 | 5 | Dependencies: jinja2, markdown. 6 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/scripts/md/base.html: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | Google IO 2012 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 36 | 37 | 38 | 39 |
40 |

41 |

42 |

43 |
44 |
45 | 46 | {% for slide in slides %} 47 | 48 | {% if 'segue' in slide.class %} 49 | 50 |
51 |

{{- slide.title -}}

52 |

{{- slide.subtitle -}}

53 |
54 | {% else %} 55 |
56 |

{{- slide.title -}}

57 |

{{- slide.subtitle -}}

58 |
59 |
60 | {{- slide.content -}} 61 |
62 | {% endif %} 63 |
64 | {% endfor %} 65 | 66 | 67 | 68 |
69 |

<Thank You!>

70 |

Important contact information goes here.

71 |
72 |

73 | 74 |

75 |
76 | 77 | 82 | 83 | 84 | 85 |
86 | 87 | 98 | 99 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /presentations/io-2012-slides/scripts/md/render.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import codecs 4 | import re 5 | import jinja2 6 | import markdown 7 | 8 | def process_slides(): 9 | with codecs.open('../../presentation-output.html', 'w', encoding='utf8') as outfile: 10 | md = codecs.open('slides.md', encoding='utf8').read() 11 | md_slides = md.split('\n---\n') 12 | print 'Compiled %s slides.' % len(md_slides) 13 | 14 | slides = [] 15 | # Process each slide separately. 16 | for md_slide in md_slides: 17 | slide = {} 18 | sections = md_slide.split('\n\n') 19 | # Extract metadata at the beginning of the slide (look for key: value) 20 | # pairs. 21 | metadata_section = sections[0] 22 | metadata = parse_metadata(metadata_section) 23 | slide.update(metadata) 24 | remainder_index = metadata and 1 or 0 25 | # Get the content from the rest of the slide. 26 | content_section = '\n\n'.join(sections[remainder_index:]) 27 | html = markdown.markdown(content_section) 28 | slide['content'] = postprocess_html(html, metadata) 29 | 30 | slides.append(slide) 31 | 32 | template = jinja2.Template(open('base.html').read()) 33 | 34 | outfile.write(template.render(locals())) 35 | 36 | def parse_metadata(section): 37 | """Given the first part of a slide, returns metadata associated with it.""" 38 | metadata = {} 39 | metadata_lines = section.split('\n') 40 | for line in metadata_lines: 41 | colon_index = line.find(':') 42 | if colon_index != -1: 43 | key = line[:colon_index].strip() 44 | val = line[colon_index + 1:].strip() 45 | metadata[key] = val 46 | 47 | return metadata 48 | 49 | def postprocess_html(html, metadata): 50 | """Returns processed HTML to fit into the slide template format.""" 51 | if metadata.get('build_lists') and metadata['build_lists'] == 'true': 52 | html = html.replace('