compass-susy-plugin 0.9.alpha.1 → 0.9.alpha.2

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.alpha.1
1
+ 0.9.alpha.2
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{compass-susy-plugin}
5
- s.version = "0.9.alpha.1"
5
+ s.version = "0.9.alpha.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Eric Meyer"]
9
- s.date = %q{2011-02-15}
9
+ s.date = %q{2011-02-16}
10
10
  s.description = %q{Responsive web design with grids the quick and reliable way.}
11
11
  s.email = %q{eric@oddbird.net}
12
12
  s.extra_rdoc_files = ["LICENSE.txt", "README.mkdn", "lib/susy.rb", "lib/susy/compass_plugin.rb"]
data/sass/susy/_grid.scss CHANGED
@@ -4,10 +4,17 @@
4
4
 
5
5
  // Your basic settings for the grid.
6
6
  // Override these in base.sass to customize your site.
7
- $total-cols: 12 !default;
8
- $col-width: 4em !default;
9
- $gutter-width: 1em !default;
10
- $side-gutter-width: $gutter-width !default;
7
+ $total-cols : 12 !default;
8
+ $col-width : 4em !default;
9
+ $gutter-width : 1em !default;
10
+ $side-gutter-width : $gutter-width !default;
11
+
12
+ // Controls for right-to-left or bi-directional sites.
13
+ // You can override these case-by-case as needed for bi-directional sites.
14
+ $from-direction : left !default;
15
+
16
+ // Sets the direction that +omega elements are floated by deafult.
17
+ $omega-float : right !default;
11
18
 
12
19
  // Functions -----------------------------------------------------------------
13
20
 
@@ -15,70 +22,66 @@ $side-gutter-width: $gutter-width !default;
15
22
  // plus page padding in non-nested contexts
16
23
  @function columns-width(
17
24
  $n: false
18
- ) {
19
- $sg: 0;
20
- @if not $n {
21
- $n: $total-cols;
22
- $sg: $side-gutter-width;
23
- }
24
- $columns-width: ($n*$col-width) + (ceil($n - 1)*$gutter-width) + ($sg*2);
25
- @return $columns-width;
25
+ ) {
26
+ $sg: 0;
27
+ @if not $n {
28
+ $n: $total-cols;
29
+ $sg: $side-gutter-width;
30
+ }
31
+ $columns-width: ($n*$col-width) + (ceil($n - 1)*$gutter-width) + ($sg*2);
32
+ @return $columns-width;
26
33
  }
27
34
 
28
35
  // Return the percentage for the target in a given context
29
36
  @function percent-width(
30
37
  $t,
31
38
  $c
32
- ) {
33
- $perc: ($t / $c) * 100%;
34
- @return $perc;
39
+ ) {
40
+ $perc: ($t / $c) * 100%;
41
+ @return $perc;
35
42
  }
36
43
 
37
44
  // Return the percentage width of 'n' columns in a context of 'c'
38
45
  @function columns(
39
46
  $n,
40
47
  $c: false
41
- ) {
42
- $columns: percent-width(columns-width($n), columns-width($c));
43
- @return $columns;
48
+ ) {
49
+ $columns: percent-width(columns-width($n), columns-width($c));
50
+ @return $columns;
44
51
  }
45
52
 
46
53
  // Return the percentage width of a single gutter in a context of 'c'
47
54
  @function gutter(
48
55
  $c: false
49
- ) {
50
- $gutter: percent-width($gutter-width, columns-width($c));
51
- @return $gutter;
56
+ ) {
57
+ $gutter: percent-width($gutter-width, columns-width($c));
58
+ @return $gutter;
52
59
  }
53
60
 
54
61
  // Return the percentage width of a single side gutter in a context of 'c'
55
62
  @function side-gutter(
56
63
  $c: false
57
- ) {
58
- $side-gutter: percent-width($side-gutter-width, columns-width($c));
59
- @return $side-gutter;
64
+ ) {
65
+ $side-gutter: percent-width($side-gutter-width, columns-width($c));
66
+ @return $side-gutter;
60
67
  }
61
68
 
62
69
  // Return the percentage width of a single column in a context of 'c'
63
70
  @function column(
64
71
  $c: false
65
- ) {
66
- $column: percent-width($col-width, columns-width($c));
67
- @return $column;
72
+ ) {
73
+ $column: percent-width($col-width, columns-width($c));
74
+ @return $column;
68
75
  }
69
76
 
70
77
  // Base Mixin ----------------------------------------------------------------
71
78
 
72
79
  // Set +container() on the outer grid-containing element(s).
73
80
  @mixin container() {
74
- // clear all floated columns
75
81
  @include pie-clearfix;
76
- // use auto horizontal margins to center your page in the body
77
82
  margin: auto;
78
- // set the page width based on grid settings
79
83
  width: columns-width();
80
- // never exceed 100% of the browser window (no side-scrolling)
81
- max-width: 100%;
84
+ max-width: 100%;
82
85
  }
83
86
 
84
87
  // Column Mixins -------------------------------------------------------------
@@ -90,9 +93,13 @@ $side-gutter-width: $gutter-width !default;
90
93
  // - Context MUST NOT be declared on a top-level element.
91
94
  // By default a grid-column is floated left with a right gutter.
92
95
  // - Override those with +float("right"), +alpha or +omega
