kmc 0.0.6

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 (43) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/Gemfile +18 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +141 -0
  6. data/Rakefile +2 -0
  7. data/bin/kmc +20 -0
  8. data/kmc.gemspec +26 -0
  9. data/lib/kmc.rb +27 -0
  10. data/lib/kmc/configuration.rb +67 -0
  11. data/lib/kmc/download_url.rb +80 -0
  12. data/lib/kmc/git_adapter.rb +71 -0
  13. data/lib/kmc/package.rb +142 -0
  14. data/lib/kmc/package_attrs.rb +69 -0
  15. data/lib/kmc/package_downloads.rb +122 -0
  16. data/lib/kmc/package_dsl.rb +13 -0
  17. data/lib/kmc/package_utils.rb +29 -0
  18. data/lib/kmc/packages/lack_luster_labs.rb +22 -0
  19. data/lib/kmc/page_fetcher.js +47 -0
  20. data/lib/kmc/post_processors/module_manager_resolver.rb +32 -0
  21. data/lib/kmc/refresher.rb +36 -0
  22. data/lib/kmc/user_interface.rb +195 -0
  23. data/lib/kmc/util.rb +11 -0
  24. data/lib/kmc/version.rb +3 -0
  25. data/lib/kmc/versioner.rb +70 -0
  26. data/lib/kmc/web/app.rb +42 -0
  27. data/lib/kmc/web/public/css/main.css +69 -0
  28. data/lib/kmc/web/public/css/normalize.css +527 -0
  29. data/lib/kmc/web/public/index.html +107 -0
  30. data/lib/kmc/web/public/js/main.js +125 -0
  31. data/lib/kmc/web/public/js/plugins.js +24 -0
  32. data/lib/kmc/web/public/js/vendor/jquery-1.10.2.min.js +6 -0
  33. data/lib/kmc/web/public/js/vendor/modernizr-2.6.2.min.js +4 -0
  34. data/lib/kmc/web/public/js/vendor/underscore.js +5 -0
  35. data/package_generator.rb +197 -0
  36. data/spec/download_url_spec.rb +69 -0
  37. data/spec/fixtures/example_box.html +165 -0
  38. data/spec/fixtures/example_dropbox.com.html +114 -0
  39. data/spec/fixtures/example_mediafire.html +101 -0
  40. data/spec/package_spec.rb +113 -0
  41. data/spec/spec_helper.rb +28 -0
  42. data/spec/versioner_spec.rb +69 -0
  43. metadata +177 -0
