├── 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 | 
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 |
113 |
114 | GistDeck is a presentation layer for one of our favorite text sharing tools.
115 |
116 |
117 |
118 | Drag to Bookmarks Bar
119 | GistDeck
120 |
121 |
122 | Visit Gist
123 |
124 | Click Bookmarklet
125 | Present, using left and right keys
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 |
102 |
103 |
104 |
105 |
106 |
153 |
154 |
155 |
Revisions
156 |
157 |
158 |
159 | d08d9a
160 |
161 | seaofcl...
162 | June 27, 2012
163 |
164 |
165 |
166 | 00dd50
167 |
168 | seaofcl...
169 | June 22, 2012
170 |
171 |
172 |
173 | 6af500
174 |
175 | seaofcl...
176 | June 22, 2012
177 |
178 |
179 |
180 | 18315f
181 |
182 | seaofcl...
183 | June 22, 2012
184 |
185 |
186 |
187 | 3f95ed
188 |
189 | seaofcl...
190 | June 22, 2012
191 |
192 |
193 |
194 | bfe106
195 |
196 | seaofcl...
197 | June 22, 2012
198 |
199 |
200 |
201 | 84dc14
202 |
203 | seaofcl...
204 | June 22, 2012
205 |
206 |
207 |
208 | e0bb49
209 |
210 | seaofcl...
211 | June 22, 2012
212 |
213 |
214 |
215 | cedad3
216 |
217 | seaofcl...
218 | June 22, 2012
219 |
220 |
221 |
222 | 98fba1
223 |
224 | seaofcl...
225 | June 22, 2012
226 |
227 |
228 |
229 |
230 |
231 |
232 |
302 |
303 |
304 |
305 |
306 |
317 |
318 |
319 |
320 | Crafting a presentation can be difficult
321 |
322 |
323 | Too many tools
324 |
325 |
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 |
428 | In Ruby you can map like this:
429 |
430 |
431 |
[ 'a' , 'b' ]. map { | x | x . uppercase }
432 |
433 |
434 |
435 |
436 | In Rails, you can do a shortcut:
437 |
438 |
439 |
[ 'a' , 'b' ]. map ( & :uppercase )
440 |
441 |
442 |
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 | Install Bookmarklet
457 | Visit Gist
458 | Click Bookmarklet
459 | Present
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 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
583 |
584 |
585 |
586 |
--------------------------------------------------------------------------------