├── Procfile ├── gistdeck.js ├── Readme.md ├── gistdeck.css ├── index.html └── gist.html /Procfile: -------------------------------------------------------------------------------- 1 | web: python -m SimpleHTTPServer $PORT -------------------------------------------------------------------------------- /gistdeck.js: -------------------------------------------------------------------------------- 1 | if (typeof(GISTDECK_CSS_URL) == "undefined") 2 | var GISTDECK_CSS_URL="https://gistdeck.herokuapp.com/gistdeck.css" 3 | $("head").append(''); 4 | 5 | var slides = $("#owner, .markdown-body h1, .markdown-body h2"); 6 | 7 | function getCurrentSlideIdx() { 8 | var idx = 0; 9 | var viewportBottom = $(window).scrollTop() + $(window).height(); 10 | 11 | for (var i=0; i < slides.length; i++) { 12 | if (slides.eq(i).offset().top > viewportBottom) break; 13 | idx = i; 14 | } 15 | 16 | return idx; 17 | } 18 | 19 | function displaySlide(n) { 20 | n = Math.min(n, slides.length-1); 21 | n = Math.max(n, 0); 22 | 23 | var s = slides.eq(n); 24 | var top = s.offset().top; 25 | 26 | var padding = { 27 | "DIV": s.offset().top, 28 | "H1": 150, 29 | "H2": 20 30 | }[slides[n].tagName]; 31 | 32 | $(document).scrollTop(top - padding); 33 | } 34 | 35 | $(document).keydown(function(e) { 36 | if (e.which == 37) displaySlide(getCurrentSlideIdx()-1); 37 | else if (e.which == 39) displaySlide(getCurrentSlideIdx()+1); 38 | }); 39 | 40 | displaySlide(0); -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # GistDeck 2 | 3 | GistDeck is a presentation layer for one of our favorite text sharing tools. 4 | 5 | ## Instructions 6 | 7 | * View homepage 8 | * Drag to Bookmarks Bar GistDeck 9 | * Visit Gist 10 | * Click Bookmarklet 11 | * Present, using left and right keys 12 | 13 | # Examples 14 | 15 | # Topic 16 | 17 | An h1 is a topic. 18 | 19 | ## Subtopic 20 | 21 | An h2 is a subtopic. This subtopic is followed with a paragraph. Pellentesque id 22 | lorem nunc, varius porttitor nulla. Phasellus in sapien tellus, id congue metus. 23 | Cras et vestibulum nisl. Mauris interdum tincidunt augue vitae tincidunt. 24 | 25 | ## Subtopics are often supported with lists: 26 | 27 | * Some people call these bullets 28 | * In markdown and html we call them list items 29 | * A list item can also have code 30 | * `ruby -pe 'next unless $_ =~ /bullet/' < file.md` 31 | 32 | ## Subtopics can also have images: 33 | 34 | ![](http://placekitten.com/g/400/400) 35 | 36 | If an image is displayed after an h2, and before the supporting paragraph, it 37 | will be floated right. Nam dictum blandit faucibus. In hac habitasse platea 38 | dictumst. Fusce faucibus sagittis sapien vel posuere. 39 | 40 | ## Subtopics love code snippets: 41 | 42 | 1. In Ruby you can map like this: 43 | 44 | ```ruby 45 | ['a', 'b'].map { |x| x.uppercase } 46 | ``` 47 | 48 | 2. In Rails, you can do a shortcut: 49 | 50 | ```ruby 51 | ['a', 'b'].map(&:uppercase) 52 | ```` 53 | 54 | # GistDeck by noah and todd 55 | 56 | -------------------------------------------------------------------------------- /gistdeck.css: -------------------------------------------------------------------------------- 1 | 2 | /* hide gist interface */ 3 | #header, 4 | #revisions, 5 | #comments, 6 | #delete_link, 7 | #footer, 8 | #files .file .meta, 9 | #forks, 10 | .fork-info { 11 | display:none !important; 12 | } 13 | .secondary { 14 | float: none !important; 15 | width: auto !important; 16 | } 17 | .main { 18 | width:auto !important; 19 | } 20 | #repos .repo, #main, .file, .file article { 21 | background:none !important; 22 | background: transparent !important; 23 | } 24 | 25 | /* hide github interface */ 26 | .last-commit, 27 | .commit, 28 | .breadcrumb, 29 | .bubble, 30 | .pagehead, 31 | #readme .name, 32 | a.anchor span { 33 | display:none !important; 34 | } 35 | #readme, .markdown-body { 36 | background:none !important; 37 | background: transparent !important; 38 | border: 0 none !important; 39 | } 40 | 41 | 42 | /* basic style */ 43 | 44 | body { 45 | background-attachment: fixed; 46 | background-color: #E6E6EC; 47 | background-image:-webkit-gradient(linear, 50% 50%, 0, 50% 50%, 100, color-stop(0%, #E6E6EC), color-stop(100%, #B7B6CB)); 48 | background-image:-webkit-linear-gradient(#E6E6EC, #B7B6CB); 49 | background-image:-moz-linear-gradient(#E6E6EC, #B7B6CB); 50 | background-image:-o-linear-gradient(#E6E6EC, #B7B6CB); 51 | background-image:-ms-linear-gradient(#E6E6EC, #B7B6CB); 52 | background-image: linear-gradient(#E6E6EC, #B7B6CB); 53 | font-family: "helvetica neue", helvetica, arial, geneva, sans-serif !important; 54 | font-size: 13px !important; 55 | color:#676482 !important; 56 | text-shadow: hsla(246, 13%, 100%, 0.5) 0px 1px 0px; 57 | padding-bottom:600px !important; 58 | } 59 | 60 | a { 61 | color: #4E51A3 !important; 62 | } 63 | a:hover { 64 | text-decoration:none; 65 | color: #514ECA !important; 66 | } 67 | 68 | .file { 69 | font-size:36px !important; 70 | line-height:54px !important; 71 | padding: 30px !important; 72 | border:0 none !important; 73 | width:1024px; 74 | margin:0 auto; 75 | } 76 | 77 | /* owner/gravatar/description becomes title screen */ 78 | #owner { 79 | background:none !important; 80 | background: transparent !important; 81 | display: block !important; 82 | text-align: center !important; 83 | padding: 30px !important; 84 | margin-top:120px !important; 85 | } 86 | #owner .name, 87 | #owner .gravatar { 88 | display: block !important; 89 | background-color:none !important; 90 | background: transparent !important; 91 | border: 0 none !important; 92 | } 93 | #owner .gravatar img { 94 | height:36px !important; 95 | width: 36px !important; 96 | } 97 | #owner .actor { 98 | border: 0 none !important; 99 | background-color:none !important; 100 | background: transparent !important; 101 | } 102 | #owner .name { 103 | font-weight:normal !important; 104 | font-size: 24px !important; 105 | color: #676482 !important; 106 | text-shadow: hsla(246, 13%, 100%, 0.5) 0px 1px 0px; 107 | } 108 | #owner .name a { 109 | color: #676482 !important; 110 | font-weight:normal !important; 111 | } 112 | #owner .name span { 113 | display: none !important; 114 | } 115 | /* hide gist info, except for title */ 116 | 117 | #repos table .label, #private-clone-url, #repos .title, #repos table tr + #repos table tr { 118 | display: none !important; 119 | } 120 | #repos table td { 121 | width:auto !important; 122 | height:auto !important; 123 | } 124 | #repos .repo { 125 | margin: 0 !important; 126 | border: 0 none !important; 127 | } 128 | #repos table { 129 | margin:0 auto !important; 130 | float: none !important; 131 | max-width: auto !important; 132 | } 133 | #repos table .description { 134 | font-size:54px !important; 135 | line-height:54px !important; 136 | font-weight:normal !important; 137 | text-align:center !important; 138 | color:#5E559E; 139 | } 140 | #repos table .description form, #repos table .description a { 141 | display: none; 142 | } 143 | 144 | /* slide text style */ 145 | 146 | h1, h2, h3, h4, p { 147 | color: #676482 !important; 148 | text-align:center !important; 149 | } 150 | h1, h2, h3, h4 { 151 | border: 0 none !important; 152 | text-align:center; 153 | font-weight:normal !important; 154 | } 155 | 156 | /* slides */ 157 | 158 | h1, h2 { 159 | font-size:54px !important; 160 | line-height:72px !important; 161 | margin-bottom: 36px !important; 162 | color:#5E559E !important; 163 | } 164 | h2 { 165 | color:#3F3969 !important; 166 | } 167 | h3 { 168 | font-size:45px !important; 169 | line-height:54px !important; 170 | margin-bottom:18px; 171 | } 172 | p, li, h4 { 173 | margin: 0 !important; 174 | padding: 0 !important; 175 | font-size: 36px !important; 176 | line-height:54px !important; 177 | } 178 | li * { 179 | text-align: left !important; 180 | } 181 | li, p { 182 | margin-bottom:24px !important; 183 | } 184 | /* slides with images and text */ 185 | 186 | h2 + p img { 187 | float:right !important; 188 | margin-left: 20px !important; 189 | } 190 | 191 | 192 | 193 | .file img { 194 | -webkit-box-reflect: below 0px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(80%, transparent), to(rgba(255,255,255,0.2))); 195 | } 196 | /* code style */ 197 | 198 | .file div.highlight { 199 | background: none !important; 200 | background: transparent !important; 201 | } 202 | div.highlight pre, pre, .markdown-body code { 203 | border: 1px solid hsla(246, 13%, 45%, 0.4) !important; 204 | background: hsla(246, 13%, 99%, 0.6) !important; 205 | -webkit-border-radius: 6px !important; 206 | -moz-border-radius: 6px !important; 207 | border-radius: 6px !important; 208 | text-align:left; 209 | } 210 | div.highlight pre, pre code, li code { 211 | font-size:24px !important; 212 | text-align: left; 213 | } 214 | 215 | /* distribute slides */ 216 | 217 | .repo .meta { margin-bottom:800px !important;} 218 | .markdown-body > h1 { margin-top: 800px !important; } 219 | .markdown-body > h2 { margin-top: 800px !important; } 220 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | GistDeck - simple presentations with Gist 7 | 8 | 9 | 105 | 106 | 107 | 108 | 109 |
110 |

