coyote 0.5.2 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/Manifest +40 -2
  2. data/bin/coyote +16 -4
  3. data/coyote.gemspec +10 -9
  4. data/lib/coyote.rb +25 -34
  5. data/lib/coyote/configuration.rb +57 -61
  6. data/lib/coyote/generator.rb +35 -35
  7. data/lib/coyote/script.rb +122 -0
  8. data/lib/coyote/scripts/coffeescript.rb +32 -0
  9. data/lib/coyote/scripts/combine.rb +54 -0
  10. data/lib/coyote/scripts/javascript.rb +4 -0
  11. data/test/assets/javascripts/app/confio.coffee +2 -0
  12. data/test/assets/javascripts/app/confio/interface.coffee +8 -0
  13. data/test/assets/javascripts/app/confio/main.coffee +4 -0
  14. data/test/assets/javascripts/lib/keystone/extensions.coffee +8 -0
  15. data/test/assets/javascripts/lib/keystone/forms.coffee +19 -0
  16. data/test/assets/javascripts/lib/keystone/utilities.coffee +2 -0
  17. data/test/assets/stylesheets/app/_confio.scss +4 -0
  18. data/test/assets/stylesheets/app/confio/_ie.scss +39 -0
  19. data/test/assets/stylesheets/app/confio/_mobile.scss +28 -0
  20. data/test/assets/stylesheets/app/confio/_print.scss +129 -0
  21. data/test/assets/stylesheets/app/confio/_screen.scss +624 -0
  22. data/test/assets/stylesheets/lib/_keystone.scss +4 -0
  23. data/test/assets/stylesheets/lib/keystone/_css3.scss +6 -0
  24. data/test/assets/stylesheets/lib/keystone/_scaffolding.scss +2 -0
  25. data/test/assets/stylesheets/lib/keystone/_typography.scss +3 -0
  26. data/test/assets/stylesheets/lib/keystone/_utilities.scss +3 -0
  27. data/test/assets/stylesheets/lib/keystone/css3/_background-clip.scss +5 -0
  28. data/test/assets/stylesheets/lib/keystone/css3/_border-radius.scss +5 -0
  29. data/test/assets/stylesheets/lib/keystone/css3/_box-shadow.scss +5 -0
  30. data/test/assets/stylesheets/lib/keystone/css3/_box-sizing.scss +5 -0
  31. data/test/assets/stylesheets/lib/keystone/css3/_opacity.scss +6 -0
  32. data/test/assets/stylesheets/lib/keystone/css3/_transition.scss +5 -0
  33. data/test/assets/stylesheets/lib/keystone/scaffolding/_reset.scss +75 -0
  34. data/test/assets/stylesheets/lib/keystone/scaffolding/_structure.scss +23 -0
  35. data/test/assets/stylesheets/lib/keystone/typography/_links.scss +66 -0
  36. data/test/assets/stylesheets/lib/keystone/typography/_lists.scss +38 -0
  37. data/test/assets/stylesheets/lib/keystone/typography/_replacement.scss +12 -0
  38. data/test/assets/stylesheets/lib/keystone/utilities/_alignment.scss +3 -0
  39. data/test/assets/stylesheets/lib/keystone/utilities/_autoclear.scss +11 -0
  40. data/test/assets/stylesheets/lib/keystone/utilities/_hoverbox.scss +32 -0
  41. data/test/assets/stylesheets/styles.scss +58 -0
  42. data/test/assets/stylesheets/vendor/_vendor.scss +0 -0
  43. data/test/public/scripts/coyote.js +93 -0
  44. data/test/public/scripts/jquery.js +4 -0
  45. data/test/public/scripts/scripts.combine +6 -0
  46. data/test/public/scripts/scripts.js +91 -0
  47. metadata +61 -19
  48. data/lib/coyote/coy_file.rb +0 -64
  49. data/lib/coyote/output.rb +0 -72
