deckr 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. data/Gemfile +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +29 -0
  4. data/Rakefile +9 -0
  5. data/bin/deckr +3 -0
  6. data/lib/deckr.rb +7 -0
  7. data/lib/deckr/cli.rb +22 -0
  8. data/lib/deckr/deck.rb +64 -0
  9. data/lib/deckr/package.rb +22 -0
  10. data/lib/deckr/resource.rb +37 -0
  11. data/lib/deckr/templates/Gemfile +5 -0
  12. data/lib/deckr/templates/config.ru +12 -0
  13. data/lib/deckr/templates/deck/GPL-license.txt +278 -0
  14. data/lib/deckr/templates/deck/MIT-license.txt +21 -0
  15. data/lib/deckr/templates/deck/README.md +64 -0
  16. data/lib/deckr/templates/deck/boilerplate.html +96 -0
  17. data/lib/deckr/templates/deck/core/deck.core.css +407 -0
  18. data/lib/deckr/templates/deck/core/deck.core.js +498 -0
  19. data/lib/deckr/templates/deck/core/deck.core.scss +450 -0
  20. data/lib/deckr/templates/deck/extensions/goto/deck.goto.css +41 -0
  21. data/lib/deckr/templates/deck/extensions/goto/deck.goto.html +7 -0
  22. data/lib/deckr/templates/deck/extensions/goto/deck.goto.js +170 -0
  23. data/lib/deckr/templates/deck/extensions/goto/deck.goto.scss +46 -0
  24. data/lib/deckr/templates/deck/extensions/hash/deck.hash.css +13 -0
  25. data/lib/deckr/templates/deck/extensions/hash/deck.hash.html +2 -0
  26. data/lib/deckr/templates/deck/extensions/hash/deck.hash.js +142 -0
  27. data/lib/deckr/templates/deck/extensions/hash/deck.hash.scss +15 -0
  28. data/lib/deckr/templates/deck/extensions/menu/deck.menu.css +47 -0
  29. data/lib/deckr/templates/deck/extensions/menu/deck.menu.js +187 -0
  30. data/lib/deckr/templates/deck/extensions/menu/deck.menu.scss +58 -0
  31. data/lib/deckr/templates/deck/extensions/navigation/deck.navigation.css +43 -0
  32. data/lib/deckr/templates/deck/extensions/navigation/deck.navigation.html +3 -0
  33. data/lib/deckr/templates/deck/extensions/navigation/deck.navigation.js +92 -0
  34. data/lib/deckr/templates/deck/extensions/navigation/deck.navigation.scss +56 -0
  35. data/lib/deckr/templates/deck/extensions/scale/deck.scale.css +28 -0
  36. data/lib/deckr/templates/deck/extensions/scale/deck.scale.js +170 -0
  37. data/lib/deckr/templates/deck/extensions/scale/deck.scale.scss +31 -0
  38. data/lib/deckr/templates/deck/extensions/status/deck.status.css +18 -0
  39. data/lib/deckr/templates/deck/extensions/status/deck.status.html +6 -0
  40. data/lib/deckr/templates/deck/extensions/status/deck.status.js +95 -0
  41. data/lib/deckr/templates/deck/extensions/status/deck.status.scss +22 -0
  42. data/lib/deckr/templates/deck/introduction/index.html +215 -0
  43. data/lib/deckr/templates/deck/jquery-1.7.2.min.js +4 -0
  44. data/lib/deckr/templates/deck/modernizr.custom.js +4 -0
  45. data/lib/deckr/templates/deck/test/fixtures/complex.html +24 -0
  46. data/lib/deckr/templates/deck/test/fixtures/empty.html +19 -0
  47. data/lib/deckr/templates/deck/test/fixtures/iframe_simple.html +10 -0
  48. data/lib/deckr/templates/deck/test/fixtures/iframes.html +32 -0
  49. data/lib/deckr/templates/deck/test/fixtures/nesteds.html +36 -0
  50. data/lib/deckr/templates/deck/test/fixtures/standard.html +42 -0
  51. data/lib/deckr/templates/deck/test/index.html +39 -0
  52. data/lib/deckr/templates/deck/test/lib/jasmine-html.js +190 -0
  53. data/lib/deckr/templates/deck/test/lib/jasmine-jquery.js +288 -0
  54. data/lib/deckr/templates/deck/test/lib/jasmine.css +166 -0
  55. data/lib/deckr/templates/deck/test/lib/jasmine.js +2477 -0
  56. data/lib/deckr/templates/deck/test/settings.js +3 -0
  57. data/lib/deckr/templates/deck/test/spec.core.js +436 -0
  58. data/lib/deckr/templates/deck/test/spec.goto.js +142 -0
  59. data/lib/deckr/templates/deck/test/spec.hash.js +81 -0
  60. data/lib/deckr/templates/deck/test/spec.menu.js +66 -0
  61. data/lib/deckr/templates/deck/test/spec.navigation.js +51 -0
  62. data/lib/deckr/templates/deck/test/spec.scale.js +57 -0
  63. data/lib/deckr/templates/deck/test/spec.status.js +58 -0
  64. data/lib/deckr/templates/deck/themes/style/neon.css +123 -0
  65. data/lib/deckr/templates/deck/themes/style/neon.scss +155 -0
  66. data/lib/deckr/templates/deck/themes/style/swiss.css +84 -0
  67. data/lib/deckr/templates/deck/themes/style/swiss.scss +107 -0
  68. data/lib/deckr/templates/deck/themes/style/web-2.0.css +214 -0
  69. data/lib/deckr/templates/deck/themes/style/web-2.0.scss +250 -0
  70. data/lib/deckr/templates/deck/themes/transition/fade.css +43 -0
  71. data/lib/deckr/templates/deck/themes/transition/fade.scss +69 -0
  72. data/lib/deckr/templates/deck/themes/transition/horizontal-slide.css +76 -0
  73. data/lib/deckr/templates/deck/themes/transition/horizontal-slide.scss +90 -0
  74. data/lib/deckr/templates/deck/themes/transition/vertical-slide.css +94 -0
  75. data/lib/deckr/templates/deck/themes/transition/vertical-slide.scss +112 -0
  76. data/lib/deckr/templates/views/index.slim +13 -0
  77. data/lib/deckr/templates/views/layout.slim +48 -0
  78. data/lib/deckr/version.rb +3 -0
  79. data/lib/rack/deckr.rb +31 -0
  80. data/lib/sinatra/deckr.rb +17 -0
  81. data/spec/deck_spec.rb +118 -0
  82. data/spec/fixtures/foo.txt +1 -0
  83. data/spec/fixtures/foo/bar.txt +1 -0
  84. data/spec/package_spec.rb +45 -0
  85. data/spec/rack/deckr_spec.rb +38 -0
  86. data/spec/resource_spec.rb +62 -0
  87. data/spec/sinatra/deckr_spec.rb +32 -0
  88. data/spec/spec_helper.rb +27 -0
  89. metadata +161 -0
