susy 1.0.rc.2 → 1.0.rc.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.mkdn CHANGED
@@ -20,6 +20,16 @@ New Features:
20
20
  * All mixins respect your `$legacy-support-for-ie` settings.
21
21
  * The `space` function can be used anywhere you need column+gutter math.
22
22
  * `push`, `pull`, `pre`, `post`, and `squish` add margin left/right shortcuts.
23
+ * The `nth-omega` mixin can be used to set omega on any nth-child, nth-of-type,
24
+ first, last, or only element - using pseudo-class selectors.
25
+ * `remove-omega` and `remove-nth-omega` will remove the omega-specific styles
26
+ from an element, returning it to the regular grid flow.
27
+ * `$container-width` and `$container-style` settings will override the width
28
+ and type (magic, fluid, fixed, static, etc) of your grid container.
29
+ * `$breakpoint-media-output` and `$breakpoint-media-output` allow you to turn
30
+ on and off the different outputs from `at-breakpoint`.
31
+ This is useful when you have IE-overrides living in a file of their own.
32
+ * Unit tests live in the `/test/` directory.
23
33
 
24
34
  Changed API:
25
35
 
data/Manifest CHANGED
@@ -1,7 +1,7 @@
1
1
  CHANGELOG.mkdn
2
2
  LICENSE.txt
3
3
  Manifest
4
- README.mkdn
4
+ README.md
5
5
  Rakefile
6
6
  VERSION
7
7
  lib/susy.rb
@@ -17,3 +17,14 @@ susy.gemspec
17
17
  templates/project/_base.scss
18
18
  templates/project/manifest.rb
19
19
  templates/project/screen.scss