111 | GistDeck 112 |

113 | 114 |

GistDeck is a presentation layer for one of our favorite text sharing tools.

115 | 116 |
    117 |
  1. 118 | Drag to Bookmarks Bar 119 | GistDeck 120 |
  2. 121 |
  3. 122 | Visit Gist 123 |
  4. 124 |
  5. Click Bookmarklet
  6. 125 |
  7. Present, using left and right keys
  8. 126 |
127 |
128 |

129 | by noah and todd 130 |

131 |
132 | 133 | 134 | 144 | 145 | 146 | 147 | -------------------------------------------------------------------------------- /gist.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | From Gist to Deck — Gist 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
48 | 91 | 92 |
93 | 94 |
95 | 96 |
97 |
98 |
99 | 100 |
101 |
seaofclouds (owner)
102 |
103 |
104 | 105 | 106 |
107 |

Forks

108 | 152 |
153 | 154 |
155 |

Revisions

156 | 228 |
229 |
230 | 231 |
232 |
233 |
234 |
235 |
236 | gist: b273f7a3089b1a238f5a 237 | 238 | edit 239 | 240 | Download_button 241 | 242 | star 243 |
244 | 245 |
246 | private 247 |
248 | 249 | 257 | 260 | 265 |
266 | 267 |
268 | 269 | 270 | 271 | 279 | 280 | 281 | 282 | 283 | 284 | 295 | 296 | 297 | 298 |
Description: 272 |
273 | From Gist to Deck 274 | edit 277 |
278 |
Private Clone URL: 285 | 289 | 294 |
299 |
300 |
301 |
302 | 303 |
304 | 305 |
306 |
307 |
308 | 309 | Markdown 310 | # 311 | 312 |
313 |
314 | raw 315 |
316 |
317 | 318 |
319 |