93
- @mixin columns($n, $context: false) {
96
+ @mixin columns(
97
+ $n,
98
+ $context : false,
99
+ $from : $from-direction
100
+ ) {
94
101
  // the column is floated left
95
- @include float(left);
102
+ @include float($from);
96
103
  // the width of the column is set as a percentage of the context
97
104
  width: columns($n, $context);
98
105
  // the right gutter is added as a percentage of the context
@@ -100,20 +107,26 @@ $side-gutter-width: $gutter-width !default;
100
107
  }
101
108
 
102
109
  // Set +un-column to reset a column element to default block behavior
103
- @mixin un-column {
110
+ @mixin un-column(
111
+ $from : $from-direction
112
+ ) {
113
+ $to : opposite-position($from);
104
114
  float: none;
105
115
  display: block;
106
116
  width: auto;
107
- margin-right: auto;
117
+ margin-#{$to}: auto;
108
118
  }
109
119
 
110
120
  // Set +full on an element that will span it's entire context.
111
121
  // There is no need for +columns, +alpha or +omega on a +full element.
112
- @mixin full($nested: false) {
122
+ @mixin full(
123
+ $nested: false
124
+ ) {
113
125
  clear: both;
114
126
  @if not $nested {
115
- margin-right: side-gutter();
116
- margin-left: side-gutter();
127
+ margin:;
128
+ left: side-gutter();
129
+ right: side-gutter();
117
130
  }
118
131
  }
119
132
 
@@ -121,21 +134,35 @@ $side-gutter-width: $gutter-width !default;
121
134
 
122
135
  // Set +prefix() on any element to add empty colums as padding
123
136
  // before or after.
124
- @mixin prefix($n, $context: false) {
125
- padding-left: columns($n, $context) + gutter($context);
137
+ @mixin prefix(
138
+ $n,
139
+ $context : false,
140
+ $from : $from-direction
141
+ ) {
142
+ padding-#{$from}: columns($n, $context) + gutter($context);
126
143
  }
127
144
 
128
- @mixin suffix($n, $context: false) {
129
- padding-right: columns($n, $context) + gutter($context);
145
+ @mixin suffix(
146
+ $n,
147
+ $context : false,
148
+ $from : $from-direction
149
+ ) {
150
+ $to : opposite-position($from);
151
+ padding-#{$to-dir}: columns($n, $context) + gutter($context);
130
152
  }
131
153
 
132
154
  // Set as a shortcut for both prefix and suffix.
133
- @mixin pad($p: false, $s: false, $c: false) {
155
+ @mixin pad(
156
+ $p : false,
157
+ $s : false,
158
+ $c : false,
159
+ $from : $from-direction
160
+ ) {
134
161
  @if $p {
135
- @include prefix($p, $c);
162
+ @include prefix($p, $c, $from);
136
163
  }
137
164
  @if $s {
138
- @include suffix($s, $c);
165
+ @include suffix($s, $c, $from);
139
166
  }
140
167
  }
141
168
 
@@ -145,33 +172,33 @@ $side-gutter-width: $gutter-width !default;
145
172
  // context to take side-gutters into account. Recommended that you pass
146
173
  // the actual nested contexts (when nested) rather than a true/false
147
174
  // argument for the sake of consistency. Effect is the same.
148
- @mixin alpha($nested: false) {
175
+ @mixin alpha(
176
+ $nested : false,
177
+ $from : $from-direction
178
+ ) {
149
179
  @if not $nested {
150
- margin-left: side-gutter();
180
+ margin-#{$from-dir}: side-gutter();
151
181
  } @else {
152
182
  @warn "The alpha mixin is not needed in a nested context";
153
183
  }
154
184
  }
155
185
 
156
- // Sets the direction that +omega elements are floated
157
- // - Override $omega_float globally or set +float locally to change
158
- $omega-float: right !default;
159
-
160
186
  // Set +omega() on the last element of a row, in order to take side-gutters
161
187
  // and the page edge into account. Set the $nested argument for nested
162
188
  // columns. It is recommended that you pass the actual nested context when
163
189
  // nested, rather than a true/false argument, for the sake of consistency.
164
190
  // Effect is the same.
165
- @mixin omega($nested: false) {
166
- @include float($omega-float);
167
- @if $nested {
168
- margin-right: 0;
169
- } @else {
170
- margin-right: side-gutter();
171
- }
172
- @if $omega-float == right {
173
- #margin-left: - $gutter-width;
174
- } @else {
175
- #margin-right: - $gutter-width;
191
+ @mixin omega(
192
+ $nested : false,
193
+ $from : $from-direction
194
+ ) {
195
+ $to : opposite-position($from);
196
+ $hack : opposite-position($omega-float);
197
+ $sg : 0;
198
+ @if not $nested {
199
+ $sg: side-gutter();
176
200
  }
201
+ @include float($omega-float);
202
+ margin-#{$to-dir}: side-gutter();
203
+ #margin-#{$hack-dir}: - $gutter-width;
177
204
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compass-susy-plugin
3
3
  version: !ruby/object:Gem::Version
4
- hash: -3702664218
4
+ hash: -3702664224
5
5
  prerelease: 4
6
6
  segments:
7
7
  - 0
8
8
  - 9
9
9
  - alpha
10
- - 1
11
- version: 0.9.alpha.1
10
+ - 2
11
+ version: 0.9.alpha.2
12
12
  platform: ruby
13
13
  authors:
14
14
  - Eric Meyer
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-02-15 00:00:00 -07:00
19
+ date: 2011-02-16 00:00:00 -07:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency