compass-blueprint 0.0.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 (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
+ }