320 | Crafting a presentation can be difficult

321 | 322 |

323 | Too many tools

324 | 325 |

tools

326 | 327 |
    328 |
  • Keynote
  • 329 |
  • ShowOff
  • 330 |
  • PowerPoint
  • 331 |
  • PDFs
  • 332 |
  • etc
  • 333 |

334 | Too many options

335 | 336 |

337 | 338 |
    339 |
  • Templates
  • 340 |
  • Clip Art
  • 341 |
  • Screen Sizes
  • 342 |
  • Fonts
  • 343 |
  • Transitions
  • 344 |

345 | Too many distractions

346 | 347 |

348 | 349 |
    350 |
  • Toolbars
  • 351 |
  • Sidebars
  • 352 |
  • Drawing tools
  • 353 |
  • Windows
  • 354 |
  • Lolcats
  • 355 |

356 | Why can't it be easier?

357 | 358 |

Why must we install software?

359 | 360 |

Why can't we use simple tools?

361 | 362 |

Why can't we use a simple interface?

363 | 364 |

Why can't we publish instantly?

365 | 366 |

367 | Introducing GistDeck

368 | 369 |

370 | 371 |

372 | GistDeck is a presentation layer for one of our favorite text sharing tools.

373 | 374 |

375 | Built with tools you use every day