20
+ test/config.rb
21
+ test/css/background.css
22
+ test/css/grid.css
23
+ test/css/margin.css
24
+ test/css/media.css
25
+ test/css/padding.css
26
+ test/scss/background.scss
27
+ test/scss/grid.scss
28
+ test/scss/margin.scss
29
+ test/scss/media.scss
30
+ test/scss/padding.scss
data/README.md ADDED
@@ -0,0 +1,130 @@
1
+ # Susy [a Compass plugin]
2
+
3
+ Susy is a semantic CSS grid system with a responsive twist.
4
+
5
+ The web is a responsive place,
6
+ from your lithe & lively development process
7
+ to your end user's super-tablet-multi-magic-lap-phone.
8
+ You need grids that are powerful, but custom;
9
+ reliable, but responsive.
10
+
11
+ Susy grids are fluid on the inside,
12
+ ready to respond at any moment,
13
+ but contained in the candy shell of your choice,
14
+ so they respond how and when and where you want them to.
15
+
16
+ This isn't another one-size-fits-all grid framework
17
+ that will make your sites look identical
18
+ and litter your markup with meaningless "col2of5" jargon.
19
+ We don't design your site or write your markup,
20
+ we just do the math and get out of your way.
21
+
22
+ ## Resources
23
+ - [Website](http://susy.oddbird.net)
24
+ - [Changelog](https://github.com/ericam/susy/blob/master/CHANGELOG.mkdn)
25
+ - [Tutorial](http://susy.oddbird.net/guides/getting-started/)
26
+ - [Reference](http://susy.oddbird.net/guides/reference/)
27
+ - [Sites using Susy](http://susy.oddbird.net/sites-using-susy/)
28
+ - [Twitter @CompassSusy](http://twitter.com/compasssusy/)
29
+
30
+ ## Why is 1.0 a release candidate?
31
+
32
+ Susy 1.0 is stable and tested, all the features are in,
33
+ and we're ready to launch.
34
+ But our 1.0 depends on unreleased Sass features.
35
+ We think those features are stable as well,
36
+ and we'll do what it takes to stay on top of any changes they make,
37
+ but we can't officially land until they do.
38
+
39
+ ## Contributing
40
+
41
+ We love contributions,
42
+ both as ideas and pull requests.
43
+ The core of Susy is all in the `/sass/` directory.
44
+
45
+ Once you make changes,
46
+ you can test them by building the gem
47
+ and installing it somewhere to test.
48
+ We also have unit tests that you can run.
49
+
50
+ ### Building the gem
51
+
52
+ You'll need Rake and Echoe installed:
53
+
54
+ ```bash
55
+ # command line
56
+ gem install rake
57
+ gem install echoe
58
+ ```
59
+
60
+ It might be helpful to bump the version number in `VERSION`,
61
+ but any changes you make there
62
+ should not be committed.
63
+
64
+ Then you can build:
65
+
66
+ ```bash
67
+ # command line
68
+ rake build
69
+ ```
70
+
71
+ Your new gem will appear in
72
+ a folder called `pkg`.
73
+ You can install it for testing
74
+ directly from there.
75
+
76
+ ```bash
77
+ # command line
78
+ gem install <path-to-file>
79
+ ```
80
+
81
+ ### Building the docs
82
+
83
+ If you are adding features
84
+ or changing how a current feature works,
85
+ your changes should be documented.
86
+ Or you might be helping us maintain the docs.
87
+ In either case,
88
+ you'll need to run the docs dev server
89
+ in order to see your changes.
90
+
91
+ In the `docs` folder:
92
+
93
+ ```bash
94
+ # command line
95
+ gem install bundler
96
+ bundle install
97
+ ```
98
+
99
+ The site is built with
100
+ [middleman](http://middlemanapp.com/).
101
+ To run the development server:
102
+
103
+ ```bash
104
+ # command line
105
+ middleman
106
+ ```
107
+
108
+ The server should now be running at `localhost:4567`.
109
+
110
+ Make any changes you need
111
+ under the `source` directory,
112
+ then commit your changes
113
+ and submit a pull request when you are done!
114
+
115
+ ### Tests
116
+
117
+ The tests we have are very basic at this point.
118
+ Simply go into the `test` directory
119
+ (with the latest Sass and Compass gems installed)
120
+ and run `compass compile --force`.
121
+
122
+ There should be no changes.
123
+ If there are changes,
124
+ go back and find what caused the change.
125
+ If the change was intentional,
126
+ simply commit the changed test files.
127
+ If it was not intentional,
128
+ go back and find what caused the problem.
129
+
130
+ Use `git diff` to see the changes.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.rc.2
1
+ 1.0.rc.3
@@ -13,7 +13,7 @@ $browser-default-font-size-pt : 12pt;
13
13
  // Grid Functions
14
14
 
15
15
  // Returns the full width of a grid based on your grid settings.
16
- //
16
+ //
17
17
  // $columns : The number of columns to get width for.
18
18
  @function columns-width(
19
19
  $columns : $total-columns
@@ -40,7 +40,7 @@ $browser-default-font-size-pt : 12pt;
40
40
  }
41
41
 
42
42
  // Return the percentage width of multiple 'columns' in a given 'context'.
43
- //
43
+ //
44
44
  // $columns : The number of columns to get relative width for.
45
45
  // $context : The grid context in columns, if nested.
46
46
  @function columns(
@@ -51,7 +51,7 @@ $browser-default-font-size-pt : 12pt;
51
51
  }
52
52
 
53
53
  // Return the percentage width of a single gutter in a given 'context'.
54
- //
54
+ //
55
55
  // $context : The grid context in columns, if nested.
56
56
  @function gutter(
57
57
  $context : $total-columns
@@ -61,7 +61,7 @@ $browser-default-font-size-pt : 12pt;
61
61
 
62
62
  // Return the total space occupied by multiple columns and associated gutters.
63
63
  // Useful for adding padding or margins (preifx, suffix, push, pull, etc.)
64
- //
64
+ //
65
65
  // $columns : The number of columns to get relative space for.
66
66
  // $context : The grid context in columns, if nested.
67
67
  @function space(
@@ -92,7 +92,7 @@ $browser-default-font-size-pt : 12pt;
92
92
  } @else {
93
93
  @warn '"#{$var}" is not a valid part of "$columns: #{$columns}" in the columns() mixin.';
94
94
  }
95
- }
95
+ }
96
96
  }
97
97
 
98
98
  @if $request == 'columns' {
@@ -106,6 +106,22 @@ $browser-default-font-size-pt : 12pt;
106
106
  }
107
107
  }
108
108
 
109
+ // Accept nth-selector variables, and format them as a valid CSS3 selector.
110
+ //
111
+ // $n : [first | only | last | <equation>]
112
+ // $selector : [child | last-child | of-type | last-of-type ]
113
+ @function format-nth(
114
+ $n : last,
115
+ $selector : child
116
+ ) {
117
+ @if ($n == 'last') or ($n =='first') or ($n =='only') {
118
+ $selector: '#{$n}-#{$selector}';
119
+ } @else {
120
+ $selector: 'nth-#{$selector}(#{$n})';
121
+ }
122
+ @return $selector;
123
+ }
124
+
109
125
  // ---------------------------------------------------------------------------
110
126
  // Media Functions
111
127
 
@@ -260,8 +276,8 @@ $browser-default-font-size-pt : 12pt;
260
276
  $layout-cols : nth($media-layout,2);
261
277
  $max : nth($media-layout,3);
262
278
 
263
- @if $min or $max {
264
- @return false;
279
+ @if $min or $max {
280
+ @return false;
265
281
  } @else {
266
282
  @return if($layout-cols == $total-columns,true,false);
267
283
  }
data/sass/susy/_grid.scss CHANGED
@@ -86,14 +86,14 @@
86
86
  $to : opposite-position($from);
87
87
  $pos : split-columns-value($columns,position);
88
88
  $cols : split-columns-value($columns,columns);
89
-
89
+
90
90
  width: columns($cols, $context);
91
91
 
92
92
  @if ($pos == 'omega') {
93
93
  @include omega($from);
94
- } @else {
94
+ } @else {
95
95
  float: $from;
96
- margin-#{$to}: gutter($context);
96
+ margin-#{$to}: gutter($context);
97
97
  @if $legacy-support-for-ie6 {
98
98
  display: inline;
99
99
  }
@@ -109,7 +109,7 @@
109
109
  ) {
110
110
  $to : opposite-position($from);
111
111
  $hack : opposite-position($omega-float);
112
-
112
+
113
113
  float: $omega-float;
114
114
  margin-#{$to}: 0;
115
115
 
@@ -119,8 +119,21 @@
119
119
  }
120
120
  }
121
121
 
122
+ // Shortcut to apply omega to a specific subset of elements.
123
+ //
124
+ // $n : [first | only | last | <equation>]
125
+ // $selector : [child | last-child | of-type | last-of-type ]
126
+ // $from : The start-direction for your document.
127
+ @mixin nth-omega(
128
+ $n : last,
129
+ $selector : child,
130
+ $from : $from-direction
131
+ ) {
132
+ &:#{format-nth($n,$selector)} { @include omega($from); }
133
+ }
134
+
122
135
  // ---------------------------------------------------------------------------
123
- // Reset Columns
136
+ // Resets
124
137
 
125
138
  // Reset a '+columns' grid element to default block behavior
126
139
  //
@@ -134,9 +147,44 @@
134
147
  float: none;
135
148
  width: auto;
136
149
  margin-#{$to}: auto;
137
-
150
+
138
151
  @if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
139
152
  #margin-#{$hack}: auto;
140
153
  @if $legacy-support-for-ie6 { display: block; }
141
154
  }
142
155
  }
156
+
157
+ // Apply to elements previously set as omega.
158
+ // This will return floats and margins back to non-omega settigns.
159
+ //
160
+ // $context : [optional] The context (columns spanned by parent).
161
+ // $from : The start-direction for your document.
162
+ @mixin remove-omega(
163
+ $context : $total-columns,
164
+ $from : $from-direction
165
+ ) {
166
+ $to : opposite-position($from);
167
+ $hack : opposite-position($omega-float);
168
+
169
+ float: $from;
170
+ margin-#{$to}: gutter($context);
171
+
172
+ @if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
173
+ #margin-#{$hack}: 0;
174
+ }
175
+ }
176
+
177
+ // Shortcut to apply remove-omega to a specific subset of elements.
178
+ //
179
+ // $n : [first | only | last | <equation>]
180
+ // $selector : [child | last-child | of-type | last-of-type ]
181
+ // $context : [optional] The context (columns spanned by parent).
182
+ // $from : The start-direction for your document.
183
+ @mixin remove-nth-omega(
184
+ $n : last,
185
+ $selector : child,
186
+ $context : $total-columns,
187
+ $from : $from-direction
188
+ ) {
189
+ &:#{format-nth($n,$selector)} { @include remove-omega($context,$from); }
190
+ }
@@ -36,6 +36,10 @@
36
36
  $max : nth($media-layout,3);
37
37
  $ie : nth($media-layout,4);
38
38
 
39
+ @if not $breakpoint-media-output and not $breakpoint-ie-output {
40
+ @warn "Either $breakpoint-media-output or $breakpoint-ie-output must be true for at-breakpoint to work.";
41
+ }
42
+
39
43
  // We need to have either a min-width breakpoint or a layout in order to proceed.
40
44
  @if $min or $layout or $max {
41
45
 
@@ -48,31 +52,33 @@
48
52
  @if $layout {
49
53
  // Set our new layout context.
50
54
  @include layout($layout) {
51
- @if $min and $max {
52
- // Both $min and $max
53
- @media (min-width: $min) and (max-width: $max) {
54
- @content;
55
- }
56
- } @else {
57
- @if (not $min) and (not $max) {
58
- // Neither $min nor $max:
59
- // We can create a breakpoint based on the number of columns in the layout.
60
- $min: fix-ems(container-outer-width());
61
- }
62
- @if $min {
63
- // Min only:
64
- @media (min-width: $min) {
55
+ @if $breakpoint-media-output {
56
+ @if $min and $max {
57
+ // Both $min and $max
58
+ @media (min-width: $min) and (max-width: $max) {
65
59
  @content;
66
60
  }
67
61
  } @else {
68
- // Max only:
69
- @media (max-width: $max) {
70
- @content;
71
- }
62
+ @if (not $min) and (not $max) {
63
+ // Neither $min nor $max:
64
+ // We can create a breakpoint based on the number of columns in the layout.
65
+ $min: fix-ems(container-outer-width());
66
+ }
67
+ @if $min {
68
+ // Min only:
69
+ @media (min-width: $min) {
70
+ @content;
71
+ }
72
+ } @else {
73
+ // Max only:
74
+ @media (max-width: $max) {
75
+ @content;
76
+ }
77
+ }
72
78
  }
73
79
  }
74
80
  // Set an IE fallback
75
- @if $ie {
81
+ @if $ie and $breakpoint-ie-output {
76
82
  @if (type-of($ie) == 'bool') {
77
83
  $ie: 'lt-ie9';
78
84
  }
@@ -28,9 +28,19 @@ $omega-float : opposite-position($from-direction) !default;
28
28
  $container-width : false !default;
29
29
 
30
30
  // Container Style:
31
- // 'magic' - Static (fixed or elastic) when there's enough space,
31
+ // 'magic' - Static (fixed or elastic) when there's enough space,
32
32
  // fluid when there isn't. This is the SUSY MAGIC SAUCE(TM).
33
33
  // 'static' - Forces the grid container to remain static at all times.
34
34
  // 'fluid' - Forces the grid to remain fluid at all times.
35
35
  // (this will overrule any static $container-width settings)
36
- $container-style : mixed !default;
36
+ $container-style : magic !default;
37
+
38
+ // ---------------------------------------------------------------------------
39
+ // IE Settings
40
+
41
+ // When you are using a seperate IE stylesheet,
42
+ // you can use these settings to control the output of at-breakpoint.
43
+ // By default, at-breakpoint will output media-queries as well as
44
+ // any defined ie-fallback classes.
45
+ $breakpoint-media-output : true;
46
+ $breakpoint-ie-output : true;
data/susy.gemspec CHANGED
@@ -2,20 +2,20 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "susy"
5
- s.version = "1.0.rc.2"
5
+ s.version = "1.0.rc.3"
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 = "2012-06-25"
9
+ s.date = "2012-07-13"
10
10
  s.description = "Susy grids are fluid on the inside, ready to respond at any moment, but contained in the candy shell of your choice, so they respond how and when and where you want them to. We don't design your site or dictate your markup, we just do the math and get out of your way."
11
11
  s.email = "eric@oddbird.net"
12
- s.extra_rdoc_files = ["CHANGELOG.mkdn", "LICENSE.txt", "README.mkdn", "lib/susy.rb"]
13
- s.files = ["CHANGELOG.mkdn", "LICENSE.txt", "Manifest", "README.mkdn", "Rakefile", "VERSION", "lib/susy.rb", "sass/_susy.scss", "sass/susy/_background.scss", "sass/susy/_functions.scss", "sass/susy/_grid.scss", "sass/susy/_margin.scss", "sass/susy/_media.scss", "sass/susy/_padding.scss", "sass/susy/_settings.scss", "susy.gemspec", "templates/project/_base.scss", "templates/project/manifest.rb", "templates/project/screen.scss"]
12
+ s.extra_rdoc_files = ["CHANGELOG.mkdn", "LICENSE.txt", "README.md", "lib/susy.rb"]
13
+ s.files = ["CHANGELOG.mkdn", "LICENSE.txt", "Manifest", "README.md", "Rakefile", "VERSION", "lib/susy.rb", "sass/_susy.scss", "sass/susy/_background.scss", "sass/susy/_functions.scss", "sass/susy/_grid.scss", "sass/susy/_margin.scss", "sass/susy/_media.scss", "sass/susy/_padding.scss", "sass/susy/_settings.scss", "susy.gemspec", "templates/project/_base.scss", "templates/project/manifest.rb", "templates/project/screen.scss", "test/config.rb", "test/css/background.css", "test/css/grid.css", "test/css/margin.css", "test/css/media.css", "test/css/padding.css", "test/scss/background.scss", "test/scss/grid.scss", "test/scss/margin.scss", "test/scss/media.scss", "test/scss/padding.scss"]
14
14
  s.homepage = "http://susy.oddbird.net/"
15
- s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Susy", "--main", "README.mkdn"]
15
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Susy", "--main", "README.md"]
16
16
  s.require_paths = ["lib"]
17
17
  s.rubyforge_project = "susy"
18
- s.rubygems_version = "1.8.24"
18
+ s.rubygems_version = "1.8.15"
19
19
  s.summary = "Responsive grids for Compass."
20
20
 
21
21
  if s.respond_to? :specification_version then
data/test/config.rb ADDED
@@ -0,0 +1,10 @@
1
+ # Compass CSS framework config file
2
+
3
+ project_type = :stand_alone
4
+ http_path = "/"
5
+ sass_dir = "scss"
6
+ css_dir = "css"
7
+ line_comments = false
8
+ preferred_syntax = :scss
9
+ output_style = :expanded
10
+ relative_assets = true
@@ -0,0 +1,16 @@
1
+ .background {
2
+ background-image: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(0%, rgba(100, 100, 225, 0.25)), color-stop(6.78%, rgba(100, 100, 225, 0.25)), color-stop(6.78%, rgba(0, 0, 0, 0)), color-stop(8.475%, rgba(0, 0, 0, 0)), color-stop(8.475%, rgba(100, 100, 225, 0.25)), color-stop(15.254%, rgba(100, 100, 225, 0.25)), color-stop(15.254%, rgba(0, 0, 0, 0)), color-stop(16.949%, rgba(0, 0, 0, 0)), color-stop(16.949%, rgba(100, 100, 225, 0.25)), color-stop(23.729%, rgba(100, 100, 225, 0.25)), color-stop(23.729%, rgba(0, 0, 0, 0)), color-stop(25.424%, rgba(0, 0, 0, 0)), color-stop(25.424%, rgba(100, 100, 225, 0.25)), color-stop(32.203%, rgba(100, 100, 225, 0.25)), color-stop(32.203%, rgba(0, 0, 0, 0)), color-stop(33.898%, rgba(0, 0, 0, 0)), color-stop(33.898%, rgba(100, 100, 225, 0.25)), color-stop(40.678%, rgba(100, 100, 225, 0.25)), color-stop(40.678%, rgba(0, 0, 0, 0)), color-stop(42.373%, rgba(0, 0, 0, 0)), color-stop(42.373%, rgba(100, 100, 225, 0.25)), color-stop(49.153%, rgba(100, 100, 225, 0.25)), color-stop(49.153%, rgba(0, 0, 0, 0)), color-stop(50.847%, rgba(0, 0, 0, 0)), color-stop(50.847%, rgba(100, 100, 225, 0.25)), color-stop(57.627%, rgba(100, 100, 225, 0.25)), color-stop(57.627%, rgba(0, 0, 0, 0)), color-stop(59.322%, rgba(0, 0, 0, 0)), color-stop(59.322%, rgba(100, 100, 225, 0.25)), color-stop(66.102%, rgba(100, 100, 225, 0.25)), color-stop(66.102%, rgba(0, 0, 0, 0)), color-stop(67.797%, rgba(0, 0, 0, 0)), color-stop(67.797%, rgba(100, 100, 225, 0.25)), color-stop(74.576%, rgba(100, 100, 225, 0.25)), color-stop(74.576%, rgba(0, 0, 0, 0)), color-stop(76.271%, rgba(0, 0, 0, 0)), color-stop(76.271%, rgba(100, 100, 225, 0.25)), color-stop(83.051%, rgba(100, 100, 225, 0.25)), color-stop(83.051%, rgba(0, 0, 0, 0)), color-stop(84.746%, rgba(0, 0, 0, 0)), color-stop(84.746%, rgba(100, 100, 225, 0.25)), color-stop(91.525%, rgba(100, 100, 225, 0.25)), color-stop(91.525%, rgba(0, 0, 0, 0)), color-stop(93.22%, rgba(0, 0, 0, 0)), color-stop(93.22%, rgba(100, 100, 225, 0.25)), color-stop(100.0%, rgba(100, 100, 225, 0.25)), color-stop(100.0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0)));
3
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(100, 100, 225, 0.25) 0%, rgba(100, 100, 225, 0.25) 6.78%, rgba(0, 0, 0, 0) 6.78%, rgba(0, 0, 0, 0) 8.475%, rgba(100, 100, 225, 0.25) 8.475%, rgba(100, 100, 225, 0.25) 15.254%, rgba(0, 0, 0, 0) 15.254%, rgba(0, 0, 0, 0) 16.949%, rgba(100, 100, 225, 0.25) 16.949%, rgba(100, 100, 225, 0.25) 23.729%, rgba(0, 0, 0, 0) 23.729%, rgba(0, 0, 0, 0) 25.424%, rgba(100, 100, 225, 0.25) 25.424%, rgba(100, 100, 225, 0.25) 32.203%, rgba(0, 0, 0, 0) 32.203%, rgba(0, 0, 0, 0) 33.898%, rgba(100, 100, 225, 0.25) 33.898%, rgba(100, 100, 225, 0.25) 40.678%, rgba(0, 0, 0, 0) 40.678%, rgba(0, 0, 0, 0) 42.373%, rgba(100, 100, 225, 0.25) 42.373%, rgba(100, 100, 225, 0.25) 49.153%, rgba(0, 0, 0, 0) 49.153%, rgba(0, 0, 0, 0) 50.847%, rgba(100, 100, 225, 0.25) 50.847%, rgba(100, 100, 225, 0.25) 57.627%, rgba(0, 0, 0, 0) 57.627%, rgba(0, 0, 0, 0) 59.322%, rgba(100, 100, 225, 0.25) 59.322%, rgba(100, 100, 225, 0.25) 66.102%, rgba(0, 0, 0, 0) 66.102%, rgba(0, 0, 0, 0) 67.797%, rgba(100, 100, 225, 0.25) 67.797%, rgba(100, 100, 225, 0.25) 74.576%, rgba(0, 0, 0, 0) 74.576%, rgba(0, 0, 0, 0) 76.271%, rgba(100, 100, 225, 0.25) 76.271%, rgba(100, 100, 225, 0.25) 83.051%, rgba(0, 0, 0, 0) 83.051%, rgba(0, 0, 0, 0) 84.746%, rgba(100, 100, 225, 0.25) 84.746%, rgba(100, 100, 225, 0.25) 91.525%, rgba(0, 0, 0, 0) 91.525%, rgba(0, 0, 0, 0) 93.22%, rgba(100, 100, 225, 0.25) 93.22%, rgba(100, 100, 225, 0.25) 100.0%, rgba(0, 0, 0, 0) 100.0%, rgba(0, 0, 0, 0) 100%);
4
+ background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(100, 100, 225, 0.25) 0%, rgba(100, 100, 225, 0.25) 6.78%, rgba(0, 0, 0, 0) 6.78%, rgba(0, 0, 0, 0) 8.475%, rgba(100, 100, 225, 0.25) 8.475%, rgba(100, 100, 225, 0.25) 15.254%, rgba(0, 0, 0, 0) 15.254%, rgba(0, 0, 0, 0) 16.949%, rgba(100, 100, 225, 0.25) 16.949%, rgba(100, 100, 225, 0.25) 23.729%, rgba(0, 0, 0, 0) 23.729%, rgba(0, 0, 0, 0) 25.424%, rgba(100, 100, 225, 0.25) 25.424%, rgba(100, 100, 225, 0.25) 32.203%, rgba(0, 0, 0, 0) 32.203%, rgba(0, 0, 0, 0) 33.898%, rgba(100, 100, 225, 0.25) 33.898%, rgba(100, 100, 225, 0.25) 40.678%, rgba(0, 0, 0, 0) 40.678%, rgba(0, 0, 0, 0) 42.373%, rgba(100, 100, 225, 0.25) 42.373%, rgba(100, 100, 225, 0.25) 49.153%, rgba(0, 0, 0, 0) 49.153%, rgba(0, 0, 0, 0) 50.847%, rgba(100, 100, 225, 0.25) 50.847%, rgba(100, 100, 225, 0.25) 57.627%, rgba(0, 0, 0, 0) 57.627%, rgba(0, 0, 0, 0) 59.322%, rgba(100, 100, 225, 0.25) 59.322%, rgba(100, 100, 225, 0.25) 66.102%, rgba(0, 0, 0, 0) 66.102%, rgba(0, 0, 0, 0) 67.797%, rgba(100, 100, 225, 0.25) 67.797%, rgba(100, 100, 225, 0.25) 74.576%, rgba(0, 0, 0, 0) 74.576%, rgba(0, 0, 0, 0) 76.271%, rgba(100, 100, 225, 0.25) 76.271%, rgba(100, 100, 225, 0.25) 83.051%, rgba(0, 0, 0, 0) 83.051%, rgba(0, 0, 0, 0) 84.746%, rgba(100, 100, 225, 0.25) 84.746%, rgba(100, 100, 225, 0.25) 91.525%, rgba(0, 0, 0, 0) 91.525%, rgba(0, 0, 0, 0) 93.22%, rgba(100, 100, 225, 0.25) 93.22%, rgba(100, 100, 225, 0.25) 100.0%, rgba(0, 0, 0, 0) 100.0%, rgba(0, 0, 0, 0) 100%);
5
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(100, 100, 225, 0.25) 0%, rgba(100, 100, 225, 0.25) 6.78%, rgba(0, 0, 0, 0) 6.78%, rgba(0, 0, 0, 0) 8.475%, rgba(100, 100, 225, 0.25) 8.475%, rgba(100, 100, 225, 0.25) 15.254%, rgba(0, 0, 0, 0) 15.254%, rgba(0, 0, 0, 0) 16.949%, rgba(100, 100, 225, 0.25) 16.949%, rgba(100, 100, 225, 0.25) 23.729%, rgba(0, 0, 0, 0) 23.729%, rgba(0, 0, 0, 0) 25.424%, rgba(100, 100, 225, 0.25) 25.424%, rgba(100, 100, 225, 0.25) 32.203%, rgba(0, 0, 0, 0) 32.203%, rgba(0, 0, 0, 0) 33.898%, rgba(100, 100, 225, 0.25) 33.898%, rgba(100, 100, 225, 0.25) 40.678%, rgba(0, 0, 0, 0) 40.678%, rgba(0, 0, 0, 0) 42.373%, rgba(100, 100, 225, 0.25) 42.373%, rgba(100, 100, 225, 0.25) 49.153%, rgba(0, 0, 0, 0) 49.153%, rgba(0, 0, 0, 0) 50.847%, rgba(100, 100, 225, 0.25) 50.847%, rgba(100, 100, 225, 0.25) 57.627%, rgba(0, 0, 0, 0) 57.627%, rgba(0, 0, 0, 0) 59.322%, rgba(100, 100, 225, 0.25) 59.322%, rgba(100, 100, 225, 0.25) 66.102%, rgba(0, 0, 0, 0) 66.102%, rgba(0, 0, 0, 0) 67.797%, rgba(100, 100, 225, 0.25) 67.797%, rgba(100, 100, 225, 0.25) 74.576%, rgba(0, 0, 0, 0) 74.576%, rgba(0, 0, 0, 0) 76.271%, rgba(100, 100, 225, 0.25) 76.271%, rgba(100, 100, 225, 0.25) 83.051%, rgba(0, 0, 0, 0) 83.051%, rgba(0, 0, 0, 0) 84.746%, rgba(100, 100, 225, 0.25) 84.746%, rgba(100, 100, 225, 0.25) 91.525%, rgba(0, 0, 0, 0) 91.525%, rgba(0, 0, 0, 0) 93.22%, rgba(100, 100, 225, 0.25) 93.22%, rgba(100, 100, 225, 0.25) 100.0%, rgba(0, 0, 0, 0) 100.0%, rgba(0, 0, 0, 0) 100%);
6
+ background-image: linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(100, 100, 225, 0.25) 0%, rgba(100, 100, 225, 0.25) 6.78%, rgba(0, 0, 0, 0) 6.78%, rgba(0, 0, 0, 0) 8.475%, rgba(100, 100, 225, 0.25) 8.475%, rgba(100, 100, 225, 0.25) 15.254%, rgba(0, 0, 0, 0) 15.254%, rgba(0, 0, 0, 0) 16.949%, rgba(100, 100, 225, 0.25) 16.949%, rgba(100, 100, 225, 0.25) 23.729%, rgba(0, 0, 0, 0) 23.729%, rgba(0, 0, 0, 0) 25.424%, rgba(100, 100, 225, 0.25) 25.424%, rgba(100, 100, 225, 0.25) 32.203%, rgba(0, 0, 0, 0) 32.203%, rgba(0, 0, 0, 0) 33.898%, rgba(100, 100, 225, 0.25) 33.898%, rgba(100, 100, 225, 0.25) 40.678%, rgba(0, 0, 0, 0) 40.678%, rgba(0, 0, 0, 0) 42.373%, rgba(100, 100, 225, 0.25) 42.373%, rgba(100, 100, 225, 0.25) 49.153%, rgba(0, 0, 0, 0) 49.153%, rgba(0, 0, 0, 0) 50.847%, rgba(100, 100, 225, 0.25) 50.847%, rgba(100, 100, 225, 0.25) 57.627%, rgba(0, 0, 0, 0) 57.627%, rgba(0, 0, 0, 0) 59.322%, rgba(100, 100, 225, 0.25) 59.322%, rgba(100, 100, 225, 0.25) 66.102%, rgba(0, 0, 0, 0) 66.102%, rgba(0, 0, 0, 0) 67.797%, rgba(100, 100, 225, 0.25) 67.797%, rgba(100, 100, 225, 0.25) 74.576%, rgba(0, 0, 0, 0) 74.576%, rgba(0, 0, 0, 0) 76.271%, rgba(100, 100, 225, 0.25) 76.271%, rgba(100, 100, 225, 0.25) 83.051%, rgba(0, 0, 0, 0) 83.051%, rgba(0, 0, 0, 0) 84.746%, rgba(100, 100, 225, 0.25) 84.746%, rgba(100, 100, 225, 0.25) 91.525%, rgba(0, 0, 0, 0) 91.525%, rgba(0, 0, 0, 0) 93.22%, rgba(100, 100, 225, 0.25) 93.22%, rgba(100, 100, 225, 0.25) 100.0%, rgba(0, 0, 0, 0) 100.0%, rgba(0, 0, 0, 0) 100%);
7
+ background-position: left top;
8
+ -webkit-background-origin: content;
9
+ -moz-background-origin: content;
10
+ -ms-background-origin: content-box;
11
+ -o-background-origin: content-box;
12
+ background-origin: content-box;
13
+ -webkit-background-clip: content-box;
14
+ -moz-background-clip: content-box;
15
+ background-clip: content-box;
16
+ }
data/test/css/grid.css ADDED
@@ -0,0 +1,77 @@
1
+ .container {
2
+ *zoom: 1;
3
+ max-width: 59em;
4
+ _width: 59em;
5
+ margin-left: auto;
6
+ margin-right: auto;
7
+ padding-left: 1em;
8
+ padding-right: 1em;
9
+ }
10
+ .container:after {
11
+ content: "";
12
+ display: table;
13
+ clear: both;
14
+ }
15
+
16
+ .complex-container {
17
+ *zoom: 1;
18
+ max-width: 59em;
19
+ _width: 59em;
20
+ margin-left: auto;
21
+ margin-right: auto;
22
+ padding-left: 1em;
23
+ padding-right: 1em;
24
+ }
25
+ .complex-container:after {
26
+ content: "";
27
+ display: table;
28
+ clear: both;
29
+ }
30
+ @media (min-width: 71em) {
31
+ .complex-container {
32
+ max-width: 69em;
33
+ _width: 69em;
34
+ }
35
+ }
36
+
37
+ .span-columns {
38
+ width: 49.153%;
39
+ float: right;
40
+ margin-right: 0;
41
+ #margin-left: -1em;
42
+ display: inline;
43
+ }
44
+
45
+ .reset-columns {
46
+ float: none;
47
+ width: auto;
48
+ margin-right: auto;
49
+ #margin-left: auto;
50
+ display: block;
51
+ }
52
+
53
+ .omega {
54
+ float: right;
55
+ margin-right: 0;
56
+ #margin-left: -1em;
57
+ display: inline;
58
+ }
59
+
60
+ .nth-omega:last-child {
61
+ float: right;
62
+ margin-right: 0;
63
+ #margin-left: -1em;
64
+ display: inline;
65
+ }
66
+
67
+ .remove-omega {
68
+ float: left;
69
+ margin-right: 1.695%;
70
+ #margin-left: 0;
71
+ }
72
+
73
+ .remove-nth-omega:last-child {
74
+ float: left;
75
+ margin-right: 1.695%;
76
+ #margin-left: 0;
77
+ }
@@ -0,0 +1,20 @@
1
+ .pre {
2
+ margin-left: 25.424%;
3
+ }
4
+
5
+ .post {
6
+ margin-right: 33.898%;
7
+ }
8
+
9
+ .push {
10
+ margin-left: 25.424%;
11
+ }
12
+
13
+ .pull {
14
+ margin-left: -33.898%;
15
+ }
16
+
17
+ .squish {
18
+ margin-left: 12.821%;
19
+ margin-right: 25.641%;
20
+ }
@@ -0,0 +1,37 @@
1
+ .layout {
2
+ *zoom: 1;
3
+ max-width: 19em;
4
+ _width: 19em;
5
+ margin-left: auto;
6
+ margin-right: auto;
7
+ padding-left: 1em;
8
+ padding-right: 1em;
9
+ }
10
+ .layout:after {
11
+ content: "";
12
+ display: table;
13
+ clear: both;
14
+ }
15
+
16
+ @media (min-width: 31em) {
17
+ .breakpoint .break6 {
18
+ *zoom: 1;
19
+ max-width: 29em;
20
+ _width: 29em;
21
+ margin-left: auto;
22
+ margin-right: auto;
23
+ padding-left: 1em;
24
+ padding-right: 1em;
25
+ }
26
+ .breakpoint .break6:after {
27
+ content: "";
28
+ display: table;
29
+ clear: both;
30
+ }
31
+ }
32
+ @media (min-width: 30em) and (max-width: 60em) {
33
+ .breakpoint .break60-8-30 {
34
+ max-width: 39em;
35
+ _width: 39em;
36
+ }
37
+ }
@@ -0,0 +1,12 @@
1
+ .prefix {
2
+ padding-left: 16.949%;
3
+ }
4
+
5
+ .suffix {
6
+ padding-right: 22.727%;
7
+ }
8
+
9
+ .pad {
10
+ padding-left: 20.408%;
11
+ padding-right: 40.816%;
12
+ }
@@ -0,0 +1,11 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Imports
3
+
4
+ @import "../../sass/susy";
5
+
6
+ // ---------------------------------------------------------------------------
7
+ // Background
8
+
9
+ .background {
10
+ @include susy-grid-background;
11
+ }
@@ -0,0 +1,39 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Imports
3
+
4
+ @import "../../sass/susy";
5
+
6
+ // ---------------------------------------------------------------------------
7
+ // Grid
8
+
9
+ .container {
10
+ @include container;
11
+ }
12
+
13
+ .complex-container {
14
+ @include container($total-columns,14);
15
+ }
16
+
17
+ .span-columns {
18
+ @include span-columns(6 omega,12);
19
+ }
20
+
21
+ .reset-columns {
22
+ @include reset-columns;
23
+ }
24
+
25
+ .omega {
26
+ @include omega;
27
+ }
28
+
29
+ .nth-omega {
30
+ @include nth-omega;
31
+ }
32
+
33
+ .remove-omega {
34
+ @include remove-omega;
35
+ }
36
+
37
+ .remove-nth-omega {
38
+ @include remove-nth-omega;
39
+ }
@@ -0,0 +1,27 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Imports
3
+
4
+ @import "../../sass/susy";
5
+
6
+ // ---------------------------------------------------------------------------
7
+ // Margin
8
+
9
+ .pre {
10
+ @include pre(3);
11
+ }
12
+
13
+ .post {
14
+ @include post(4,12);
15
+ }
16
+
17
+ .push {
18
+ @include push(3);
19
+ }
20
+
21
+ .pull {
22
+ @include pull(4,12);
23
+ }
24
+
25
+ .squish {
26
+ @include squish(1,2,8);
27
+ }
@@ -0,0 +1,21 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Imports
3
+
4
+ @import "../../sass/susy";
5
+
6
+ // ---------------------------------------------------------------------------
7
+ // Media
8
+
9
+ @include layout(4) {
10
+ .layout { @include container; }
11
+ }
12
+
13
+ .breakpoint{
14
+ @include at-breakpoint(6) {
15
+ .break6 { @include container; }
16
+ }
17
+
18
+ @include at-breakpoint(60em 8 30em) {
19
+ .break60-8-30 { @include set-container-width; }
20
+ }
21
+ }
@@ -0,0 +1,19 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Imports
3
+
4
+ @import "../../sass/susy";
5
+
6
+ // ---------------------------------------------------------------------------
7
+ // Padding
8
+
9
+ .prefix {
10
+ @include prefix(2);
11
+ }
12
+
13
+ .suffix {
14
+ @include suffix(2,9);
15
+ }
16
+
17
+ .pad {
18
+ @include pad(2,4,10);
19
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: susy
3
3
  version: !ruby/object:Gem::Version
4
- hash: -1285962380
4
+ hash: -1697015886
5
5
  prerelease: 4
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
9
  - rc
10
- - 2
11
- version: 1.0.rc.2
10
+ - 3
11
+ version: 1.0.rc.3
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: 2012-06-25 00:00:00 Z
19
+ date: 2012-07-13 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: compass
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- hash: 294173447
45
+ hash: -714522370
46
46
  segments:
47
47
  - 3
48
48
  - 2
@@ -61,13 +61,13 @@ extensions: []
61
61
  extra_rdoc_files:
62
62
  - CHANGELOG.mkdn
63
63
  - LICENSE.txt
64
- - README.mkdn
64
+ - README.md
65
65
  - lib/susy.rb
66
66
  files:
67
67
  - CHANGELOG.mkdn
68
68
  - LICENSE.txt
69
69
  - Manifest
70
- - README.mkdn
70
+ - README.md
71
71
  - Rakefile
72
72
  - VERSION
73
73
  - lib/susy.rb
@@ -83,6 +83,17 @@ files:
83
83
  - templates/project/_base.scss
84
84
  - templates/project/manifest.rb
85
85
  - templates/project/screen.scss
86
+ - test/config.rb
87
+ - test/css/background.css
88
+ - test/css/grid.css
89
+ - test/css/margin.css
90
+ - test/css/media.css
91
+ - test/css/padding.css
92
+ - test/scss/background.scss
93
+ - test/scss/grid.scss
94
+ - test/scss/margin.scss
95
+ - test/scss/media.scss
96
+ - test/scss/padding.scss
86
97
  homepage: http://susy.oddbird.net/
87
98
  licenses: []
88
99
 
@@ -93,7 +104,7 @@ rdoc_options:
93
104
  - --title
94
105
  - Susy
95
106
  - --main
96
- - README.mkdn
107
+ - README.md
97
108
  require_paths:
98
109
  - lib
99
110
  required_ruby_version: !ruby/object:Gem::Requirement
data/README.mkdn DELETED
@@ -1,37 +0,0 @@
1
- # Susy [a Compass plugin]
2
-
3
- Susy is a semantic CSS grid system with a responsive twist.
4
-
5
- The web is a responsive place,
6
- from your lithe & lively development process
7
- to your end user's super-tablet-multi-magic-lap-phone.
8
- You need grids that are powerful, but custom;
9
- reliable, but responsive.
10
-
11
- Susy grids are fluid on the inside,
12
- ready to respond at any moment,
13
- but contained in the candy shell of your choice,
14
- so they respond how and when and where you want them to.
15
-
16
- This isn't another one-size-fits-all grid framework
17
- that will make your sites look identical
18
- and litter your markup with meaningless "col2of5" jargon.
19
- We don't design your site or write your markup,
20
- we just do the math and get out of your way.
21
-
22
- ## Resources
23
- - [Website](http://susy.oddbird.net)
24
- - [Changelog](https://github.com/ericam/susy/blob/master/CHANGELOG.mkdn)
25
- - [Tutorial](http://susy.oddbird.net/guides/getting-started/)
26
- - [Reference](http://susy.oddbird.net/guides/reference/)
27
- - [Sites using Susy](http://susy.oddbird.net/sites-using-susy/)
28
- - [Twitter @CompassSusy](http://twitter.com/compasssusy/)
29
-
30
- ## Why is 1.0 a release candidate?
31
-
32
- Susy 1.0 is stable and tested, all the features are in,
33
- and we're ready to launch.
34
- But our 1.0 depends on unreleased Compass and Sass features.
35
- We think those features are stable as well,
36
- and we'll do what it takes to stay on top of any changes they make,
37
- but we can't officially land until they do.