├── .gitignore ├── LICENSE ├── Procfile ├── README.md ├── deckdown.js ├── gulpfile.js ├── lib └── shuffler.js ├── package.json ├── public ├── examples │ ├── bella.md │ ├── deckdown.md │ ├── example.md │ ├── gulp.md │ └── split.js ├── images │ ├── 8ball.png │ ├── apprend-home.png │ ├── apprend-logo.png │ ├── apprend_meetup.png │ ├── bizdom.jpg │ ├── blue_bicycle.jpg │ ├── calling_functions_SMS.jpg │ ├── calling_functions_args_SMS.jpg │ ├── calling_functions_sayhi_SMS.jpg │ ├── classmates.png │ ├── coffee_shop_blue.jpg │ ├── deckdown.png │ ├── evolution.png │ ├── favicon.ico │ ├── flyingpig.jpg │ ├── github_zip.jpg │ ├── grunt_logo.png │ ├── gulp_fs_filesize.jpg │ ├── gulpomg.jpg │ ├── iosJS.jpg │ ├── jquery-logo.png │ ├── mapping_coneys.png │ ├── paimai.jpg │ ├── randy.jpg │ ├── returns.jpg │ ├── watermelon1.jpg │ └── web_app_info.jpg ├── lib │ ├── css │ │ ├── monokai_sublime.css │ │ └── zenburn.css │ ├── font │ │ ├── league_gothic-webfont.eot │ │ ├── league_gothic-webfont.svg │ │ ├── league_gothic-webfont.ttf │ │ ├── league_gothic-webfont.woff │ │ └── league_gothic_license │ └── js │ │ ├── classList.js │ │ ├── head.min.js │ │ └── html5shiv.js ├── plugin │ ├── highlight │ │ └── highlight.js │ ├── multiplex │ │ ├── client.js │ │ ├── index.js │ │ └── master.js │ ├── notes-server │ │ ├── client.js │ │ ├── index.js │ │ └── notes.html │ ├── notes │ │ ├── notes.html │ │ └── notes.js │ └── zoom-js │ │ └── zoom.js ├── scripts │ ├── highlight.pack.js │ ├── jquery-1.11.2.min.js │ ├── jquery.balancetext.min.js │ ├── marked.min.js │ ├── prism.js │ ├── regex.js │ └── reveal.min.js └── styles │ ├── grids-responsive-min.css │ ├── hltheme │ ├── arta.css │ ├── ascetic.css │ ├── atelier-dune.dark.css │ ├── atelier-dune.light.css │ ├── atelier-forest.dark.css │ ├── atelier-forest.light.css │ ├── atelier-heath.dark.css │ ├── atelier-heath.light.css │ ├── atelier-lakeside.dark.css │ ├── atelier-lakeside.light.css │ ├── atelier-seaside.dark.css │ ├── atelier-seaside.light.css │ ├── brown_paper.css │ ├── brown_papersq.png │ ├── codepen-embed.css │ ├── color-brewer.css │ ├── dark.css │ ├── default.css │ ├── docco.css │ ├── far.css │ ├── foundation.css │ ├── github.css │ ├── googlecode.css │ ├── hybrid.css │ ├── idea.css │ ├── ir_black.css │ ├── kimbie.dark.css │ ├── kimbie.light.css │ ├── magula.css │ ├── mono-blue.css │ ├── monokai.css │ ├── monokai_sublime.css │ ├── obsidian.css │ ├── paraiso.dark.css │ ├── paraiso.light.css │ ├── pojoaque.css │ ├── pojoaque.jpg │ ├── railscasts.css │ ├── rainbow.css │ ├── school_book.css │ ├── school_book.png │ ├── solarized_dark.css │ ├── solarized_light.css │ ├── sunburst.css │ ├── tomorrow-night-blue.css │ ├── tomorrow-night-bright.css │ ├── tomorrow-night-eighties.css │ ├── tomorrow-night.css │ ├── tomorrow.css │ ├── vs.css │ ├── xcode.css │ └── zenburn.css │ ├── print │ ├── paper.css │ └── pdf.css │ ├── prism.css │ ├── pure-min.css │ ├── pure.css │ ├── reveal.min.css │ ├── styles.css │ └── theme │ ├── README.md │ ├── apprend.css │ ├── beige.css │ ├── blood.css │ ├── default.css │ ├── images │ ├── apprend-logo.png │ └── apprend-white.png │ ├── moon.css │ ├── night.css │ ├── serif.css │ ├── simple.css │ ├── sky.css │ └── solarized.css ├── src ├── apprend.less ├── breakpoints.less ├── deckdown_favicon_black.png ├── deckdown_icon.ai ├── deckdown_icon_black.png ├── deckdown_icon_white.png └── styles.less ├── templates ├── deck.html ├── id.html ├── index.html └── masters │ └── default.html └── test.js /.gitignore: -------------------------------------------------------------------------------- 1 | #OS X 2 | .DS_Store 3 | 4 | # Logs 5 | logs 6 | *.log 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | 13 | # Directory for instrumented libs generated by jscoverage/JSCover 14 | lib-cov 15 | 16 | # Coverage directory used by tools like istanbul 17 | coverage 18 | 19 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 20 | .grunt 21 | 22 | # Compiled binary addons (http://nodejs.org/api/addons.html) 23 | build/Release 24 | 25 | # Dependency directory 26 | # Deployed apps should consider commenting this line out: 27 | # see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git 28 | node_modules 29 | 30 | marked -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Alan Languirand 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 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: node deckdown.js 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | deckdown 2 | ======== 3 | 4 | ![Deckdown](http://deckdown.org/images/deckdown.png) 5 | 6 | Write markdown, get a slide deck. No BS. Or JS. Or HTML. 7 | 8 | Try it at http://deckdown.org 9 | 10 | ## Usage 11 | 12 | ### From Text 13 | Type or paste [markdown](http://daringfireball.net/projects/markdown/syntax) into the form above, and hit 'create deck'. Valid markdown will be parsed into a deck for you to enjoy. Deckdown currently doesn't save the markdown text that you submit to it so this is a one time, unique thing. 14 | 15 | ### From A File 16 | Tell deckdown the url of your raw `.md` file by passing it as the `src` parameter, like this: 17 | 18 | ``` 19 | http://deckdown.org/deck?src=path/to/yourdeck.md 20 | ``` 21 | For example, here's a slideshow version of the [deckdown readme](http://deckdown.org/deck?src=https://raw.githubusercontent.com/alanguir/deckdown/master/README.md#/). 22 | 23 | * Hosting on github 24 | 25 | Commit your `.md` file to your repo, then navigate to that file on github and click 'raw' in the upper right corner. Use the url of the raw file for deckdown. 26 | * Hosting on Dropbox 27 | 28 | Place the markdown file in your Public folder, then right/option click to get it's public link. Use this public link with deckdown. More info on public links from [dropbox help](https://www.dropbox.com/help/16). 29 | * Hosting elsewhere 30 | 31 | Deckdown can take any publicly available url as an input for generating a slide deck. Links from your local filesystem that begin with `file:///` will not work. For that, just paste the contents of the file into deckdown a-la the *From Text* instructions above. 32 | 33 | ## Why use it? 34 | 35 | Deckdown is for breaking out of slideware jail. Traditional slideware is hard to proofread, and tweaking text size and alignment on large decks feels like a waste of time. I love reveal.js (it's used in this project), but the *process* of writing markup around my content in order to present it feels like a new flavor of the old slideware bloat. 36 | 37 | Deckdown changes all that by taking the contents of a single text file and turning it into a completely acceptable and usable slide deck. 38 | 39 | Presentations that include code examples may never be the same. I hope you enjoy using deckdown. 40 | 41 | ## How it works 42 | Deckdown breaks your markdown file into slides based on headers and horizontal rules. It does this with *regex*, and it splits up your file **after** converting it to html. This means html header tags `