@@ -0,0 +1,69 @@
1
+ .main-container {
2
+ text-align: center;
3
+ }
4
+
5
+ .big-brand h1 {
6
+ font-size: 63px;
7
+ margin-bottom: 0px;
8
+ }
9
+
10
+ .big-brand h2 {
11
+ margin-top: 5px;
12
+ }
13
+
14
+ .underline {
15
+ text-decoration: underline;
16
+ }
17
+
18
+ .options-row {
19
+ margin-top: 10px;
20
+ }
21
+
22
+ .kmc-option .btn {
23
+ width: 100%;
24
+
25
+ font-size: 20px;
26
+ font-family: 'Ubuntu Mono';
27
+ }
28
+
29
+ .kmc-option p {
30
+ font-size: 18px;
31
+ }
32
+
33
+ #cli-row {
34
+ text-align: left;
35
+ }
36
+
37
+ #cli-explain {
38
+ font-size: 17px;
39
+ font-style: italic;
40
+ }
41
+
42
+ #cli {
43
+ font-family: 'Ubuntu Mono';
44
+ }
45
+
46
+ #cli #cli-input {
47
+ font-size: 35px;
48
+ }
49
+
50
+ #cli #cli-input #prompt {
51
+ color: #308EA1;
52
+ }
53
+
54
+ #cli #cli-input #awaiting-user-input {
55
+ font-style: italic;
56
+ }
57
+
58
+ #cli #cli-input #cli-args-input {
59
+ font-size: 30px;
60
+ }
61
+
62
+ #output-row {
63
+ margin-top: 20px;
64
+ }
65
+
66
+ #output {
67
+ text-align: left;
68
+ font-size: 15px;
69
+ }
@@ -0,0 +1,527 @@
1
+ /*! normalize.css v1.1.3 | MIT License | git.io/normalize */
2
+
3
+ /* ==========================================================================
4
+ HTML5 display definitions
5
+ ========================================================================== */
6
+
7
+ /**
8
+ * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
9
+ */
10
+
11
+ article,
12
+ aside,
13
+ details,
14
+ figcaption,
15
+ figure,
16
+ footer,
17
+ header,
18
+ hgroup,
19
+ main,
20
+ nav,
21
+ section,
22
+ summary {
23
+ display: block;
24
+ }
25
+
26
+ /**
27
+ * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
28
+ */
29
+
30
+ audio,
31
+ canvas,
32
+ video {
33
+ display: inline-block;
34
+ *display: inline;
35
+ *zoom: 1;
36
+ }
37
+
38
+ /**
39
+ * Prevent modern browsers from displaying `audio` without controls.
40
+ * Remove excess height in iOS 5 devices.
41
+ */
42
+
43
+ audio:not([controls]) {
44
+ display: none;
45
+ height: 0;
46
+ }
47
+
48
+ /**
49
+ * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
50
+ * Known issue: no IE 6 support.
51
+ */
52
+
53
+ [hidden] {
54
+ display: none;
55
+ }
56
+
57
+ /* ==========================================================================
58
+ Base
59
+ ========================================================================== */
60
+
61
+ /**
62
+ * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
63
+ * `em` units.
64
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
65
+ * user zoom.
66
+ */
67
+
68
+ html {
69
+ font-size: 100%; /* 1 */
70
+ -ms-text-size-adjust: 100%; /* 2 */
71
+ -webkit-text-size-adjust: 100%; /* 2 */
72
+ }
73
+
74
+ /**
75
+ * Address `font-family` inconsistency between `textarea` and other form
76
+ * elements.
77
+ */
78
+
79
+ html,
80
+ button,
81
+ input,
82
+ select,
83
+ textarea {
84
+ font-family: sans-serif;
85
+ }
86
+
87
+ /**
88
+ * Address margins handled incorrectly in IE 6/7.
89
+ */
90
+
91
+ body {
92
+ margin: 0;
93
+ }
94
+
95
+ /* ==========================================================================
96
+ Links
97
+ ========================================================================== */
98
+
99
+ /**
100
+ * Address `outline` inconsistency between Chrome and other browsers.
101
+ */
102
+
103
+ a:focus {
104
+ outline: thin dotted;
105
+ }
106
+
107
+ /**
108
+ * Improve readability when focused and also mouse hovered in all browsers.
109
+ */
110
+
111
+ a:active,
112
+ a:hover {
113
+ outline: 0;
114
+ }
115
+
116
+ /* ==========================================================================
117
+ Typography
118
+ ========================================================================== */
119
+
120
+ /**
121
+ * Address font sizes and margins set differently in IE 6/7.
122
+ * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
123
+ * and Chrome.
124
+ */
125
+
126
+ h1 {
127
+ font-size: 2em;
128
+ margin: 0.67em 0;
129
+ }
130
+
131
+ h2 {
132
+ font-size: 1.5em;
133
+ margin: 0.83em 0;
134
+ }
135
+
136
+ h3 {
137
+ font-size: 1.17em;
138
+ margin: 1em 0;
139
+ }
140
+
141
+ h4 {
142
+ font-size: 1em;
143
+ margin: 1.33em 0;
144
+ }
145
+
146
+ h5 {
147
+ font-size: 0.83em;
148
+ margin: 1.67em 0;
149
+ }
150
+
151
+ h6 {
152
+ font-size: 0.67em;
153
+ margin: 2.33em 0;
154
+ }
155
+
156
+ /**
157
+ * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
158
+ */
159
+
160
+ abbr[title] {
161
+ border-bottom: 1px dotted;
162
+ }
163
+
164
+ /**
165
+ * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
166
+ */
167
+
168
+ b,
169
+ strong {
170
+ font-weight: bold;
171
+ }
172
+
173
+ blockquote {
174
+ margin: 1em 40px;
175
+ }
176
+
177
+ /**
178
+ * Address styling not present in Safari 5 and Chrome.
179
+ */
180
+
181
+ dfn {
182
+ font-style: italic;
183
+ }
184
+
185
+ /**
186
+ * Address differences between Firefox and other browsers.
187
+ * Known issue: no IE 6/7 normalization.
188
+ */
189
+
190
+ hr {
191
+ -moz-box-sizing: content-box;
192
+ box-sizing: content-box;
193
+ height: 0;
194
+ }
195
+
196
+ /**
197
+ * Address styling not present in IE 6/7/8/9.
198
+ */
199
+
200
+ mark {
201
+ background: #ff0;
202
+ color: #000;
203
+ }
204
+
205
+ /**
206
+ * Address margins set differently in IE 6/7.
207
+ */
208
+
209
+ p,
210
+ pre {
211
+ margin: 1em 0;
212
+ }
213
+
214
+ /**
215
+ * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
216
+ */
217
+
218
+ code,
219
+ kbd,
220
+ pre,
221
+ samp {
222
+ font-family: monospace, serif;
223
+ _font-family: 'courier new', monospace;
224
+ font-size: 1em;
225
+ }
226
+
227
+ /**
228
+ * Improve readability of pre-formatted text in all browsers.
229
+ */
230
+
231
+ pre {
232
+ white-space: pre;
233
+ white-space: pre-wrap;
234
+ word-wrap: break-word;
235
+ }
236
+
237
+ /**
238
+ * Address CSS quotes not supported in IE 6/7.
239
+ */
240
+
241
+ q {
242
+ quotes: none;
243
+ }
244
+
245
+ /**
246
+ * Address `quotes` property not supported in Safari 4.
247
+ */
248
+
249
+ q:before,
250
+ q:after {
251
+ content: '';
252
+ content: none;
253
+ }
254
+
255
+ /**
256
+ * Address inconsistent and variable font size in all browsers.
257
+ */
258
+
259
+ small {
260
+ font-size: 80%;
261
+ }
262
+
263
+ /**
264
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
265
+ */
266
+
267
+ sub,
268
+ sup {
269
+ font-size: 75%;
270
+ line-height: 0;
271
+ position: relative;
272
+ vertical-align: baseline;
273
+ }
274
+
275
+ sup {
276
+ top: -0.5em;
277
+ }
278
+
279
+ sub {
280
+ bottom: -0.25em;
281
+ }
282
+
283
+ /* ==========================================================================
284
+ Lists
285
+ ========================================================================== */
286
+
287
+ /**
288
+ * Address margins set differently in IE 6/7.
289
+ */
290
+
291
+ dl,
292
+ menu,
293
+ ol,
294
+ ul {
295
+ margin: 1em 0;
296
+ }
297
+
298
+ dd {
299
+ margin: 0 0 0 40px;
300
+ }
301
+
302
+ /**
303
+ * Address paddings set differently in IE 6/7.
304
+ */
305
+
306
+ menu,
307
+ ol,
308
+ ul {
309
+ padding: 0 0 0 40px;
310
+ }
311
+
312
+ /**
313
+ * Correct list images handled incorrectly in IE 7.
314
+ */
315
+
316
+ nav ul,
317
+ nav ol {
318
+ list-style: none;
319
+ list-style-image: none;
320
+ }
321
+
322
+ /* ==========================================================================
323
+ Embedded content
324
+ ========================================================================== */
325
+
326
+ /**
327
+ * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
328
+ * 2. Improve image quality when scaled in IE 7.
329
+ */
330
+
331
+ img {
332
+ border: 0; /* 1 */
333
+ -ms-interpolation-mode: bicubic; /* 2 */
334
+ }
335
+
336
+ /**
337
+ * Correct overflow displayed oddly in IE 9.
338
+ */
339
+
340
+ svg:not(:root) {
341
+ overflow: hidden;
342
+ }
343
+
344
+ /* ==========================================================================
345
+ Figures
346
+ ========================================================================== */
347
+
348
+ /**
349
+ * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
350
+ */
351
+
352
+ figure {
353
+ margin: 0;
354
+ }
355
+
356
+ /* ==========================================================================
357
+ Forms
358
+ ========================================================================== */
359
+
360
+ /**
361
+ * Correct margin displayed oddly in IE 6/7.
362
+ */
363
+
364
+ form {
365
+ margin: 0;
366
+ }
367
+
368
+ /**
369
+ * Define consistent border, margin, and padding.
370
+ */
371
+
372
+ fieldset {
373
+ border: 1px solid #c0c0c0;
374
+ margin: 0 2px;
375
+ padding: 0.35em 0.625em 0.75em;
376
+ }
377
+
378
+ /**
379
+ * 1. Correct color not being inherited in IE 6/7/8/9.
380
+ * 2. Correct text not wrapping in Firefox 3.
381
+ * 3. Correct alignment displayed oddly in IE 6/7.
382
+ */
383
+
384
+ legend {
385
+ border: 0; /* 1 */
386
+ padding: 0;
387
+ white-space: normal; /* 2 */
388
+ *margin-left: -7px; /* 3 */
389
+ }
390
+
391
+ /**
392
+ * 1. Correct font size not being inherited in all browsers.
393
+ * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
394
+ * and Chrome.
395
+ * 3. Improve appearance and consistency in all browsers.
396
+ */
397
+
398
+ button,
399
+ input,
400
+ select,
401
+ textarea {
402
+ font-size: 100%; /* 1 */
403
+ margin: 0; /* 2 */
404
+ vertical-align: baseline; /* 3 */
405
+ *vertical-align: middle; /* 3 */
406
+ }
407
+
408
+ /**
409
+ * Address Firefox 3+ setting `line-height` on `input` using `!important` in
410
+ * the UA stylesheet.
411
+ */
412
+
413
+ button,
414
+ input {
415
+ line-height: normal;
416
+ }
417
+
418
+ /**
419
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
420
+ * All other form control elements do not inherit `text-transform` values.
421
+ * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
422
+ * Correct `select` style inheritance in Firefox 4+ and Opera.
423
+ */
424
+
425
+ button,
426
+ select {
427
+ text-transform: none;
428
+ }
429
+
430
+ /**
431
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
432
+ * and `video` controls.
433
+ * 2. Correct inability to style clickable `input` types in iOS.
434
+ * 3. Improve usability and consistency of cursor style between image-type
435
+ * `input` and others.
436
+ * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
437
+ * Known issue: inner spacing remains in IE 6.
438
+ */
439
+
440
+ button,
441
+ html input[type="button"], /* 1 */
442
+ input[type="reset"],
443
+ input[type="submit"] {
444
+ -webkit-appearance: button; /* 2 */
445
+ cursor: pointer; /* 3 */
446
+ *overflow: visible; /* 4 */
447
+ }
448
+
449
+ /**
450
+ * Re-set default cursor for disabled elements.
451
+ */
452
+
453
+ button[disabled],
454
+ html input[disabled] {
455
+ cursor: default;
456
+ }
457
+
458
+ /**
459
+ * 1. Address box sizing set to content-box in IE 8/9.
460
+ * 2. Remove excess padding in IE 8/9.
461
+ * 3. Remove excess padding in IE 7.
462
+ * Known issue: excess padding remains in IE 6.
463
+ */
464
+
465
+ input[type="checkbox"],
466
+ input[type="radio"] {
467
+ box-sizing: border-box; /* 1 */
468
+ padding: 0; /* 2 */
469
+ *height: 13px; /* 3 */
470
+ *width: 13px; /* 3 */
471
+ }
472
+
473
+ /**
474
+ * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
475
+ * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
476
+ * (include `-moz` to future-proof).
477
+ */
478
+
479
+ input[type="search"] {
480
+ -webkit-appearance: textfield; /* 1 */
481
+ -moz-box-sizing: content-box;
482
+ -webkit-box-sizing: content-box; /* 2 */
483
+ box-sizing: content-box;
484
+ }
485
+
486
+ /**
487
+ * Remove inner padding and search cancel button in Safari 5 and Chrome
488
+ * on OS X.
489
+ */
490
+
491
+ input[type="search"]::-webkit-search-cancel-button,
492
+ input[type="search"]::-webkit-search-decoration {
493
+ -webkit-appearance: none;
494
+ }
495
+
496
+ /**
497
+ * Remove inner padding and border in Firefox 3+.
498
+ */
499
+
500
+ button::-moz-focus-inner,
501
+ input::-moz-focus-inner {
502
+ border: 0;
503
+ padding: 0;
504
+ }
505
+
506
+ /**
507
+ * 1. Remove default vertical scrollbar in IE 6/7/8/9.
508
+ * 2. Improve readability and alignment in all browsers.
509
+ */
510
+
511
+ textarea {
512
+ overflow: auto; /* 1 */
513
+ vertical-align: top; /* 2 */
514
+ }
515
+
516
+ /* ==========================================================================
517
+ Tables
518
+ ========================================================================== */
519
+
520
+ /**
521
+ * Remove most spacing between table cells.
522
+ */
523
+
524
+ table {
525
+ border-collapse: collapse;
526
+ border-spacing: 0;
527
+ }