compass-blueprint 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +22 -0
  4. data/README.md +29 -0
  5. data/Rakefile +2 -0
  6. data/compass-blueprint.gemspec +18 -0
  7. data/framework/blueprint/stylesheets/_blueprint.scss +37 -0
  8. data/framework/blueprint/stylesheets/blueprint/_buttons.scss +101 -0
  9. data/framework/blueprint/stylesheets/blueprint/_colors.scss +36 -0
  10. data/framework/blueprint/stylesheets/blueprint/_debug.scss +28 -0
  11. data/framework/blueprint/stylesheets/blueprint/_fancy-type.scss +88 -0
  12. data/framework/blueprint/stylesheets/blueprint/_form.scss +66 -0
  13. data/framework/blueprint/stylesheets/blueprint/_grid.scss +258 -0
  14. data/framework/blueprint/stylesheets/blueprint/_ie.scss +111 -0
  15. data/framework/blueprint/stylesheets/blueprint/_interaction.scss +66 -0
  16. data/framework/blueprint/stylesheets/blueprint/_link-icons.scss +37 -0
  17. data/framework/blueprint/stylesheets/blueprint/_liquid.scss +152 -0
  18. data/framework/blueprint/stylesheets/blueprint/_print.scss +86 -0
  19. data/framework/blueprint/stylesheets/blueprint/_reset.scss +3 -0
  20. data/framework/blueprint/stylesheets/blueprint/_rtl.scss +121 -0
  21. data/framework/blueprint/stylesheets/blueprint/_scaffolding.scss +52 -0
  22. data/framework/blueprint/stylesheets/blueprint/_typography.scss +90 -0
  23. data/framework/blueprint/stylesheets/blueprint/_utilities.scss +37 -0
  24. data/framework/blueprint/stylesheets/blueprint/reset/_utilities.scss +80 -0
  25. data/framework/blueprint/templates/basic/grid.png +0 -0
  26. data/framework/blueprint/templates/basic/ie.sass +4 -0
  27. data/framework/blueprint/templates/basic/manifest.rb +30 -0
  28. data/framework/blueprint/templates/basic/partials/_base.sass +10 -0
  29. data/framework/blueprint/templates/basic/print.sass +4 -0
  30. data/framework/blueprint/templates/basic/screen.sass +12 -0
  31. data/framework/blueprint/templates/buttons/buttons.sass +49 -0
  32. data/framework/blueprint/templates/buttons/buttons/cross.png +0 -0
  33. data/framework/blueprint/templates/buttons/buttons/key.png +0 -0
  34. data/framework/blueprint/templates/buttons/buttons/tick.png +0 -0
  35. data/framework/blueprint/templates/buttons/manifest.rb +17 -0
  36. data/framework/blueprint/templates/link_icons/link_icons.sass +13 -0
  37. data/framework/blueprint/templates/link_icons/link_icons/doc.png +0 -0
  38. data/framework/blueprint/templates/link_icons/link_icons/email.png +0 -0
  39. data/framework/blueprint/templates/link_icons/link_icons/external.png +0 -0
  40. data/framework/blueprint/templates/link_icons/link_icons/feed.png +0 -0
  41. data/framework/blueprint/templates/link_icons/link_icons/im.png +0 -0
  42. data/framework/blueprint/templates/link_icons/link_icons/pdf.png +0 -0
  43. data/framework/blueprint/templates/link_icons/link_icons/visited.png +0 -0
  44. data/framework/blueprint/templates/link_icons/link_icons/xls.png +0 -0
  45. data/framework/blueprint/templates/link_icons/manifest.rb +23 -0
  46. data/framework/blueprint/templates/project/grid.png +0 -0
  47. data/framework/blueprint/templates/project/ie.sass +16 -0
  48. data/framework/blueprint/templates/project/manifest.rb +30 -0
  49. data/framework/blueprint/templates/project/partials/_base.sass +11 -0
  50. data/framework/blueprint/templates/project/print.sass +8 -0
  51. data/framework/blueprint/templates/project/screen.sass +46 -0
  52. data/framework/blueprint/templates/semantic/grid.png +0 -0
  53. data/framework/blueprint/templates/semantic/ie.sass +16 -0
  54. data/framework/blueprint/templates/semantic/manifest.rb +33 -0
  55. data/framework/blueprint/templates/semantic/partials/_base.sass +10 -0
  56. data/framework/blueprint/templates/semantic/partials/_form.sass +6 -0
  57. data/framework/blueprint/templates/semantic/partials/_page.sass +17 -0
  58. data/framework/blueprint/templates/semantic/partials/_two_col.sass +38 -0
  59. data/framework/blueprint/templates/semantic/print.sass +5 -0
  60. data/framework/blueprint/templates/semantic/screen.sass +14 -0
  61. data/lib/compass-blueprint.rb +4 -0
  62. data/lib/compass-blueprint/version.rb +5 -0
  63. metadata +119 -0
