coyote 0.5.2 → 0.6.1

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 (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
+ }