376 | 377 |

Browser

378 | 379 |

Gist

380 | 381 |

HTML, CSS, JS

382 | 383 |

384 | No Software

385 | 386 |

No Apps, No Servers

387 | 388 |

Only You

389 | 390 |

Your Browser

391 | 392 |

And an idea worth sharing

393 | 394 |

395 | Some examples

396 | 397 |

398 | This is a topic

399 | 400 |

front and center

401 | 402 |

403 | This is a Subtopic

404 | 405 |

This is a paragraph. Pellentesque id lorem nunc, varius porttitor nulla. Phasellus in sapien tellus, id congue metus. Cras et vestibulum nisl. Mauris interdum tincidunt augue vitae tincidunt.

406 | 407 |

408 | Subtopics can have bullets:

409 | 410 |
    411 |
  • Supporting Bullet
  • 412 |
  • Most people call this a list
  • 413 |
  • Phasellus et mauris et mauris
  • 414 |
  • A list item can have code
  • 415 |
  • ruby -pe 'next unless $_ =~ /bullet/' < file.md
  • 416 |

417 | Subtopics can have images:

418 | 419 |

420 | 421 |

Sollicitudin vestibulum magna. Nulla facilisi. Fusce rutrum bibendum dapibus. Nam dictum blandit faucibus. In hac habitasse platea dictumst. Fusce faucibus sagittis sapien vel posuere.

422 | 423 |

424 | Subtopics love code snippets:

425 | 426 |
    427 |
  1. 428 |

    In Ruby you can map like this:

    429 | 430 |
    431 |
    ['a', 'b'].map { |x| x.uppercase }
    432 | 
    433 |
    434 |
  2. 435 |
  3. 436 |

    In Rails, you can do a shortcut:

    437 | 438 |
    439 |
    ['a', 'b'].map(&:uppercase)
    440 | 
    441 |
    442 |
  4. 443 |

444 | This presentation is a gist!

445 | 446 |

https://gist.github.com/gists/b273f7a3089b1a238f5a

447 | 448 |

449 | 450 |

451 | Whaaaaat?

452 | 453 |

454 | 455 |
    456 |
  1. Install Bookmarklet
  2. 457 |
  3. Visit Gist
  4. 458 |
  5. Click Bookmarklet
  6. 459 |
  7. Present
  8. 460 |

461 | Contribute on Github

462 | 463 |

https://github.com/nzoschke/gistdeck

464 | 465 |

466 | fin

467 | 468 |

by noah and todd

469 |
470 | 471 |
472 | 473 | 474 | 475 | 476 | 477 | 478 |
479 | 480 |
481 | 482 |
483 | 484 |
485 |

Comments are parsed with GitHub Flavored Markdown

486 | 490 |
491 | 492 |
493 |
494 | 495 |
496 |
497 |

498 | 499 | seaofclouds 500 | 501 | 502 | commented 503 | 504 | 505 |

506 |

507 | 508 | 509 |

510 |
511 | 512 | 513 |
514 |
515 |
516 |

Nothing to preview

517 |
518 |
519 |
520 |
521 | 522 |
523 | 524 |
525 |
526 |
    527 |
528 |
529 |
530 | 531 |
532 | 533 |
534 | 535 |
536 |
537 | 538 |
539 | 540 |
541 | 542 |
543 | 544 |
545 | 546 | 583 | 584 | 585 | 586 | --------------------------------------------------------------------------------