@@ -0,0 +1,258 @@
1
+ // --------------------------------------------------------------
2
+ // SASS Gridification
3
+ // * Author: Chris Eppstein
4
+ // A SASS adaptation of Blueprint CSS
5
+ // * Version: 0.7.1 (2008-02-25)
6
+ // * Website: http://code.google.com/p/blueprintcss/
7
+ // Based on work by:
8
+ // * Lorin Tackett [lorintackett.com]
9
+ // * Olav Bjorkoy [bjorkoy.com]
10
+ // * Nathan Borror [playgroundblues.com]
11
+ // * Jeff Croft [jeffcroft.com]
12
+ // * Christian Metts [mintchaos.com]
13
+ // * Khoi Vinh [subtraction.com]
14
+ // Read more about using a grid here:
15
+ // * http://www.subtraction.com/2007/03/18/oh-yeeaahh
16
+ // --------------------------------------------------------------
17
+
18
+ @import "compass/utilities/general/float";
19
+ @import "compass/utilities/general/clearfix";
20
+
21
+ // The number of columns in the grid.
22
+ $blueprint-grid-columns: 24 !default;
23
+
24
+ // The width of a column
25
+ $blueprint-grid-width: 30px !default;
26
+
27
+ // The amount of margin between columns
28
+ $blueprint-grid-margin: 10px !default;
29
+
30
+ // The width of a column including the margin. With default settings this is `40px`.
31
+ $blueprint-grid-outer-width: $blueprint-grid-width + $blueprint-grid-margin;
32
+
33
+ // The width of the container. With default settings this is `950px`.
34
+ $blueprint-container-size: $blueprint-grid-outer-width * $blueprint-grid-columns - $blueprint-grid-margin;
35
+
36
+ // Generates presentational class names that you can use
37
+ // in your html to layout your pages.
38
+ //
39
+ // #### Note:
40
+ // Best practices discourage using this mixin,
41
+ // but it is provided to support legacy websites
42
+ // and to test the sass port against blueprint's example pages.
43
+
44
+ @mixin blueprint-grid {
45
+ // A container should group all your columns
46
+ .container {
47
+ @include container; }
48
+ .column {
49
+ @include column-base; }
50
+ // The last column in a row needs this class (or mixin) or it will end up on the next row.
51
+ .last {
52
+ @include last; }
53
+ // Use these classes (or mixins) to set the width of a column.
54
+ @for $n from 1 to $blueprint-grid-columns {
55
+ .span-#{$n} {
56
+ @extend .column;
57
+ width: span($n); } }
58
+ .span-#{$blueprint-grid-columns} {
59
+ @extend .column;
60
+ width: span($blueprint-grid-columns);
61
+ margin: 0; }
62
+ input, textarea, select {
63
+ @for $n from 1 through $blueprint-grid-columns {
64
+ &.span-#{$n} {
65
+ width: span($n); } } }
66
+ // Add these to a column to append empty cols.
67
+ @for $n from 1 to $blueprint-grid-columns {
68
+ .append-#{$n} {
69
+ @include append($n); } }
70
+ // Add these to a column to prepend empty cols.
71
+ @for $n from 1 to $blueprint-grid-columns {
72
+ .prepend-#{$n} {
73
+ @include prepend($n); } }
74
+ // Use these classes on an element to push it into the
75
+ // next column, or to pull it into the previous column.
76
+ #{enumerate(".pull", 1, $blueprint-grid-columns)} {
77
+ @include pull-base; }
78
+ @for $n from 1 through $blueprint-grid-columns {
79
+ .pull-#{$n} {
80
+ @include pull-margins($n); } }
81
+ #{enumerate(".push", 1, $blueprint-grid-columns)} {
82
+ @include push-base; }
83
+ @for $n from 1 through $blueprint-grid-columns {
84
+ .push-#{$n} {
85
+ @include push-margins($n); } }
86
+ .prepend-top {
87
+ @include prepend-top; }
88
+ .append-bottom {
89
+ @include append-bottom; } }
90
+
91
+ // A container for your columns.
92
+ //
93
+ // #### Note:
94
+ // If you use this mixin without the class and want to support ie6
95
+ // you must set text-align left on your container element in an IE stylesheet.
96
+ @mixin container {
97
+ width: $blueprint-container-size;
98
+ margin: 0 auto;
99
+ @include clearfix; }
100
+
101
+ // The last column in a row needs this mixin or it will end up
102
+ // on the next row in some browsers.
103
+ @mixin last {
104
+ margin-right: 0; }
105
+
106
+ // Use this mixins to set the width of n columns.
107
+ @mixin column($n, $last: false) {
108
+ @include column-base($last);
109
+ width: span($n); }
110
+
111
+ // Return the width in pixels of `$n` columns.
112
+ @function span($n) {
113
+ @return $blueprint-grid-width * $n + $blueprint-grid-margin * ($n - 1);
114
+ }
115
+
116
+ // Set only the width of an element to align it with the grid.
117
+ // Most of the time you'll want to use `+column` instead.
118
+ //
119
+ // This mixin is especially useful for aligning tables to the grid.
120
+ //
121
+ // @deprecated Please use the span function with the width property instead.
122
+ @mixin span($n, $important: false) {
123
+ @warn "The span mixin is deprecated. Please use the span function instead. E.g. width: span(#{$n})";
124
+ @if $important {
125
+ width: span($n) !important; }
126
+ @else {
127
+ width: span($n); } }
128
+
129
+ // The basic set of styles needed to make an element
130
+ // behave like a column:
131
+ //
132
+ // * floated to left
133
+ // * gutter margin on the right (unless the last column)
134
+ // * Some IE fixes
135
+ //
136
+ // #### Note:
137
+ // This mixin gets applied automatically when using `+column`
138
+ // so you probably don't need to use it directly unless
139
+ // you need to deviate from the grid or are trying
140
+ // to reduce the amount of generated CSS.
141
+ @mixin column-base($last: false) {
142
+ @include float-left;
143
+ @if $last {
144
+ @include last; }
145
+ @else {
146
+ margin-right: $blueprint-grid-margin; }
147
+ * html & {
148
+ overflow-x: hidden; } }
149
+
150
+ // Mixin to a column to append n empty columns to the right
151
+ // by adding right padding to the column.
152
+ @mixin append($n) {
153
+ padding-right: $blueprint-grid-outer-width * $n; }
154
+
155
+ // Mixin to a column to append n empty columns to the left
156
+ // by adding left padding to the column.
157
+ @mixin prepend($n) {
158
+ padding-left: $blueprint-grid-outer-width * $n; }
159
+
160
+ // Adds trailing margin.
161
+ @mixin append-bottom($amount: 1.5em) {
162
+ margin-bottom: $amount; }
163
+
164
+ // Adds leading margin.
165
+ @mixin prepend-top($amount: 1.5em) {
166
+ margin-top: $amount; }
167
+
168
+ // Base styles that make it possible to pull an element to the left.
169
+ // #### Note:
170
+ // This mixin gets applied automatically when using `+pull`
171
+ // so you probably don't need to use it directly unless
172
+ // you need to deviate from the grid or are trying
173
+ // to reduce the amount of generated CSS.
174
+ @mixin pull-base {
175
+ @include float-left;
176
+ position: relative; }
177
+
178
+ // The amount of pulling for element to the left.
179
+ // #### Note:
180
+ // This mixin gets applied automatically when using `+pull`
181
+ // so you probably don't need to use it directly unless
182
+ // you need to deviate from the grid or are trying
183
+ // to reduce the amount of generated CSS.
184
+ @mixin pull-margins($n, $last: false) {
185
+ @if $last {
186
+ margin-left: -$blueprint-grid-outer-width * $n + $blueprint-grid-margin; }
187
+ @else {
188
+ margin-left: -$blueprint-grid-outer-width * $n; } }
189
+
190
+ // Moves a column `n` columns to the left.
191
+ //
192
+ // This mixin can also be used to change the display order of columns.
193
+ //
194
+ // If pulling past the last (visually) element in a row,
195
+ // pass `true` as the second argument so the calculations can adjust
196
+ // accordingly.
197
+
198
+ // For example:
199
+ //
200
+ // HTML:
201
+ // <pre class="source-code html">
202
+ // <div id="one">One</div>
203
+ // <div id="two">Two</div>
204
+ // </pre>
205
+ // Sass:
206
+ // <pre class="source-code sass">
207
+ // #one
208
+ // +column(18, true)
209
+ // +prepend(6)
210
+ // #two
211
+ // +column(6)
212
+ // +pull(18, true)
213
+ // </pre>
214
+ @mixin pull($n, $last: false) {
215
+ @include pull-base;
216
+ @include pull-margins($n, $last); }
217
+
218
+ @mixin push-base {
219
+ @include float-left;
220
+ position: relative; }
221
+
222
+ @mixin push-margins($n) {
223
+ margin: 0 (-$blueprint-grid-outer-width * $n) 1.5em $blueprint-grid-outer-width * $n; }
224
+
225
+ // mixin to a column to push it n columns to the right
226
+ @mixin push($n) {
227
+ @include push-base;
228
+ @include push-margins($n); }
229
+
230
+ // Border on right hand side of a column.
231
+ @mixin border($border-color: $blueprint-border-color, $border-width: 1px) {
232
+ padding-right: $blueprint-grid-margin / 2 - $border-width;
233
+ margin-right: $blueprint-grid-margin / 2;
234
+ border-right: #{$border-width} solid #{$border-color}; }
235
+
236
+ // Border with more whitespace, spans one column.
237
+ @mixin colborder($border-color: $blueprint-border-color, $border-width: 1px) {
238
+ padding-right: floor(($blueprint-grid-width + 2 * $blueprint-grid-margin - $border-width) / 2);
239
+ margin-right: ceil(($blueprint-grid-width + 2 * $blueprint-grid-margin - $border-width) / 2);
240
+ border-right: #{$border-width} solid #{$border-color}; }
241
+
242
+ // Mixin this to an hr to make a horizontal ruler across a column.
243
+ @mixin colruler($border-color: #dddddd) {
244
+ background: $border-color;
245
+ color: $border-color;
246
+ clear: both;
247
+ float: none;
248
+ width: 100%;
249
+ height: 0.1em;
250
+ margin: 0 0 1.45em;
251
+ border: none; }
252
+
253
+ // Mixin this to an hr to make a horizontal spacer across a column.
254
+ @mixin colspacer {
255
+ @include colruler;
256
+ background: white;
257
+ color: white;
258
+ visibility: hidden; }
@@ -0,0 +1,111 @@
1
+ // @doc off
2
+ // The blueprint IE mixins should be mixed into a stylesheet that gets conditionally included
3
+ // into IE like so:
4
+ // <!--[if lt IE 8]><link rel="stylesheet" href="ie.css"
5
+ // type="text/css" media="screen, projection"><![endif]-->
6
+ // @doc on
7
+
8
+ //| Usage Examples
9
+ //| --------------
10
+ //|
11
+ //| As a top-level mixin, apply to any page that includes the stylesheet:
12
+ //| <pre class="source-code sass">
13
+ //| +blueprint-ie
14
+ //| </pre>
15
+ //| Scoped by a presentational class:
16
+ //| <pre class="source-code sass">
17
+ //| body.blueprint
18
+ //| +blueprint-ie(true)
19
+ //| </pre>
20
+ //| Scoped by semantic selectors:
21
+ //| <pre class="source-code sass">
22
+ //| body#page-1, body#page-2, body.a-special-page-type
23
+ //| +blueprint-ie(true)
24
+ //| </pre>
25
+ //| **Deprecated:** You can pass the body selector as the first argument when used as a top-level mixin
26
+ //| <pre class="source-code sass">
27
+ //| +blueprint-ie("body#page-1, body#page-2, body.a-special-page-type")
28
+ //| </pre>
29
+ @mixin blueprint-ie($nested: false) {
30
+ @if $nested {
31
+ @include blueprint-ie-body;
32
+ @include blueprint-ie-defaults;
33
+ } @else {
34
+ body { @include blueprint-ie-body; }
35
+ @include blueprint-ie-defaults;
36
+ }
37
+ }
38
+ @mixin blueprint-ie-body {
39
+ text-align: center;
40
+ @include blueprint-ie-hacks; }
41
+
42
+ @mixin blueprint-ie-hacks {
43
+ * html & {
44
+ legend {
45
+ margin: 0px -8px 16px 0;
46
+ padding: 0; } }
47
+ html>& {
48
+ p code {
49
+ *white-space: normal; } } }
50
+
51
+ // Fixes for Blueprint "inline" forms in IE
52
+ @mixin blueprint-inline-form-ie {
53
+ div, p {
54
+ vertical-align: middle; }
55
+ input {
56
+ &.checkbox, &.radio, &.button, button {
57
+ margin: 0.5em 0; } } }
58
+
59
+ @mixin blueprint-ie-defaults {
60
+ .container {
61
+ text-align: left; }
62
+ sup {
63
+ vertical-align: text-top; }
64
+ sub {
65
+ vertical-align: text-bottom; }
66
+ hr {
67
+ margin: -8px auto 11px; }
68
+ img {
69
+ -ms-interpolation-mode: bicubic; }
70
+ fieldset {
71
+ padding-top: 0; }
72
+ legend {
73
+ margin-top: -0.2em;
74
+ margin-bottom: 1em;
75
+ margin-left: -0.5em; }
76
+ fieldset, #IE8#HACK {padding-top:1.4em;}
77
+ legend, #IE8#HACK {margin-top:0;margin-bottom:0;}
78
+ textarea {
79
+ overflow: auto; }
80
+ label {
81
+ position: relative;
82
+ top: -0.25em; }
83
+ input {
84
+ &.text {
85
+ margin: 0.5em 0;
86
+ background-color: white;
87
+ border: 1px solid #bbbbbb;
88
+ &:focus {
89
+ border: 1px solid #666666; } }
90
+ &.title {
91
+ margin: 0.5em 0;
92
+ background-color: white;
93
+ border: 1px solid #bbbbbb;
94
+ &:focus {
95
+ border: 1px solid #666666; } }
96
+ &.checkbox {
97
+ position: relative;
98
+ top: 0.25em; }
99
+ &.radio {
100
+ position: relative;
101
+ top: 0.25em; }
102
+ &.button {
103
+ position: relative;
104
+ top: 0.25em; } }
105
+ textarea {
106
+ margin: 0.5em 0; }
107
+ select {
108
+ margin: 0.5em 0; }
109
+ button {
110
+ position: relative;
111
+ top: 0.25em; } }
@@ -0,0 +1,66 @@
1
+ @import "colors";
2
+
3
+ @mixin blueprint-interaction {
4
+ .feedback { @include feedback-base; }
5
+ .error { @include error(feedback); }
6
+ .alert { @extend .error; }
7
+ .notice { @include notice(feedback); }
8
+ .success { @include success(feedback); }
9
+ .info { @include info(feedback); }
10
+ .hide { display: none; }
11
+ .highlight { @include highlight; }
12
+ .added { @include added; }
13
+ .removed { @include removed; }
14
+ }
15
+
16
+ @mixin feedback-base {
17
+ padding: 0.8em;
18
+ margin-bottom: 1em;
19
+ border: 2px solid $feedback-border-color; }
20
+
21
+ @mixin error($feedback-base-class: false) {
22
+ @if $feedback-base-class { @extend .#{$feedback-base-class}; }
23
+ @else { @include feedback-base; }
24
+ background: $error-bg-color;
25
+ color: $error-color;
26
+ border-color: $error-border-color;
27
+ a { color: $error-color; }
28
+ }
29
+
30
+ @mixin notice($feedback-base-class: false) {
31
+ @if $feedback-base-class { @extend .#{$feedback-base-class}; }
32
+ @else { @include feedback-base; }
33
+ background: $notice-bg-color;
34
+ color: $notice-color;
35
+ border-color: $notice-border-color;
36
+ a { color: $notice-color; }
37
+ }
38
+
39
+ @mixin success($feedback-base-class: false) {
40
+ @if $feedback-base-class { @extend .#{$feedback-base-class}; }
41
+ @else { @include feedback-base; }
42
+ background: $success-bg-color;
43
+ color: $success-color;
44
+ border-color: $success-border-color;
45
+ a { color: $success-color; }
46
+ }
47
+
48
+ @mixin info($feedback-base-class: false) {
49
+ @if $feedback-base-class { @extend .#{$feedback-base-class}; }
50
+ @else { @include feedback-base; }
51
+ background: $info-bg-color;
52
+ color: $info-color;
53
+ border-color: $info-border-color;
54
+ a { color: $info-color; }
55
+ }
56
+
57
+ @mixin highlight {
58
+ background: $highlight-color; }
59
+
60
+ @mixin added {
61
+ background: $added-bg-color;
62
+ color: $added-color; }
63
+
64
+ @mixin removed {
65
+ background: $removed-bg-color;
66
+ color: $removed-color; }
@@ -0,0 +1,37 @@
1
+ @mixin no-link-icon {
2
+ background: transparent none !important;
3
+ padding: 0 !important;
4
+ margin: 0 !important;
5
+ }
6
+
7
+ @mixin link-icon-base {
8
+ padding: 2px 22px 2px 0;
9
+ margin: -2px 0;
10
+ background-repeat: no-repeat;
11
+ background-position: right center;
12
+ }
13
+
14
+ @mixin link-icon($name, $include-base: true) {
15
+ @if $include-base { @include link-icon-base; }
16
+ background-image: image-url("link_icons/#{$name}"); }
17
+
18
+ @mixin link-icons {
19
+ a[href^="http:"],
20
+ a[href^="mailto:"],
21
+ a[href^="http:"]:visited,
22
+ a[href$=".pdf"],
23
+ a[href$=".doc"],
24
+ a[href$=".xls"],
25
+ a[href$=".rss"],
26
+ a[href$=".rdf"],
27
+ a[href^="aim:"] { @include link-icon-base; }
28
+ a[href^="http:"] { @include link-icon("external.png", false); }
29
+ a[href^="mailto:"] { @include link-icon("email.png", false); }
30
+ a[href^="http:"]:visited { @include link-icon("visited.png", false); }
31
+ a[href$=".pdf"] { @include link-icon("pdf.png", false); }
32
+ a[href$=".doc"] { @include link-icon("doc.png", false); }
33
+ a[href$=".xls"] { @include link-icon("xls.png", false); }
34
+ a[href$=".rss"],
35
+ a[href$=".rdf"] { @include link-icon("feed.png", false); }
36
+ a[href^="aim:"] { @include link-icon("im.png", false); }
37
+ }