-

` and `
` become the slide delimiters. 43 | 44 | When writing your markdown: 45 | 46 | ``` 47 | This Creates a New Slide 48 | ======================== 49 | 50 | #So does this 51 | 52 | *** 53 | (That one does too) 54 | ``` 55 | 56 | Markdown conversion is done with [kramed](https://github.com/GitbookIO/kramed), and uses [GFM](https://help.github.com/articles/github-flavored-markdown) by default. 57 | 58 | ## Known issues 59 | Deckdown is still in an early experimental state. Feel free to use it for your presentations if you wish, just know that sailing is not yet a smooth as it could be. Here are some of the bigger issues keeping deckdown from taking the world by storm: 60 | 61 | * Images 62 | 63 | Currently, images are included at their natural size, which can look like an error - especially for .svg or hi-res images. 64 | * Overflowing Content 65 | 66 | Right now, it’s up to the markdown author to anticipate overflowing content, and to chunk accordingly. 67 | 68 | 69 | ## Contribute 70 | Deckdown is on [github](http://github.com/alanguir/deckdown). 71 | 72 | Created 2014 by [Alan Languirand](http://github.com/alanguir/). [MIT license](/LICENSE). -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp') 2 | , less = require('gulp-less-sourcemap') 3 | , path = require('path') 4 | , minifyCSS = require('gulp-minify-css'); 5 | 6 | gulp.task('styles', function() { 7 | gulp.src('./src/styles.less') 8 | .pipe(less({ 9 | generateSourceMap: false, 10 | paths: [ path.join(__dirname, 'less', 'includes') ] 11 | })) 12 | .pipe(minifyCSS({noAdvanced:true, keepSpecialComments: 0})) 13 | .pipe(gulp.dest('./public/styles')); 14 | 15 | gulp.src('./src/apprend.less') 16 | .pipe(less({ 17 | generateSourceMap: false, 18 | paths: [ path.join(__dirname, 'less', 'includes') ] 19 | })) 20 | .pipe(gulp.dest('./public/styles/theme')); 21 | }); 22 | 23 | 24 | gulp.task('default', ['styles'], function(){ 25 | gulp.watch('./src/**', ['styles']); 26 | }); 27 | 28 | -------------------------------------------------------------------------------- /lib/shuffler.js: -------------------------------------------------------------------------------- 1 | /******** 2 | 3 | Shuffler 4 | 5 | Shuffler files, retrieves, and validates decks 6 | 7 | *********/ 8 | 9 | // Methods 10 | /* 11 | getById(id) 12 | findOrCreate(url) 13 | createFromUrl(url) 14 | createFromMD(md) 15 | 16 | isUrl([id, url, md]) 17 | isID([id, url, md]) 18 | isMD([id, url, md]) 19 | 20 | 21 | All public shuffle methods should return a cards object: 22 | 23 | { 24 | id: 1234, 25 | url: optional, 26 | md: "raw markdown" 27 | } 28 | 29 | */ 30 | 31 | // Public 32 | 33 | function lookup(value){ 34 | // is value a URL? 35 | return getByUrl(url) 36 | 37 | // Value is an ID 38 | return getById(value) 39 | } 40 | 41 | function addDeck(value){ 42 | // is value a URL? 43 | var existingDeck = getByUrl(value); 44 | if(existingDeck){ 45 | return existingDeck} 46 | else{ 47 | return createFromUrl(value) 48 | } 49 | 50 | // else, it's markdown 51 | return createFromMD(value); 52 | 53 | } 54 | 55 | 56 | // Private 57 | 58 | function newUID(){ 59 | // Generate UID 60 | // Optionally check DB for uniqueness 61 | return UID; 62 | } 63 | 64 | function getById(id){ 65 | // Lookup content by ID in Database 66 | // If markdown, return as markdown (null url) 67 | // If URL, fetch url, return results 68 | } 69 | 70 | function getByUrl(url){ 71 | // Does this URL exist in the DB? 72 | 73 | // Yes, return it 74 | // No, return false 75 | 76 | } 77 | 78 | function createFromUrl(url) { 79 | var id = newUID(); 80 | 81 | // add to database 82 | // id: url 83 | 84 | return getByID(id); 85 | 86 | } 87 | 88 | function createFromMD(MD) { 89 | var id = newUID(); 90 | 91 | // add to database 92 | // id: MD 93 | 94 | return getByID(id); 95 | 96 | } 97 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Deckdown", 3 | "version": "0.0.1", 4 | "description": "Write markdown, get a slide deck. Now BS.", 5 | "main": "server.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "import": "./import/run.sh", 9 | "start": "node deckdown.js" 10 | }, 11 | "repository": "", 12 | "keywords": [ 13 | "zetta" 14 | ], 15 | "author": "Alan Languirand ", 16 | "license": "MIT", 17 | "dependencies": { 18 | "body-parser": "~1.8.1", 19 | "dive": "~0.3.1", 20 | "ejs": "~1.0.0", 21 | "express": "~4.9.0", 22 | "highlight.js": "~8.2.0", 23 | "kramed": "~0.4.6", 24 | "less-middleware": "~1.0.4", 25 | "lwip": "0.0.4", 26 | "marked": "~0.3.2", 27 | "mustache": "^1.0.0", 28 | "node-persist": "0.0.2", 29 | "node.extend": "~1.1.2", 30 | "path": "~0.4.9", 31 | "querystring": "~0.2.0", 32 | "request": "~2.42.0", 33 | "socket.io": "~0.9.16", 34 | "underscore": "^1.7.0", 35 | "validator": "~3.18.1" 36 | }, 37 | "engines": { 38 | "node": ">= 0.10.0", 39 | "npm": ">= 1.2.0" 40 | }, 41 | "devDependencies": { 42 | "gulp": "^3.8.10", 43 | "gulp-less-sourcemap": "^1.3.3", 44 | "gulp-minify-css": "^0.3.11" 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /public/examples/bella.md: -------------------------------------------------------------------------------- 1 | ## My Name is B. Carlson Esquire 2 | 3 | ## Life as a Dog 4 | My life is incredibly *challenging*. 5 | 6 | ## Life as a Dog 7 | My humans sometimes feed me, but mostly they 8 | 9 | let me ~~wither away~~ starve. 10 | 11 | ## Life as a Dog 12 | One day, when I'm in charge, there will be never-ending amounts of food all throughout the land. 13 | 14 | ## Plan for world domination 15 | 16 | 1. Get free from the humans 17 | 2. Eat **all** of the food 18 | 3. Success -------------------------------------------------------------------------------- /public/examples/deckdown.md: -------------------------------------------------------------------------------- 1 | # Welcome to Deckdown 2 | 3 | ## Deckdown is 4 | a brand new way to create slide decks 5 | 6 | *** 7 | It take a markdown file, and creates a _reveal.js_ powered slide deck 8 | 9 | ## How? 10 | 11 | ## Markdown! 12 | 13 | *** 14 | 15 | Markdown, according to it's creators: 16 | 17 | > Markdown is intended to be as easy-to-read and easy-to-write as is feasible. 18 | > A Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. 19 | 20 | Reade more on [Daring Fireball](http://daringfireball.net/projects/markdown/syntax#philosophy) 21 | 22 | *** 23 | 24 | Markdown is *compiled* to HTML. 25 | 26 | Deckdown slides are created anytime a new header `