@@ -0,0 +1,624 @@
1
+ /* =Initial Page Structure
2
+ ---------------------------------------------------------------------------- */
3
+
4
+ @include global-reset;
5
+ @include imulus-reset;
6
+
7
+ html { @include html; }
8
+ body { @include body; background: #eee url('/images/layout/content/body-background.gif') left bottom repeat-x; }
9
+
10
+ .container {
11
+ @include container(960px);
12
+ }
13
+
14
+
15
+ /* =Headings
16
+ ---------------------------------------------------------------------------- */
17
+
18
+ h1, h2, h3, h4, h5, h6 {
19
+ font-weight: bold;
20
+ color: $grey-dark;
21
+ small {
22
+ color: $grey-dark;
23
+ }
24
+ }
25
+
26
+ h1 {
27
+ margin-bottom: $baseline;
28
+ font-size: 30px;
29
+ line-height: $baseline * 2;
30
+ small {
31
+ font-size: 18px;
32
+ }
33
+ }
34
+
35
+ h2 {
36
+ font-size: 24px;
37
+ line-height: $baseline * 2;
38
+ small {
39
+ font-size: 14px;
40
+ }
41
+ }
42
+
43
+ h3, h4, h5, h6 {
44
+ line-height: $baseline * 2;
45
+ }
46
+
47
+ h3 {
48
+ font-size: 18px;
49
+ small {
50
+ font-size: 14px;
51
+ }
52
+ }
53
+
54
+ h4 {
55
+ font-size: 16px;
56
+ small {
57
+ font-size: 12px;
58
+ }
59
+ }
60
+
61
+ h5 {
62
+ font-size: 14px;
63
+ }
64
+
65
+ h6 {
66
+ font-size: 12px;
67
+ color: $grey-dark;
68
+ text-transform: uppercase;
69
+ }
70
+
71
+
72
+ /* =Body Text
73
+ ---------------------------------------------------------------------------- */
74
+
75
+ p {
76
+ margin-bottom: $baseline;
77
+ }
78
+
79
+ blockquote {
80
+ margin-bottom: $baseline;
81
+ border-left: 5px solid #eee;
82
+ padding-left: 15px;
83
+
84
+ p {
85
+ margin-bottom: 0;
86
+ }
87
+
88
+ small, cite {
89
+ display: block;
90
+ color: $grey-light;
91
+
92
+ &:before {
93
+ content: '\2014 \00A0';
94
+ }
95
+ }
96
+ }
97
+
98
+ address {
99
+ display: block;
100
+ line-height: $baseline;
101
+ margin-bottom: $baseline;
102
+ }
103
+
104
+ pre, code {
105
+ font-family: $monospace;
106
+ font-size: 12px;
107
+ }
108
+
109
+ pre {
110
+ white-space: pre;
111
+ white-space: pre-wrap;
112
+ word-wrap: break-word;
113
+ margin-bottom: $baseline;
114
+ }
115
+
116
+ sub, sup { // Position subscript and superscript content without affecting line-height: gist.github.com/413930
117
+ font-size: 75%;
118
+ line-height: 0;
119
+ position: relative;
120
+ }
121
+
122
+ sup { top: -0.5em; }
123
+ sub { bottom: -0.25em; }
124
+
125
+ img,
126
+ a img {
127
+ border: 0;
128
+ vertical-align: middle;
129
+ }
130
+
131
+ a {
132
+ @include link-colors($link-color, $link-hover);
133
+ @include link-underlines(none, none);
134
+ }
135
+
136
+
137
+ /* =Lists
138
+ ---------------------------------------------------------------------------- */
139
+
140
+ ul,
141
+ ol { margin: 0 0 $baseline 25px; }
142
+
143
+ ul ul,
144
+ ul ol,
145
+ ol ul,
146
+ ol ol { margin-bottom: 0; }
147
+ ul { list-style: disc; }
148
+ ul ul { list-style: circle; }
149
+ ol { list-style: decimal; }
150
+ ol ol { list-style: lower-alpha; }
151
+ li { line-height: $baseline; }
152
+
153
+ dl {
154
+ margin-bottom: $baseline;
155
+ dt, dd { line-height: $baseline; }
156
+ dt { font-weight: bold; }
157
+ dd { margin-left: $baseline / 2; }
158
+ }
159
+
160
+
161
+ /* =Tables
162
+ ---------------------------------------------------------------------------- */
163
+
164
+ table {
165
+ width: 100%;
166
+ margin-bottom: 15px;
167
+
168
+ th {
169
+ font-weight: bold;
170
+ text-align: left;
171
+ background: #bfe3f8;
172
+ }
173
+
174
+ th,
175
+ td {
176
+ padding: 5px 10px 5px 5px;
177
+ border: 1px solid #999999;
178
+ }
179
+
180
+ td {
181
+ background: #fff;
182
+ }
183
+
184
+ tbody tr:nth-child(even) td,
185
+ tbody tr.even td {
186
+ background: #efefef;
187
+ }
188
+
189
+ tfoot {
190
+ font-style: italic;
191
+ }
192
+ }
193
+
194
+
195
+ /* =Forms
196
+ ---------------------------------------------------------------------------- */
197
+
198
+ fieldset {
199
+ input[type=text],
200
+ input[type=password],
201
+ input.text,
202
+ textarea,
203
+ select {
204
+ border: 1px solid #999;
205
+ border-right-color: #ddd;
206
+ border-bottom-color: #ddd;
207
+ width: 292px;
208
+ padding: 3px;
209
+ background-color: #fff;
210
+ }
211
+
212
+ input.small {
213
+ width: 120px;
214
+ }
215
+
216
+ input[type=text]:focus,
217
+ input[type=password]:focus,
218
+ input.text:focus,
219
+ textarea:focus,
220
+ select:focus {
221
+ border-color: #666;
222
+ }
223
+
224
+ textarea {
225
+ height: 175px;
226
+ }
227
+
228
+ span.radcheck {
229
+ display: block;
230
+
231
+ input {
232
+ margin: 0 2px 0 0;
233
+ }
234
+ }
235
+
236
+ select { // Dropdown width and padding is inconsistent with regular inputs
237
+ width: 300px;
238
+ padding: 2px;
239
+ }
240
+
241
+ input.submit { // Text based input button
242
+ padding: 5px 10px;
243
+ border: 1px solid #a2adb4;
244
+ -webkit-border-radius: 5px;
245
+ -moz-border-radius: 5px;
246
+ border-radius: 5px;
247
+ background: #d9e3e9;
248
+ color: #3e6d95;
249
+ }
250
+
251
+
252
+ input.submit-button,
253
+ input[type="image"] { // Image based input button
254
+ float: left;
255
+ }
256
+
257
+ legend {
258
+ font-size: 14px;
259
+ font-weight: bold;
260
+ padding-bottom: 18px;
261
+ }
262
+
263
+ &.pulled {
264
+ p {
265
+ padding: 0 0 15px 150px;
266
+ position: relative;
267
+ clear: left;
268
+ zoom: 1; // Fixes and IE bug that causes text to jump that has a negative margin
269
+
270
+ label {
271
+ line-height: normal; // Used to normalize the height between labels and inputs in Firefox
272
+
273
+ &.inner { // Be sure to mirror the padding and borders of inputs to have a consistent height
274
+ display: inline-block;
275
+ position: relative;
276
+ padding: 4px 0;
277
+ }
278
+
279
+ &.outer {
280
+ float: left;
281
+ text-align: right;
282
+ width: 140px;
283
+ padding: 4px 0;
284
+ margin-left: -150px;
285
+ }
286
+
287
+ sup { // Used to indicate a required field
288
+ color: #f00;
289
+ }
290
+ }
291
+
292
+ em.info {
293
+ padding-left: 10px;
294
+ }
295
+ }
296
+
297
+ span.error {
298
+ position: absolute;
299
+ left: 460px; // Width of label (150) + input (300) + 10 pixels of space
300
+ top: 0;
301
+ display: block;
302
+ color: #f00;
303
+ padding: 4px 0;
304
+ line-height: normal;
305
+ }
306
+ }
307
+ }
308
+
309
+
310
+ /* =Utility
311
+ ---------------------------------------------------------------------------- */
312
+
313
+ .spacer { margin-bottom: $baseline; }
314
+ .left { float: left; position: relative; margin: 0 10px 5px 0; }
315
+ .right { float: right; position: relative; margin: 0 0 5px 10px; }
316
+
317
+
318
+ /* =Header
319
+ ---------------------------------------------------------------------------- */
320
+
321
+ #header {
322
+ position: relative;
323
+ z-index: 200;
324
+ @include autoclear;
325
+
326
+ strong.logo {
327
+ position: relative;
328
+ float: left;
329
+
330
+ a {
331
+ display: block;
332
+ position: absolute;
333
+ @include image-replacement('/images/layout/header/logo.png', 260px, 90px);
334
+ left: -40px;
335
+
336
+ &:hover {
337
+ background-position: -260px 0;
338
+ }
339
+ }
340
+ }
341
+ }
342
+
343
+
344
+ /* =Intro
345
+ ---------------------------------------------------------------------------- */
346
+
347
+ #intro {
348
+ @include autoclear;
349
+ z-index: 100;
350
+ background: #fff;
351
+ }
352
+
353
+
354
+ /* =Search
355
+ ---------------------------------------------------------------------------- */
356
+
357
+ #search {
358
+ position: relative;
359
+ float: right;
360
+ background: url('/images/layout/header/search-bg.png') left top no-repeat;
361
+
362
+ input {
363
+ vertical-align: middle;
364
+
365
+ &#search-text {
366
+ width: 165px;
367
+ margin: 0 3px 0 0;
368
+ padding: 0 5px;
369
+
370
+ &:focus {
371
+ outline: 0;
372
+ }
373
+ }
374
+ }
375
+ }
376
+
377
+
378
+ /* =Navigation
379
+ ---------------------------------------------------------------------------- */
380
+
381
+ #nav {
382
+ float: right;
383
+
384
+ ul {
385
+ @include inline-list;
386
+ margin-bottom: 0;
387
+
388
+ li {
389
+ margin-right: 10px;
390
+
391
+ &.last {
392
+ margin-right: 0;
393
+ }
394
+
395
+ a {
396
+ display: block;
397
+ padding: 20px;
398
+ color: #888;
399
+ text-decoration: none;
400
+
401
+ &:hover,
402
+ &.active {
403
+ color: #3da1c9;
404
+ }
405
+ }
406
+ }
407
+ }
408
+ }
409
+
410
+
411
+ /* =Content
412
+ ---------------------------------------------------------------------------- */
413
+
414
+ .home {
415
+ #content {
416
+ background: url('/images/layout/content/home-content-bg.png') left top repeat-x;
417
+
418
+ .container {
419
+ width: 970px;
420
+ }
421
+
422
+ .toggle {
423
+ @include autoclear;
424
+ width: 700px;
425
+ margin: 0 auto;
426
+
427
+ a {
428
+ float: left;
429
+ width: 350px;
430
+ text-align: center;
431
+ font-family: "Trebuchet MS";
432
+ color: #fff;
433
+ font-size: 24px;
434
+ text-decoration: none;
435
+ background: url('/images/buttons/toggle-button-inactive.png') center bottom no-repeat;
436
+ padding: 40px 0 60px 0;
437
+ @include opacity(75);
438
+
439
+ &:hover,
440
+ &.active {
441
+ @include opacity(100);
442
+ background: url('/images/buttons/toggle-button.png') center bottom no-repeat;
443
+ }
444
+
445
+ em {
446
+ font-style: normal;
447
+
448
+ &.db {
449
+ color: #f4db8d;
450
+ }
451
+
452
+ &.vm {
453
+ color: #6db5c9;
454
+ }
455
+ }
456
+ }
457
+
458
+ }
459
+
460
+ #callout {
461
+ background: url('/images/layout/content/callout-bottom.png') left bottom no-repeat;
462
+ padding-bottom: 20px;
463
+ margin-bottom: 10px;
464
+ margin-top: -1px;
465
+
466
+ .inner {
467
+ @include autoclear;
468
+ background: url('/images/layout/content/callout-top.png') left top no-repeat;
469
+ padding: 30px 40px 0 40px;
470
+ }
471
+
472
+ h2 {
473
+ font-size: 18px;
474
+ font-weight: normal;
475
+ line-height: 1.5;
476
+ margin-bottom: 10px;
477
+ }
478
+
479
+ .button {
480
+ float: left;
481
+ width: 152px;
482
+ margin-right: 5px;
483
+ margin-bottom: 20px;
484
+ background: #53b4db url('/images/buttons/callout-buttons.gif') left top repeat-x;
485
+ text-align: center;
486
+ color: #fff;
487
+ text-decoration: none;
488
+ padding: 5px 10px;
489
+ border: 1px solid #53b4db;
490
+ @include border-radius(5px);
491
+ @include box-shadow(0 1px 1px #CECECE);
492
+ font-size: 14px;
493
+ font-weight: bold;
494
+
495
+ &.pill {
496
+ @include border-radius(20px);
497
+ font-size: 12px;
498
+ width: auto;
499
+ padding: 5px 15px;
500
+ font-weight: normal;
501
+ }
502
+
503
+ &.last {
504
+ margin-right: 0;
505
+ }
506
+
507
+ &:hover {
508
+ background: #53b4db;
509
+ }
510
+
511
+ &:active {
512
+
513
+ }
514
+
515
+ span {
516
+ background: url('/images/icons/carrot-yellow-right.gif') left center no-repeat;
517
+ padding-left: 10px;
518
+ }
519
+ }
520
+ }
521
+
522
+ #grid {
523
+ background: url('/images/layout/content/grid-bottom-bg.png') left bottom no-repeat;
524
+ padding-bottom: 20px;
525
+ margin-bottom: 50px;
526
+
527
+ .inner {
528
+ @include autoclear;
529
+ background: url('/images/layout/content/grid-bg.png') left top no-repeat;
530
+ }
531
+
532
+ .module {
533
+ float: left;
534
+ width: 250px;
535
+ padding: 20px 30px;
536
+ margin: 0 10px 0 5px;
537
+
538
+ h3 {
539
+ margin-bottom: $baseline;
540
+ line-height: 1;
541
+ }
542
+
543
+ h4 {
544
+ font-size: 14px;
545
+ line-height: 1.25;
546
+ margin-bottom: $baseline;
547
+ font-weight: normal;
548
+ }
549
+
550
+ ul.social {
551
+ @include no-bullets;
552
+
553
+ li {
554
+ float: left;
555
+ margin-right: 5px;
556
+
557
+ &.facebook a { @include image-replacement('/images/icons/social/facebook.png', 32px, 32px); }
558
+ &.twitter a { @include image-replacement('/images/icons/social/twitter.png', 32px, 32px); }
559
+ &.linkedin a { @include image-replacement('/images/icons/social/linkedin.png', 32px, 32px); }
560
+ &.rss a { @include image-replacement('/images/icons/social/rss.png', 32px, 32px); }
561
+
562
+ a {
563
+ display: block;
564
+ @include opacity(80);
565
+ @include transition(all 0.2s linear);
566
+
567
+ &:hover {
568
+ @include opacity(100);
569
+ }
570
+ }
571
+ }
572
+ }
573
+
574
+ &.testimonial {
575
+ img {
576
+ margin-left: -15px;
577
+ }
578
+ }
579
+
580
+ &.news {
581
+ ul {
582
+ @include no-bullets;
583
+ margin-bottom: 0;
584
+
585
+ li {
586
+ margin-top: $baseline;
587
+
588
+ a {
589
+ display: block;
590
+ }
591
+ }
592
+ }
593
+ }
594
+
595
+ &.last {
596
+ margin-right: 0;
597
+ }
598
+ }
599
+ }
600
+ }
601
+ }
602
+
603
+ #content {
604
+ position: relative;
605
+ @include autoclear;
606
+
607
+ #main {
608
+
609
+ }
610
+
611
+ #sidebar {
612
+
613
+ }
614
+ }
615
+
616
+
617
+ /* =Footer
618
+ ---------------------------------------------------------------------------- */
619
+
620
+ #footer {
621
+ @include autoclear;
622
+ position: relative;
623
+ clear: both;
624
+ }