@@ -0,0 +1,450 @@
1
+ html, body {
2
+ height:100%;
3
+ padding:0;
4
+ margin:0;
5
+ }
6
+
7
+ body.deck-container {
8
+ overflow-y:auto;
9
+ position:static;
10
+ }
11
+
12
+ .deck-container {
13
+ position:relative;
14
+ min-height:100%;
15
+ margin:0 auto;
16
+ padding:0 48px;
17
+ font-size:16px;
18
+ line-height:1.25;
19
+ overflow:hidden;
20
+
21
+ .js & {
22
+ visibility:hidden;
23
+ }
24
+
25
+ .ready & {
26
+ visibility:visible;
27
+ }
28
+
29
+ .touch & {
30
+ -webkit-text-size-adjust:none;
31
+ -moz-text-size-adjust:none;
32
+ }
33
+
34
+ /* Resets and base styles from HTML5 Boilerplate */
35
+ div, span, object, iframe,
36
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
37
+ abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
38
+ small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
39
+ fieldset, form, label, legend,
40
+ table, caption, tbody, tfoot, thead, tr, th, td,
41
+ article, aside, canvas, details, figcaption, figure,
42
+ footer, header, hgroup, menu, nav, section, summary,
43
+ time, mark, audio, video {
44
+ margin: 0;
45
+ padding: 0;
46
+ border: 0;
47
+ font-size: 100%;
48
+ font: inherit;
49
+ vertical-align: baseline;
50
+ }
51
+
52
+ article, aside, details, figcaption, figure,
53
+ footer, header, hgroup, menu, nav, section {
54
+ display: block;
55
+ }
56
+
57
+ blockquote, q {
58
+ quotes:none;
59
+
60
+ &:before, &:after {
61
+ content:"";
62
+ content:none;
63
+ }
64
+ }
65
+
66
+ ins {
67
+ background-color:#ff9;
68
+ color:#000;
69
+ text-decoration:none;
70
+ }
71
+
72
+ mark {
73
+ background-color:#ff9;
74
+ color:#000;
75
+ font-style:italic;
76
+ font-weight:bold;
77
+ }
78
+
79
+ del {
80
+ text-decoration:line-through;
81
+ }
82
+
83
+ abbr[title], dfn[title] {
84
+ border-bottom:1px dotted;
85
+ cursor:help;
86
+ }
87
+
88
+ table {
89
+ border-collapse:collapse;
90
+ border-spacing:0;
91
+ }
92
+
93
+ hr {
94
+ display:block;
95
+ height:1px;
96
+ border:0;
97
+ border-top:1px solid #ccc;
98
+ margin:1em 0;
99
+ padding:0;
100
+ }
101
+
102
+ input, select {
103
+ vertical-align:middle;
104
+ }
105
+
106
+ select, input, textarea, button {
107
+ font:99% sans-serif;
108
+ }
109
+
110
+ pre, code, kbd, samp {
111
+ font-family:monospace, sans-serif;
112
+ }
113
+
114
+ a {
115
+ -webkit-tap-highlight-color:rgba(0,0,0,0);
116
+
117
+ &:hover, &:active {
118
+ outline:none;
119
+ }
120
+ }
121
+
122
+ ul, ol {
123
+ margin-left:2em;
124
+ vertical-align:top;
125
+ }
126
+
127
+ ol {
128
+ list-style-type:decimal;
129
+ }
130
+
131
+ nav {
132
+ ul, li {
133
+ margin:0;
134
+ list-style:none;
135
+ list-style-image:none;
136
+ }
137
+ }
138
+
139
+ small {
140
+ font-size:85%;
141
+ }
142
+
143
+ strong, th {
144
+ font-weight:bold;
145
+ }
146
+
147
+ td {
148
+ vertical-align:top;
149
+ }
150
+
151
+ sub, sup {
152
+ font-size:75%;
153
+ line-height:0;
154
+ position:relative;
155
+ }
156
+
157
+ sup {
158
+ top:-0.5em;
159
+ }
160
+
161
+ sub { bottom: -0.25em; }
162
+
163
+ textarea {
164
+ overflow:auto;
165
+ }
166
+
167
+ legend {
168
+ .ie6 &, .ie7 & {
169
+ margin-left:-7px;
170
+ }
171
+ }
172
+
173
+ input[type="radio"] {
174
+ vertical-align:text-bottom;
175
+ }
176
+
177
+ input[type="checkbox"] {
178
+ vertical-align:bottom;
179
+ }
180
+
181
+ .ie7 & input[type="checkbox"] {
182
+ vertical-align:baseline;
183
+ }
184
+
185
+ .ie6 & input {
186
+ vertical-align:text-bottom;
187
+ }
188
+
189
+ label, input[type="button"], input[type="submit"], input[type="image"], button {
190
+ cursor:pointer;
191
+ }
192
+
193
+ button, input, select, textarea {
194
+ margin: 0;
195
+ }
196
+
197
+ input, textarea {
198
+ &:invalid {
199
+ border-radius:1px;
200
+ -moz-box-shadow:0px 0px 5px red;
201
+ -webkit-box-shadow:0px 0px 5px red;
202
+ box-shadow: 0px 0px 5px red;
203
+
204
+ .no-boxshadow {
205
+ background-color: #f0dddd;
206
+ }
207
+ }
208
+ }
209
+
210
+ button {
211
+ width:auto;
212
+ overflow:visible;
213
+ }
214
+
215
+ .ie7 & img {
216
+ -ms-interpolation-mode: bicubic; }
217
+
218
+ &, select, input, textarea {
219
+ color:#444;
220
+ }
221
+
222
+ a {
223
+ color:#607890;
224
+
225
+ &:hover, &:focus {
226
+ color:#036;
227
+ }
228
+
229
+ &:link {
230
+ -webkit-tap-highlight-color: #fff;
231
+ }
232
+ }
233
+ /* End HTML5 Boilerplate adaptations */
234
+
235
+ &.deck-loading {
236
+ display:none;
237
+ }
238
+ }
239
+
240
+ .slide {
241
+ width:auto;
242
+ min-height:100%;
243
+ position:relative;
244
+
245
+ h1 {
246
+ font-size:4.5em;
247
+ }
248
+
249
+ h1, .vcenter {
250
+ font-weight:bold;
251
+ text-align:center;
252
+ padding-top:1em;
253
+ max-height:100%;
254
+
255
+ .csstransforms & {
256
+ padding:0 48px;
257
+ position:absolute;
258
+ left:0;
259
+ right:0;
260
+ top:50%;
261
+ -webkit-transform:translate(0, -50%);
262
+ -moz-transform:translate(0, -50%);
263
+ -ms-transform:translate(0, -50%);
264
+ -o-transform:translate(0, -50%);
265
+ transform:translate(0, -50%);
266
+ }
267
+ }
268
+
269
+ .vcenter h1 {
270
+ position:relative;
271
+ top:auto;
272
+ padding:0;
273
+ -webkit-transform:none;
274
+ -moz-transform:none;
275
+ -ms-transform:none;
276
+ -o-transform:none;
277
+ transform:none;
278
+ }
279
+
280
+ h2 {
281
+ font-size:2.25em;
282
+ font-weight:bold;
283
+ padding-top:.5em;
284
+ margin:0 0 .66666em 0;
285
+ border-bottom:3px solid #888;
286
+ }
287
+
288
+ h3 {
289
+ font-size:1.4375em;
290
+ font-weight:bold;
291
+ margin-bottom:.30435em;
292
+ }
293
+
294
+ h4 {
295
+ font-size:1.25em;
296
+ font-weight:bold;
297
+ margin-bottom:.25em;
298
+ }
299
+
300
+ h5 {
301
+ font-size:1.125em;
302
+ font-weight:bold;
303
+ margin-bottom:.2222em;
304
+ }
305
+
306
+ h6 {
307
+ font-size:1em;
308
+ font-weight:bold;
309
+ }
310
+
311
+ img, iframe, video {
312
+ display:block;
313
+ max-width:100%;
314
+ }
315
+
316
+ video, iframe, img {
317
+ display:block;
318
+ margin:0 auto;
319
+ }
320
+
321
+ p, blockquote, iframe, img, ul, ol, pre, video {
322
+ margin-bottom:1em;
323
+ }
324
+
325
+ pre {
326
+ white-space:pre;
327
+ white-space:pre-wrap;
328
+ word-wrap:break-word;
329
+ padding: 1em;
330
+ border:1px solid #888;
331
+ }
332
+
333
+ em {
334
+ font-style:italic;
335
+ }
336
+
337
+ li {
338
+ padding:.25em 0;
339
+ vertical-align:middle;
340
+ }
341
+ }
342
+
343
+ .deck-before, .deck-previous, .deck-next, .deck-after {
344
+ position:absolute;
345
+ left:-999em;
346
+ top:-999em;
347
+ }
348
+
349
+ .deck-current {
350
+ z-index:2;
351
+ }
352
+
353
+ .slide .slide {
354
+ visibility:hidden;
355
+ position:static;
356
+ min-height:0;
357
+ }
358
+
359
+ .deck-child-current {
360
+ position:static;
361
+ z-index:2;
362
+
363
+ .slide {
364
+ visibility:hidden;
365
+ }
366
+
367
+ .deck-previous, .deck-before, .deck-current {
368
+ visibility:visible;
369
+ }
370
+ }
371
+
372
+ @media all and (orientation:portrait) {
373
+
374
+ }
375
+
376
+ @media all and (orientation:landscape) {
377
+
378
+ }
379
+
380
+ @media screen and (max-device-width: 480px) {
381
+
382
+ /* html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } */
383
+ }
384
+
385
+
386
+ @media print {
387
+ * {
388
+ background: transparent !important;
389
+ color: black !important;
390
+ text-shadow: none !important;
391
+ filter:none !important;
392
+ -ms-filter: none !important;
393
+ -webkit-box-reflect:none !important;
394
+ -moz-box-reflect:none !important;
395
+ -webkit-box-shadow:none !important;
396
+ -moz-box-shadow:none !important;
397
+ box-shadow:none !important;
398
+
399
+ :before, :after {
400
+ display:none !important;
401
+ }
402
+ }
403
+ a, a:visited { color: #444 !important; text-decoration: underline; }
404
+ a[href]:after { content: " (" attr(href) ")"; }
405
+ abbr[title]:after { content: " (" attr(title) ")"; }
406
+ .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
407
+ pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
408
+ thead { display: table-header-group; }
409
+ tr, img { page-break-inside: avoid; }
410
+ @page { margin: 0.5cm; }
411
+ p, h2, h3 { orphans: 3; widows: 3; }
412
+ h2, h3{ page-break-after: avoid; }
413
+
414
+ .slide {
415
+ position:static !important;
416
+ visibility:visible !important;
417
+ display:block !important;
418
+ -webkit-transform:none !important;
419
+ -moz-transform:none !important;
420
+ -o-transform:none !important;
421
+ -ms-transform:none !important;
422
+ transform:none !important;
423
+ opacity:1 !important;
424
+ }
425
+
426
+ h1, .vcenter {
427
+ -webkit-transform:none !important;
428
+ -moz-transform:none !important;
429
+ -o-transform:none !important;
430
+ -ms-transform:none !important;
431
+ transform:none !important;
432
+ padding:0 !important;
433
+ position:static !important;
434
+ }
435
+
436
+ .deck-container > .slide {
437
+ page-break-after: always;
438
+ }
439
+
440
+ .deck-container {
441
+ width:100% !important;
442
+ height:auto !important;
443
+ padding:0 !important;
444
+ display:block !important;
445
+ }
446
+
447
+ script {
448
+ display:none;
449
+ }
450
+ }
@@ -0,0 +1,41 @@
1
+ .deck-container .goto-form {
2
+ position: absolute;
3
+ z-index: 3;
4
+ bottom: 10px;
5
+ left: 50%;
6
+ height: 1.75em;
7
+ margin: 0 0 0 -9.125em;
8
+ line-height: 1.75em;
9
+ padding: 0.625em;
10
+ display: none;
11
+ background: #ccc;
12
+ overflow: hidden;
13
+ }
14
+ .borderradius .deck-container .goto-form {
15
+ -webkit-border-radius: 10px;
16
+ -moz-border-radius: 10px;
17
+ border-radius: 10px;
18
+ }
19
+ .deck-container .goto-form label {
20
+ font-weight: bold;
21
+ }
22
+ .deck-container .goto-form label, .deck-container .goto-form input {
23
+ display: inline-block;
24
+ font-family: inherit;
25
+ }
26
+
27
+ .deck-goto .goto-form {
28
+ display: block;
29
+ }
30
+
31
+ #goto-slide {
32
+ width: 8.375em;
33
+ margin: 0 0.625em;
34
+ height: 1.4375em;
35
+ }
36
+
37
+ @media print {
38
+ .goto-form, #goto-slide {
39
+ display: none !important;
40
+ }
41
+ }