-

` or horizontal rule `
` tag is encountered. 27 | 28 | *** 29 | 30 | When creating a slid deck for _Deckdown_, just write markdown, and deckdown figures out the rest. 31 | 32 | ### A Basic Deck 33 | 34 | Here is a basic deck, written in markdown. It creates two slides: 35 | 36 | ```markdown 37 | #Intro 38 | Welcome to this presentation 39 | 40 | ##Thanks for listening 41 | Stay in touch! alan@13protons.com 42 | ``` 43 | 44 | ## So, why make a deck using *Deckdown*? 45 | 46 | # CODE! 47 | 48 | Markdown makes it easy to write code, and even specify what language should be used to highlight the syntax 49 | 50 | Use 3 backticks (called code fences) to specify some code, like this: 51 | 52 | `````` 53 | ``` 54 | //code goes here 55 | ``` 56 | `````` 57 | *** 58 | Then specify it's language by adding it after the fence: 59 | 60 | `````` 61 | ```javascript 62 | //code goes here 63 | var sum = var1 + var2; 64 | ``` 65 | `````` 66 | #### Here's some Java: 67 | 68 | ```java 69 | public class Factorial 70 | { 71 | public static void main(String[] args) 72 | { final int NUM_FACTS = 100; 73 | for(int i = 0; i < NUM_FACTS; i++) 74 | System.out.println( i + "! is " + factorial(i)); 75 | } 76 | 77 | public static int factorial(int n) 78 | { int result = 1; 79 | for(int i = 2; i <= n; i++) 80 | result *= i; 81 | return result; 82 | } 83 | } 84 | ``` 85 | 86 | #### And Some C: 87 | 88 | ```c 89 | #include 90 | 91 | main() 92 | { 93 | int n; 94 | 95 | printf("Enter an integer\n"); 96 | scanf("%d",&n); 97 | 98 | if ( n%2 == 0 ) 99 | printf("Even\n"); 100 | else 101 | printf("Odd\n"); 102 | 103 | return 0; 104 | } 105 | ``` 106 | #### Maybe some Phython? 107 | 108 | ```python 109 | prices = {'apple': 0.40, 'banana': 0.50} 110 | my_purchase = { 111 | 'apple': 1, 112 | 'banana': 6} 113 | grocery_bill = sum(prices[fruit] * my_purchase[fruit] for fruit in my_purchase) 114 | print 'I owe the grocer $%.2f' % grocery_bill 115 | ``` 116 | 117 | ### You get the point 118 | 119 | *** 120 | View this document's [source code](https://gist.github.com/alanguir/db718cea7e23338bb3bc) to see more, and don't forget to read up on the [markdown spec](http://daringfireball.net/projects/markdown/syntax) for more info about how to write markdown. 121 | 122 | # Happy Decking :) -------------------------------------------------------------------------------- /public/examples/example.md: -------------------------------------------------------------------------------- 1 | # Heading 1 2 | 3 | > With a quote 4 | 5 | ## Heading 2 6 | 7 | * With a list 8 | * of really great 9 | * nested 10 | * Items 11 | 12 | ### Heading 3 13 | 14 | A **paragraph** here 15 | 16 | It makes *appearances* or takes lead roles in front end user interfaces, server side code, as a database - both the management server and data structure, in mobile apps, etc. 17 | 18 | ### A Table 19 | 20 | Data Type | What it's used for 21 | --------------|------------------------------------- 22 | Number | Numbers! (integers or decimals) 23 | String | Text (use 'single' or "double" quotes) 24 | Boolean | `true` or `false` 25 | Array | A list of values 26 | Object | `Key: Value` pairs 27 | undefined | No value (different from `false` or `0`) 28 | NaN | Not a Number ( like the result of 1/0 ) 29 | 30 | #### Heading 4 31 | 32 | This is a basement level, but looks like an h1 33 | 34 | A code block 35 | 36 | ```javascript 37 | var static = require('node-static'); 38 | 39 | if(process.env.LOCAL == "true"){ 40 | var file = new static.Server('./public', { 41 | "Cache-Control": "no-cache, must-revalidate", 42 | gzip: true 43 | }); 44 | } else { 45 | var file = new static.Server('./public', { 46 | cache: 7200, 47 | gzip: true 48 | }); 49 | } 50 | 51 | ``` 52 | 53 | ##### Heading 5 54 | 55 | This is a basement level, but looks like an h2 56 | 57 | ###### Heading 6 58 | 59 | This is also a basement Level, but looks liek an h3 60 | 61 | --- 62 | 63 | This stays in the basement until we bust out with an h3 or higher 64 | -------------------------------------------------------------------------------- /public/examples/split.js: -------------------------------------------------------------------------------- 1 | var str = "How are you doing today?"; 2 | var res = str.split(" "); 3 | The result of res will be an array with the values: 4 | 5 | How,are,you,doing,today? 6 | -------------------------------------------------------------------------------- /public/images/8ball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/8ball.png -------------------------------------------------------------------------------- /public/images/apprend-home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/apprend-home.png -------------------------------------------------------------------------------- /public/images/apprend-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/apprend-logo.png -------------------------------------------------------------------------------- /public/images/apprend_meetup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/apprend_meetup.png -------------------------------------------------------------------------------- /public/images/bizdom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/bizdom.jpg -------------------------------------------------------------------------------- /public/images/blue_bicycle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/blue_bicycle.jpg -------------------------------------------------------------------------------- /public/images/calling_functions_SMS.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/calling_functions_SMS.jpg -------------------------------------------------------------------------------- /public/images/calling_functions_args_SMS.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/calling_functions_args_SMS.jpg -------------------------------------------------------------------------------- /public/images/calling_functions_sayhi_SMS.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/calling_functions_sayhi_SMS.jpg -------------------------------------------------------------------------------- /public/images/classmates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/classmates.png -------------------------------------------------------------------------------- /public/images/coffee_shop_blue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/coffee_shop_blue.jpg -------------------------------------------------------------------------------- /public/images/deckdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/deckdown.png -------------------------------------------------------------------------------- /public/images/evolution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/evolution.png -------------------------------------------------------------------------------- /public/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/favicon.ico -------------------------------------------------------------------------------- /public/images/flyingpig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/flyingpig.jpg -------------------------------------------------------------------------------- /public/images/github_zip.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/github_zip.jpg -------------------------------------------------------------------------------- /public/images/grunt_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/grunt_logo.png -------------------------------------------------------------------------------- /public/images/gulp_fs_filesize.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/gulp_fs_filesize.jpg -------------------------------------------------------------------------------- /public/images/gulpomg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/gulpomg.jpg -------------------------------------------------------------------------------- /public/images/iosJS.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/iosJS.jpg -------------------------------------------------------------------------------- /public/images/jquery-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/jquery-logo.png -------------------------------------------------------------------------------- /public/images/mapping_coneys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/mapping_coneys.png -------------------------------------------------------------------------------- /public/images/paimai.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/paimai.jpg -------------------------------------------------------------------------------- /public/images/randy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/randy.jpg -------------------------------------------------------------------------------- /public/images/returns.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/returns.jpg -------------------------------------------------------------------------------- /public/images/watermelon1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/watermelon1.jpg -------------------------------------------------------------------------------- /public/images/web_app_info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/images/web_app_info.jpg -------------------------------------------------------------------------------- /public/lib/css/monokai_sublime.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #23241f; 12 | -webkit-text-size-adjust: none; 13 | } 14 | 15 | .hljs, 16 | .hljs-tag, 17 | .css .hljs-rules, 18 | .css .hljs-value, 19 | .css .hljs-function 20 | .hljs-preprocessor, 21 | .hljs-pragma { 22 | color: #f8f8f2; 23 | } 24 | 25 | .hljs-strongemphasis, 26 | .hljs-strong, 27 | .hljs-emphasis { 28 | color: #a8a8a2; 29 | } 30 | 31 | .hljs-bullet, 32 | .hljs-blockquote, 33 | .hljs-horizontal_rule, 34 | .hljs-number, 35 | .hljs-regexp, 36 | .alias .hljs-keyword, 37 | .hljs-literal, 38 | .hljs-hexcolor { 39 | color: #ae81ff; 40 | } 41 | 42 | .hljs-tag .hljs-value, 43 | .hljs-code, 44 | .hljs-title, 45 | .css .hljs-class, 46 | .hljs-class .hljs-title:last-child { 47 | color: #a6e22e; 48 | } 49 | 50 | .hljs-link_url { 51 | font-size: 80%; 52 | } 53 | 54 | .hljs-strong, 55 | .hljs-strongemphasis { 56 | font-weight: bold; 57 | } 58 | 59 | .hljs-emphasis, 60 | .hljs-strongemphasis, 61 | .hljs-class .hljs-title:last-child { 62 | font-style: italic; 63 | } 64 | 65 | .hljs-keyword, 66 | .hljs-function, 67 | .hljs-change, 68 | .hljs-winutils, 69 | .hljs-flow, 70 | .nginx .hljs-title, 71 | .tex .hljs-special, 72 | .hljs-header, 73 | .hljs-attribute, 74 | .hljs-symbol, 75 | .hljs-symbol .hljs-string, 76 | .hljs-tag .hljs-title, 77 | .hljs-value, 78 | .alias .hljs-keyword:first-child, 79 | .css .hljs-tag, 80 | .css .unit, 81 | .css .hljs-important { 82 | color: #f92672; 83 | } 84 | 85 | .hljs-function .hljs-keyword, 86 | .hljs-class .hljs-keyword:first-child, 87 | .hljs-constant, 88 | .css .hljs-attribute { 89 | color: #66d9ef; 90 | } 91 | 92 | .hljs-variable, 93 | .hljs-params, 94 | .hljs-class .hljs-title { 95 | color: #f8f8f2; 96 | } 97 | 98 | .hljs-string, 99 | .css .hljs-id, 100 | .hljs-subst, 101 | .hljs-type, 102 | .ruby .hljs-class .hljs-parent, 103 | .hljs-built_in, 104 | .django .hljs-template_tag, 105 | .django .hljs-variable, 106 | .smalltalk .hljs-class, 107 | .django .hljs-filter .hljs-argument, 108 | .smalltalk .hljs-localvars, 109 | .smalltalk .hljs-array, 110 | .hljs-attr_selector, 111 | .hljs-pseudo, 112 | .hljs-addition, 113 | .hljs-stream, 114 | .hljs-envvar, 115 | .apache .hljs-tag, 116 | .apache .hljs-cbracket, 117 | .tex .hljs-command, 118 | .hljs-prompt, 119 | .hljs-link_label, 120 | .hljs-link_url { 121 | color: #e6db74; 122 | } 123 | 124 | .hljs-comment, 125 | .hljs-javadoc, 126 | .hljs-annotation, 127 | .hljs-decorator, 128 | .hljs-template_comment, 129 | .hljs-pi, 130 | .hljs-doctype, 131 | .hljs-deletion, 132 | .hljs-shebang, 133 | .apache .hljs-sqbracket, 134 | .tex .hljs-formula { 135 | color: #75715e; 136 | } 137 | 138 | .coffeescript .javascript, 139 | .javascript .xml, 140 | .tex .hljs-formula, 141 | .xml .javascript, 142 | .xml .vbscript, 143 | .xml .css, 144 | .xml .hljs-cdata, 145 | .xml .php, 146 | .php .xml { 147 | opacity: 0.5; 148 | } 149 | -------------------------------------------------------------------------------- /public/lib/css/zenburn.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov 4 | based on dark.css by Ivan Sagalaev 5 | 6 | */ 7 | 8 | pre code { 9 | display: block; padding: 0.5em; 10 | background: #3F3F3F; 11 | color: #DCDCDC; 12 | } 13 | 14 | pre .keyword, 15 | pre .tag, 16 | pre .css .class, 17 | pre .css .id, 18 | pre .lisp .title, 19 | pre .nginx .title, 20 | pre .request, 21 | pre .status, 22 | pre .clojure .attribute { 23 | color: #E3CEAB; 24 | } 25 | 26 | pre .django .template_tag, 27 | pre .django .variable, 28 | pre .django .filter .argument { 29 | color: #DCDCDC; 30 | } 31 | 32 | pre .number, 33 | pre .date { 34 | color: #8CD0D3; 35 | } 36 | 37 | pre .dos .envvar, 38 | pre .dos .stream, 39 | pre .variable, 40 | pre .apache .sqbracket { 41 | color: #EFDCBC; 42 | } 43 | 44 | pre .dos .flow, 45 | pre .diff .change, 46 | pre .python .exception, 47 | pre .python .built_in, 48 | pre .literal, 49 | pre .tex .special { 50 | color: #EFEFAF; 51 | } 52 | 53 | pre .diff .chunk, 54 | pre .subst { 55 | color: #8F8F8F; 56 | } 57 | 58 | pre .dos .keyword, 59 | pre .python .decorator, 60 | pre .title, 61 | pre .haskell .type, 62 | pre .diff .header, 63 | pre .ruby .class .parent, 64 | pre .apache .tag, 65 | pre .nginx .built_in, 66 | pre .tex .command, 67 | pre .prompt { 68 | color: #efef8f; 69 | } 70 | 71 | pre .dos .winutils, 72 | pre .ruby .symbol, 73 | pre .ruby .symbol .string, 74 | pre .ruby .string { 75 | color: #DCA3A3; 76 | } 77 | 78 | pre .diff .deletion, 79 | pre .string, 80 | pre .tag .value, 81 | pre .preprocessor, 82 | pre .built_in, 83 | pre .sql .aggregate, 84 | pre .javadoc, 85 | pre .smalltalk .class, 86 | pre .smalltalk .localvars, 87 | pre .smalltalk .array, 88 | pre .css .rules .value, 89 | pre .attr_selector, 90 | pre .pseudo, 91 | pre .apache .cbracket, 92 | pre .tex .formula { 93 | color: #CC9393; 94 | } 95 | 96 | pre .shebang, 97 | pre .diff .addition, 98 | pre .comment, 99 | pre .java .annotation, 100 | pre .template_comment, 101 | pre .pi, 102 | pre .doctype { 103 | color: #7F9F7F; 104 | } 105 | 106 | pre .coffeescript .javascript, 107 | pre .javascript .xml, 108 | pre .tex .formula, 109 | pre .xml .javascript, 110 | pre .xml .vbscript, 111 | pre .xml .css, 112 | pre .xml .cdata { 113 | opacity: 0.5; 114 | } -------------------------------------------------------------------------------- /public/lib/font/league_gothic-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/lib/font/league_gothic-webfont.eot -------------------------------------------------------------------------------- /public/lib/font/league_gothic-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/lib/font/league_gothic-webfont.ttf -------------------------------------------------------------------------------- /public/lib/font/league_gothic-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/13protons/deckdown/8dea08b5d0b55cb86c2aeccd855cf4dcd68b4bcc/public/lib/font/league_gothic-webfont.woff -------------------------------------------------------------------------------- /public/lib/font/league_gothic_license: -------------------------------------------------------------------------------- 1 | SIL Open Font License (OFL) 2 | http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL 3 | -------------------------------------------------------------------------------- /public/lib/js/classList.js: -------------------------------------------------------------------------------- 1 | /*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js*/ 2 | if(typeof document!=="undefined"&&!("classList" in document.createElement("a"))){(function(j){var a="classList",f="prototype",m=(j.HTMLElement||j.Element)[f],b=Object,k=String[f].trim||function(){return this.replace(/^\s+|\s+$/g,"")},c=Array[f].indexOf||function(q){var p=0,o=this.length;for(;p 3 | Copyright Tero Piirainen (tipiirai) 4 | License MIT / http://bit.ly/mit-license 5 | Version 0.96 6 | 7 | http://headjs.com 8 | */(function(a){function z(){d||(d=!0,s(e,function(a){p(a)}))}function y(c,d){var e=a.createElement("script");e.type="text/"+(c.type||"javascript"),e.src=c.src||c,e.async=!1,e.onreadystatechange=e.onload=function(){var a=e.readyState;!d.done&&(!a||/loaded|complete/.test(a))&&(d.done=!0,d())},(a.body||b).appendChild(e)}function x(a,b){if(a.state==o)return b&&b();if(a.state==n)return k.ready(a.name,b);if(a.state==m)return a.onpreload.push(function(){x(a,b)});a.state=n,y(a.url,function(){a.state=o,b&&b(),s(g[a.name],function(a){p(a)}),u()&&d&&s(g.ALL,function(a){p(a)})})}function w(a,b){a.state===undefined&&(a.state=m,a.onpreload=[],y({src:a.url,type:"cache"},function(){v(a)}))}function v(a){a.state=l,s(a.onpreload,function(a){a.call()})}function u(a){a=a||h;var b;for(var c in a){if(a.hasOwnProperty(c)&&a[c].state!=o)return!1;b=!0}return b}function t(a){return Object.prototype.toString.call(a)=="[object Function]"}function s(a,b){if(!!a){typeof a=="object"&&(a=[].slice.call(a));for(var c=0;c