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,4 @@
1
+ @import "keystone/css3";
2
+ @import "keystone/scaffolding";
3
+ @import "keystone/typography";
4
+ @import "keystone/utilities";
@@ -0,0 +1,6 @@
1
+ @import "css3/background-clip";
2
+ @import "css3/border-radius";
3
+ @import "css3/box-shadow";
4
+ @import "css3/box-sizing";
5
+ @import "css3/opacity";
6
+ @import "css3/transition";
@@ -0,0 +1,2 @@
1
+ @import "scaffolding/reset";
2
+ @import "scaffolding/structure";
@@ -0,0 +1,3 @@
1
+ @import "typography/links";
2
+ @import "typography/lists";
3
+ @import "typography/replacement";
@@ -0,0 +1,3 @@
1
+ @import "utilities/alignment";
2
+ @import "utilities/autoclear";
3
+ @import "utilities/hoverbox";
@@ -0,0 +1,5 @@
1
+ @mixin background-clip($clip) {
2
+ -webkit-background-clip: $clip;
3
+ -moz-background-clip: $clip;
4
+ background-clip: $clip;
5
+ }
@@ -0,0 +1,5 @@
1
+ @mixin border-radius($radius: 5px) {
2
+ -webkit-border-radius: $radius;
3
+ -moz-border-radius: $radius;
4
+ border-radius: $radius;
5
+ }
@@ -0,0 +1,5 @@
1
+ @mixin box-shadow($shadow: 0 1px 3px rgba(0,0,0,.25)) {
2
+ -webkit-box-shadow: $shadow;
3
+ -moz-box-shadow: $shadow;
4
+ box-shadow: $shadow;
5
+ }
@@ -0,0 +1,5 @@
1
+ @mixin box-sizing($sizing) {
2
+ -webkit-box-sizing: $sizing;
3
+ -moz-box-sizing: $sizing;
4
+ box-sizing: $sizing;
5
+ }
@@ -0,0 +1,6 @@
1
+ @mixin opacity($opacity: 100) {
2
+ filter: alpha(opacity=$opacity);
3
+ -moz-opacity: $opacity * 0.01;
4
+ -khtml-opacity: $opacity * 0.01;
5
+ opacity: $opacity * 0.01;
6
+ }
@@ -0,0 +1,5 @@
1
+ @mixin transition($transition) {
2
+ -webkit-transition: $transition;
3
+ -moz-transition: $transition;
4
+ transition: $transition;
5
+ }
@@ -0,0 +1,75 @@
1
+ @mixin global-reset {
2
+ html, body, div, span, applet, object, iframe,
3
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
4
+ a, abbr, acronym, address, big, cite, code,
5
+ del, dfn, em, img, ins, kbd, q, s, samp,
6
+ small, strike, strong, sub, sup, tt, var,
7
+ b, u, i, center,
8
+ dl, dt, dd, ol, ul, li,
9
+ fieldset, form, label, legend,
10
+ table, caption, tbody, tfoot, thead, tr, th, td,
11
+ article, aside, canvas, details, embed,
12
+ figure, figcaption, footer, header, hgroup,
13
+ menu, nav, output, ruby, section, summary,
14
+ time, mark, audio, video {
15
+ margin: 0;
16
+ padding: 0;
17
+ border: 0;
18
+ font-size: 100%;
19
+ font: inherit;
20
+ vertical-align: baseline;
21
+ }
22
+
23
+ article, aside, details, figcaption, figure,
24
+ footer, header, hgroup, menu, nav, section {
25
+ display: block;
26
+ }
27
+
28
+ body {
29
+ line-height: 1;
30
+ }
31
+
32
+ ol, ul {
33
+ list-style: none;
34
+ }
35
+
36
+ blockquote, q {
37
+ quotes: none;
38
+ }
39
+
40
+ blockquote:before, blockquote:after,
41
+ q:before, q:after {
42
+ content: "";
43
+ content: none;
44
+ }
45
+
46
+ table {
47
+ border-collapse: collapse;
48
+ border-spacing: 0;
49
+ }
50
+ }
51
+
52
+ @mixin imulus-reset {
53
+ input, select, textarea, button {
54
+ background: transparent;
55
+ margin: 0;
56
+ padding: 0;
57
+ border: 0;
58
+ }
59
+
60
+ ins {
61
+ text-decoration: none;
62
+ }
63
+
64
+ del {
65
+ text-decoration: line-through;
66
+ }
67
+
68
+ strong {
69
+ font-weight: bold;
70
+ }
71
+
72
+ em {
73
+ font-style: italic;
74
+ }
75
+ }
@@ -0,0 +1,23 @@
1
+ @mixin html($html-background: false) {
2
+ font: $font-size/normal $sans-serif;
3
+ color: $font-color;
4
+ @if $html-background {
5
+ background: $html-background;
6
+ }
7
+ overflow-y: scroll;
8
+ }
9
+
10
+ @mixin body($body-background: false) {
11
+ position: relative;
12
+ line-height: $baseline;
13
+ @if $body-background {
14
+ background: $body-background;
15
+ }
16
+ }
17
+
18
+ @mixin container($width) {
19
+ position: relative;
20
+ width: $width;
21
+ margin: 0 auto;
22
+ @include autoclear;
23
+ }
@@ -0,0 +1,66 @@
1
+ @mixin link-colors($normal, $hover: false, $active: false, $visited: false, $focus: false) {
2
+ color: $normal;
3
+
4
+ @if $visited {
5
+ &:visited {
6
+ color: $visited;
7
+ }
8
+ }
9
+
10
+ @if $focus {
11
+ &:focus {
12
+ color: $focus;
13
+ }
14
+ }
15
+
16
+ @if $hover {
17
+ &:hover {
18
+ color: $hover;
19
+ }
20
+ }
21
+
22
+ @if $active {
23
+ &:active {
24
+ color: $active;
25
+ }
26
+ }
27
+ }
28
+
29
+ @mixin link-underlines($normal, $hover: false, $active: false, $visited: false, $focus: false) {
30
+ text-decoration: $normal;
31
+
32
+ @if $visited {
33
+ &:visited {
34
+ text-decoration: $visited;
35
+ }
36
+ }
37
+
38
+ @if $focus {
39
+ &:focus {
40
+ text-decoration: $focus;
41
+ }
42
+ }
43
+
44
+ @if $hover {
45
+ &:hover {
46
+ text-decoration: $hover;
47
+ }
48
+ }
49
+
50
+ @if $active {
51
+ &:active {
52
+ text-decoration: $active;
53
+ }
54
+ }
55
+ }
56
+
57
+ @mixin unstyled-link {
58
+ color: inherit;
59
+ text-decoration: inherit;
60
+ cursor: inherit;
61
+
62
+ &:active,
63
+ &:focus {
64
+ outline: none;
65
+ }
66
+ }
@@ -0,0 +1,38 @@
1
+ @mixin no-bullets {
2
+ list-style: none;
3
+ margin-left: 0;
4
+
5
+ ul, ol {
6
+ list-style: none;
7
+ margin-left: 0;
8
+ }
9
+ }
10
+
11
+ @mixin inline-list {
12
+ @include no-bullets;
13
+ float: left;
14
+
15
+ li {
16
+ float: left;
17
+ }
18
+ }
19
+
20
+ @mixin fancy-lists {
21
+ ul {
22
+ padding: 0 0 10px 15px;
23
+
24
+ li {
25
+ padding: 0 0 5px 15px;
26
+ background: url("/images/icons/bullet.png") left 5px no-repeat;
27
+ }
28
+
29
+ ul {
30
+ padding-bottom: 0;
31
+ padding-top: 5px;
32
+
33
+ li {
34
+ background-image: url("/images/icons/bullet-inner.png");
35
+ }
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,12 @@
1
+ @mixin hide-text {
2
+ text-indent: -9999px;
3
+ overflow: hidden;
4
+ text-align: left;
5
+ }
6
+
7
+ @mixin image-replacement($image, $width, $height, $x: 0, $y: 0) {
8
+ @include hide-text;
9
+ background: url($image) $x $y no-repeat;
10
+ width: $width;
11
+ height: $height;
12
+ }
@@ -0,0 +1,3 @@
1
+ @mixin align-center {
2
+ text-align: center;
3
+ }
@@ -0,0 +1,11 @@
1
+ @mixin autoclear {
2
+ zoom: 1;
3
+ &:before,
4
+ &:after {
5
+ display: table;
6
+ content: "";
7
+ }
8
+ &:after {
9
+ clear: both;
10
+ }
11
+ }
@@ -0,0 +1,32 @@
1
+ @mixin hoverbox {
2
+ a.hover-box img,
3
+ a.hover-box img.original {
4
+ float: left;
5
+ position: relative;
6
+ }
7
+
8
+ a.hover-box img.hover {
9
+ display: none;
10
+ }
11
+
12
+ a.hover-box {
13
+ position: relative;
14
+ float: left;
15
+ display: block;
16
+ }
17
+
18
+ a.hover-box:hover {
19
+ display: block;
20
+ font-size: 100%;
21
+ z-index: 1;
22
+ }
23
+
24
+ a.hover-box:hover img.hover {
25
+ display: block;
26
+ position: absolute;
27
+ float: left;
28
+ left: 0;
29
+ top: 0;
30
+ z-index: 10;
31
+ }
32
+ }
@@ -0,0 +1,58 @@
1
+ /* ----------------------------------------------------------------------------
2
+
3
+ Confio
4
+ Coded by Taylor Smith of Imulus
5
+
6
+ ---------------------------------------------------------------------------- */
7
+
8
+ // Global Variables
9
+
10
+
11
+ // Site Styles
12
+
13
+ $html-background : #fff;
14
+ $body-background : #eee;
15
+
16
+
17
+ // Font Styles
18
+
19
+ $sans-serif : "Helvetica Neue", Arial, Helvetica, sans-serif;
20
+ $serif : "Georgia", "Times New Roman", Times, serif;
21
+ $monospace : "Andale Mono", "Lucida Console", monospace;
22
+ $font-size : 12px;
23
+ $baseline : 18px;
24
+ $font-color : #555;
25
+
26
+
27
+ // Links
28
+
29
+ $link-color : #3da1c9;
30
+ $link-hover : darken($link-color, 15);
31
+
32
+
33
+ // Grays
34
+
35
+ $black : #000;
36
+ $white : #fff;
37
+ $grey-dark : lighten($black, 25%);
38
+ $grey-mid : lighten($black, 50%);
39
+ $grey-light : lighten($black, 75%);
40
+ $off-white : lighten($black, 90%);
41
+
42
+
43
+ // Accent Colors
44
+
45
+ $blue : #049CDB;
46
+ $green : #46a546;
47
+ $red : #9d261d;
48
+ $yellow : #ffc40d;
49
+ $orange : #f89406;
50
+ $pink : #c3325f;
51
+ $purple : #7a43b6;
52
+
53
+
54
+ // Import Partials
55
+
56
+ @import "lib/keystone";
57
+ @import "app/confio";
58
+ @import "vendor/vendor";
@@ -0,0 +1,93 @@
1
+ (function() {
2
+ this.module = function(names, fn) {
3
+ var space, _name;
4
+ if (typeof names === 'string') {
5
+ names = names.split('.');
6
+ }
7
+ space = this[_name = names.shift()] || (this[_name] = {});
8
+ space.module || (space.module = this.module);
9
+ if (names.length) {
10
+ return space.module(names, fn);
11
+ } else {
12
+ return fn.call(space);
13
+ }
14
+ };
15
+ }).call(this);
16
+
17
+
18
+ (function() {
19
+ this.module("Keystone", function() {
20
+ return this.Forms = (function() {
21
+ function Forms($form) {
22
+ this.build();
23
+ }
24
+ Forms.prototype.build = function() {
25
+ if (!Keystone.elementSupportsAttribute('input', 'placeholder')) {
26
+ return $('input[placeholder]').each(function() {
27
+ var $input, placeholder;
28
+ $input = $(this);
29
+ placeholder = $input.attr('placeholder');
30
+ $input.val(placeholder).addClass('inactive');
31
+ return $input.bind({
32
+ focus: function() {
33
+ if ($input.val() === placeholder) {
34
+ return $input.val('').removeClass('inactive');
35
+ }
36
+ },
37
+ blur: function() {
38
+ if ($input.val() === '') {
39
+ return $input.val(placeholder).addClass('inactive');
40
+ }
41
+ }
42
+ });
43
+ });
44
+ }
45
+ };
46
+ return Forms;
47
+ })();
48
+ });
49
+ }).call(this);
50
+
51
+
52
+ (function() {
53
+ Keystone.elementSupportsAttribute = function(element, attribute) {
54
+ return attribute in document.createElement(element);
55
+ };
56
+ }).call(this);
57
+
58
+
59
+ (function() {
60
+ this.module("ClientName", function() {
61
+ return this.Interface = (function() {
62
+ function Interface() {
63
+ this.build();
64
+ }
65
+ Interface.prototype.build = function() {
66
+ return new Keystone.Forms;
67
+ };
68
+ return Interface;
69
+ })();
70
+ });
71
+ }).call(this);
72
+
73
+
74
+ (function() {
75
+ this.module("ClientName", function() {
76
+ return this.main = function() {
77
+ return this.interface = new ClientName.Interface;
78
+ };
79
+ });
80
+ }).call(this);
81
+
82
+
83
+ (function() {
84
+ $(function() {
85
+ return ClientName.main();
86
+ });
87
+ }).call(this);
88
+
89
+
90
+ ../../assets/javascripts/app/confio/interface.js../../assets/javascripts/app/confio/main.js
91
+
92
+
93
+