compass-susy-plugin 0.8.1 → 0.9.alpha.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.
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009, Eric Meyer
1
+ Copyright (c) 2011, Eric Meyer
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
data/Manifest CHANGED
@@ -6,18 +6,10 @@ VERSION
6
6
  compass-susy-plugin.gemspec
7
7
  lib/susy.rb
8
8
  lib/susy/compass_plugin.rb
9
- lib/susy/sass_extensions.rb
10
9
  sass/susy/_grid.scss
11
- sass/susy/_inline_block_list.scss
12
- sass/susy/_reset.scss
13
10
  sass/susy/_susy.scss
14
- sass/susy/_text.scss
15
11
  sass/susy/_utils.scss
16
- sass/susy/_vertical_rhythm.scss
17
12
  templates/project/_base.scss
18
- templates/project/_defaults.scss
19
13
  templates/project/grid.png
20
- templates/project/ie.scss
21
14
  templates/project/manifest.rb
22
- templates/project/print.scss
23
15
  templates/project/screen.scss
data/README.mkdn CHANGED
@@ -28,9 +28,7 @@ Create a Susy-based Compass Project
28
28
 
29
29
  compass create <project name> -r susy -u susy
30
30
 
31
- Then edit your `_base.scss`, `_defaults.scss`, `screen.scss` and `print.scss`
32
- files accordingly. A reset is added automatically, and includes support for
33
- HTML5 elements.
31
+ Then edit your `_base.scss` and `screen.scss` files accordingly.
34
32
 
35
33
  Philosophy and Goals
36
34
  ====================
@@ -78,17 +76,11 @@ Grid Basics
78
76
  $gutter-width: 1em; /* 1em (16px) gutters between columns */
79
77
  $side-gutter-width: $gutter-width; /* 1em (16px) padding at the edges of the page as well */
80
78
 
81
- * Set defaults for all the important HTML tags in `_defaults.scss`. It's
82
- better than using the browser defaults. And better than using ours.
83
-
84
- * Create your grid in `screen.scss`: apply the `@include susy` mixin at the
85
- top level and the `@include container` mixin to the element(s) that contains
86
- the page grid. This will set up your font sizes, vertical rhythm, and grid
87
- container.
79
+ * Create your grid in `screen.scss`: apply the `container` mixin to the
80
+ element(s) that contains the page grid. This will set up your font sizes
81
+ and grid container.
88
82
 
89
83
  Example:
90
-
91
- @include susy;
92
84
 
93
85
  #page {
94
86
  @include container;
@@ -96,32 +88,23 @@ Grid Basics
96
88
 
97
89
  CSS Output:
98
90
 
99
- body {
100
- font-size: 100%;
101
- line-height: 1.5em;
102
- }
103
- html > body {
104
- font-size: 16px;
105
- }
106
-
107
- #page {
108
- *zoom: 1;
109
- margin-left: auto;
110
- margin-right: auto;
111
- width: 61em;
112
- max-width: 100%;
91
+ #page {
92
+ *zoom: 1;
93
+ margin: auto;
94
+ width: 61em;
95
+ max-width: 100%;
113
96
  }
114
- #page:after {
115
- content: "\0020";
116
- display: block;
117
- height: 0;
118
- clear: both;
119
- overflow: hidden;
120
- visibility: hidden;
97
+ #page:after {
98
+ content: "\0020";
99
+ display: block;
100
+ height: 0;
101
+ clear: both;
102
+ overflow: hidden;
103
+ visibility: hidden;
121
104
  }
122
105
 
123
- * Use the `@include columns` mixin to declare the width in columns of an
124
- element, or `@include full` for any element spanning the full width of its
106
+ * Use the `columns` mixin to declare the width in columns of an
107
+ element, or `full` for any element spanning the full width of its
125
108
  context.
126
109
 
127
110
  There is an important distinction between "root" and "nested" contexts in
@@ -151,11 +134,11 @@ Grid Basics
151
134
 
152
135
  *Note:* Context _must not_ be passed at the root level, and _must_ be passed at nested levels.
153
136
 
154
- * Use `@include alpha` and `@include omega` to declare elements which include
137
+ * Use `alpha` and `omega` to declare elements which include
155
138
  the first or last column within their parent element.
156
139
 
157
- *Note:* `@include alpha` is _only_ needed in the root level, and does
158
- nothing in nested contexts. Neither is needed with an `@include full` element.
140
+ *Note:* `alpha` is _only_ needed in the root level, and does
141
+ nothing in nested contexts. Neither is needed with an `full` element.
159
142
 
160
143
  The `alpha` and `omega` mixins:
161
144
 
@@ -193,9 +176,9 @@ Grid Basics
193
176
  spans, right-margins to set the getter, and both side margins to set the
194
177
  side-gutters on root `alpha` and `omega` elements.
195
178
 
196
- * Use `@include prefix` or `@include suffix` to pad (in columns) the width of
197
- an element using left and right padding, or `@include pad` to give both `@include
198
- prefix` and `@include suffix` at once.
179
+ * Use `prefix` or `suffix` to pad (in columns) the width of
180
+ an element using left and right padding, or `pad` to give both `prefix` and
181
+ `@suffix` at once.
199
182
 
200
183
  The `prefix`, `suffix` and `pad` mixins:
201
184
 
@@ -264,30 +247,11 @@ Check out the tutorial at [susy.oddbird.net/tutorial/](http://susy.oddbird.net/t
264
247
  Extra Utility Mixins
265
248
  =====================
266
249
 
267
- Extra utilities are included in Susy's `_utils.scss` and `_vertical_rhythm.scss`:
250
+ Extra utilities are included in Susy's `_utils.scss`:
268
251
 
269
- * `@include show-grid($src)` - Repeat the specified grid image on an element.
252
+ * `show-grid($src)` - Repeat the specified grid image on an element.
270
253
  Good for testing your baseline and grid.
271
254
 
272
- * `@include adjust-font-size-to($to_size, [$lines, $from_size])` - adjust the
273
- font size and number of baseline (line) units to occupy.
274
-
275
- * `@include leader([$lines, $font_size, $property])` and `@include
276
- trailer([$lines, $font_size, $property])` - add leading or trailing
277
- whitespace to an element. These are added as top and bottom margins (by
278
- default) that keep your vertical rhythm intact. You can also send "padding"
279
- as the `$property` or use `@include padding-leader` and `@include
280
- padding-trailer`. Be aware that this may conflict with uses of
281
- rhythm-borders.
282
-
283
- * `@include leading-border([$width, $lines, $font_size, $style])` and
284
- `@include trailing-border([$width, $lines, $font_size, $style])` will
285
- combine border and padding to create borders that also keep the vertical
286
- rhythm going. The defaults are `1px, 1, $base_font_size, 'solid'`. Also
287
- available: `@include horizontal-borders` (for both leading and trailing),
288
- and `@include rhythm-borders` for applying equal borders and padding to all
289
- sides of a box.
290
-
291
255
 
292
256
  Advanced Options
293
257
  ================
@@ -307,7 +271,8 @@ advanced options hidden inside. Here are a few:
307
271
 
308
272
  * `columns($number, $context)` returns the span of `$number` columns in
309
273
  `$context` as a percentage. This span includes any gutters between the
310
- columns spanned.
274
+ columns spanned. `column($context)` is also available as a single-column
275
+ shortcut.
311
276
 
312
277
  Example:
313
278
 
@@ -315,19 +280,5 @@ advanced options hidden inside. Here are a few:
315
280
  padding-left: columns(3,5);
316
281
  }
317
282
 
318
- * `side_gutter()` is also available and takes no arguments since it is always
319
- used at the top nesting level.
320
-
321
- * `$px2em` is a variable that represents the height of one pixel as a fraction
322
- of your base em-height. Multiply it with your target pixel value to
323
- represent that value in ems. Note that this is only accurate at your
324
- `$base_font_size`.
325
-
326
- Example:
327
-
328
- #nav {
329
- border-bottom: {
330
- style: solid;
331
- width: $px2em*2px;
332
- };
333
- }
283
+ * `side_gutter()` returns the percentage width of a side-gutter and takes no
284
+ arguments since it can always used at the top nesting level.
data/Rakefile CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'fileutils'
2
2
  require 'sass'
3
- require 'lib/susy/sass_extensions'
4
3
 
5
4
  begin
6
5
  require 'echoe'
@@ -11,7 +10,7 @@ begin
11
10
  p.url = "http://susy.oddbird.net/"
12
11
  p.author = "Eric Meyer"
13
12
  p.email = "eric@oddbird.net"
14
- p.dependencies = ["compass >=0.10.0"]
13
+ p.dependencies = ["compass >=0.11.beta.2"]
15
14
  p.has_rdoc = false
16
15
  end
17
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.1
1
+ 0.9.alpha.1
@@ -2,32 +2,31 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{compass-susy-plugin}
5
- s.version = "0.8.1"
5
+ s.version = "0.9.alpha.1"
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{2010-09-24}
9
+ s.date = %q{2011-02-15}
10
10
  s.description = %q{Responsive web design with grids the quick and reliable way.}
11
11
  s.email = %q{eric@oddbird.net}
12
- s.extra_rdoc_files = ["LICENSE.txt", "README.mkdn", "lib/susy.rb", "lib/susy/compass_plugin.rb", "lib/susy/sass_extensions.rb"]
13
- s.files = ["LICENSE.txt", "Manifest", "README.mkdn", "Rakefile", "VERSION", "compass-susy-plugin.gemspec", "lib/susy.rb", "lib/susy/compass_plugin.rb", "lib/susy/sass_extensions.rb", "sass/susy/_grid.scss", "sass/susy/_inline_block_list.scss", "sass/susy/_reset.scss", "sass/susy/_susy.scss", "sass/susy/_text.scss", "sass/susy/_utils.scss", "sass/susy/_vertical_rhythm.scss", "templates/project/_base.scss", "templates/project/_defaults.scss", "templates/project/grid.png", "templates/project/ie.scss", "templates/project/manifest.rb", "templates/project/print.scss", "templates/project/screen.scss"]
12
+ s.extra_rdoc_files = ["LICENSE.txt", "README.mkdn", "lib/susy.rb", "lib/susy/compass_plugin.rb"]
13
+ s.files = ["LICENSE.txt", "Manifest", "README.mkdn", "Rakefile", "VERSION", "compass-susy-plugin.gemspec", "lib/susy.rb", "lib/susy/compass_plugin.rb", "sass/susy/_grid.scss", "sass/susy/_susy.scss", "sass/susy/_utils.scss", "templates/project/_base.scss", "templates/project/grid.png", "templates/project/manifest.rb", "templates/project/screen.scss"]
14
14
  s.homepage = %q{http://susy.oddbird.net/}
15
15
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Compass-susy-plugin", "--main", "README.mkdn"]
16
16
  s.require_paths = ["lib"]
17
17
  s.rubyforge_project = %q{compass-susy-plugin}
18
- s.rubygems_version = %q{1.3.6}
18
+ s.rubygems_version = %q{1.5.2}
19
19
  s.summary = %q{A responsive grid system plugin for Compass.}
20
20
 
21
21
  if s.respond_to? :specification_version then
22
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
23
22
  s.specification_version = 3
24
23
 
25
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
26
- s.add_runtime_dependency(%q<compass>, [">= 0.10.0"])
24
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
25
+ s.add_runtime_dependency(%q<compass>, [">= 0.11.beta.2"])
27
26
  else
28
- s.add_dependency(%q<compass>, [">= 0.10.0"])
27
+ s.add_dependency(%q<compass>, [">= 0.11.beta.2"])
29
28
  end
30
29
  else
31
- s.add_dependency(%q<compass>, [">= 0.10.0"])
30
+ s.add_dependency(%q<compass>, [">= 0.11.beta.2"])
32
31
  end
33
32
  end
data/lib/susy.rb CHANGED
@@ -1,2 +1 @@
1
- require File.join(File.dirname(__FILE__), 'susy', 'compass_plugin')
2
- require File.join(File.dirname(__FILE__), 'susy', 'sass_extensions')
1
+ require File.join(File.dirname(__FILE__), 'susy', 'compass_plugin')
data/sass/susy/_grid.scss CHANGED
@@ -1,5 +1,6 @@
1
1
  //** Susy Grid **//
2
2
 
3
+ // Variables -----------------------------------------------------------------
3
4
 
4
5
  // Your basic settings for the grid.
5
6
  // Override these in base.sass to customize your site.
@@ -8,27 +9,80 @@ $col-width: 4em !default;
8
9
  $gutter-width: 1em !default;
9
10
  $side-gutter-width: $gutter-width !default;
10
11
 
11
- // Susy will set your outer shell based on the variables above.
12
- $container-width: container($total-cols, $col-width, $gutter-width, $side-gutter-width);
12
+ // Functions -----------------------------------------------------------------
13
+
14
+ // Return the width of 'n' columns plus 'n - 1' gutters
15
+ // plus page padding in non-nested contexts
16
+ @function columns-width(
17
+ $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;
26
+ }
27
+
28
+ // Return the percentage for the target in a given context
29
+ @function percent-width(
30
+ $t,
31
+ $c
32
+ ) {
33
+ $perc: ($t / $c) * 100%;
34
+ @return $perc;
35
+ }
36
+
37
+ // Return the percentage width of 'n' columns in a context of 'c'
38
+ @function columns(
39
+ $n,
40
+ $c: false
41
+ ) {
42
+ $columns: percent-width(columns-width($n), columns-width($c));
43
+ @return $columns;
44
+ }
45
+
46
+ // Return the percentage width of a single gutter in a context of 'c'
47
+ @function gutter(
48
+ $c: false
49
+ ) {
50
+ $gutter: percent-width($gutter-width, columns-width($c));
51
+ @return $gutter;
52
+ }
53
+
54
+ // Return the percentage width of a single side gutter in a context of 'c'
55
+ @function side-gutter(
56
+ $c: false
57
+ ) {
58
+ $side-gutter: percent-width($side-gutter-width, columns-width($c));
59
+ @return $side-gutter;
60
+ }
61
+
62
+ // Return the percentage width of a single column in a context of 'c'
63
+ @function column(
64
+ $c: false
65
+ ) {
66
+ $column: percent-width($col-width, columns-width($c));
67
+ @return $column;
68
+ }
69
+
70
+ // Base Mixin ----------------------------------------------------------------
13
71
 
14
72
  // Set +container() on the outer grid-containing element(s).
15
- @mixin container($align: false) {
73
+ @mixin container() {
16
74
  // clear all floated columns
17
75
  @include pie-clearfix;
18
- @if $align {
19
- @warn "the '$align' argument is deprecated because it really isn't that usefull.";
20
- }
21
76
  // use auto horizontal margins to center your page in the body
22
- margin: {
23
- left: auto;
24
- right: auto;
25
- };
26
- // set the page width based on column settings
27
- width: $container-width;
77
+ margin: auto;
78
+ // set the page width based on grid settings
79
+ width: columns-width();
28
80
  // never exceed 100% of the browser window (no side-scrolling)
29
81
  max-width: 100%;
30
82
  }
31
83
 
84
+ // Column Mixins -------------------------------------------------------------
85
+
32
86
  // Set +columns() on any column element, even nested ones.
33
87
  // The first agument [required] is the number of columns to span.
34
88
  // The second argument is the context (columns spanned by parent).
@@ -53,6 +107,18 @@ $container-width: container($total-cols, $col-width, $gutter-width, $side-gutter
53
107
  margin-right: auto;
54
108
  }
55
109
 
110
+ // Set +full on an element that will span it's entire context.
111
+ // There is no need for +columns, +alpha or +omega on a +full element.
112
+ @mixin full($nested: false) {
113
+ clear: both;
114
+ @if not $nested {
115
+ margin-right: side-gutter();
116
+ margin-left: side-gutter();
117
+ }
118
+ }
119
+
120
+ // Padding Mixins ------------------------------------------------------------
121
+
56
122
  // Set +prefix() on any element to add empty colums as padding
57
123
  // before or after.
58
124
  @mixin prefix($n, $context: false) {
@@ -73,6 +139,8 @@ $container-width: container($total-cols, $col-width, $gutter-width, $side-gutter
73
139
  }
74
140
  }
75
141
 
142
+ // Alpha & Omega Mixins ------------------------------------------------------
143
+
76
144
  // Set +alpha on any element spanning the first column in non-nested
77
145
  // context to take side-gutters into account. Recommended that you pass
78
146
  // the actual nested contexts (when nested) rather than a true/false
@@ -89,11 +157,6 @@ $container-width: container($total-cols, $col-width, $gutter-width, $side-gutter
89
157
  // - Override $omega_float globally or set +float locally to change
90
158
  $omega-float: right !default;
91
159
 
92
- // This is going away
93
- @mixin ie-omega($dir: $omega-float, $hack: false) {
94
- @warn "the 'ie-omega' mixin is deprecated along with the $hacks constant";
95
- }
96
-
97
160
  // Set +omega() on the last element of a row, in order to take side-gutters
98
161
  // and the page edge into account. Set the $nested argument for nested
99
162
  // columns. It is recommended that you pass the actual nested context when
@@ -111,14 +174,4 @@ $omega-float: right !default;
111
174
  } @else {
112
175
  #margin-right: - $gutter-width;
113
176
  }
114
- }
115
-
116
- // Set +full() on an element that will span it's entire context.
117
- // There is no need for +columns, +alpha or +omega on a +full element.
118
- @mixin full($nested: false) {
119
- clear: both;
120
- @if not $nested {
121
- margin-right: side-gutter();
122
- margin-left: side-gutter();
123
- }
124
- }
177
+ }
data/sass/susy/_susy.scss CHANGED
@@ -1,16 +1,11 @@
1
1
  //** Susy **//
2
2
 
3
-
4
3
  // Import all the Important Stuff.
5
- @import "compass/css3";
4
+ @import "compass";
6
5
  @import "utils";
7
- @import "text";
8
6
  @import "grid";
9
7
 
10
8
  // Set Susy on your BODY element to get things started.
11
- @mixin susy($align: false) {
12
- @include establish-baseline;
13
- @if $align {
14
- @warn "the '$align' argument is deprecated because it really isn't that usefull.";
15
- }
9
+ @mixin susy() {
10
+ @warn "the 'susy' base mixin is no longer needed and will be removed in the ner future.";
16
11
  }
@@ -1,10 +1,5 @@
1
1
  //** Susy Utilities **//
2
2
 
3
-
4
- // An extension of the Compass Core Utilities
5
- @import "compass/utilities";
6
- @import "inline_block_list";
7
-
8
3
  // Apply to you container element(s) to show a grid image.
9
4
  // - You need to supply the image. Susy can't do everything.
10
5
  @mixin show-grid($src) {
@@ -13,18 +8,4 @@
13
8
  repeat: repeat;
14
9
  position: $side-gutter-width 0;
15
10
  };
16
- }
17
-
18
- @mixin ie-inline-block($hack: false) {
19
- @warn "the 'ie-inline-block' mixin is deprecated in favor of the compass core solutions.";
20
- }
21
-
22
- // Hide an element from the viewport, but keep it around for accessability
23
- @mixin hide {
24
- @warn "the 'hide' mixin is deprecated in favor of 'hide-text' in compass core.";
25
- @include hide-text;
26
- }
27
-
28
- @mixin skip-link($t: 0, $r: false, $b: false, $l: false) {
29
- @warn "the 'skip-link' mixin is deprecated as too tangential to belong in Susy.";
30
- }
11
+ }
@@ -4,11 +4,6 @@
4
4
  // Site: susy.oddbird.net
5
5
  //**
6
6
 
7
- // Font Sizes --------------------------------------------------------------
8
-
9
- $base-font-size: 16px;
10
- $base-line-height: 24px;
11
-
12
7
  // Grid --------------------------------------------------------------
13
8
 
14
9
  $total-cols: 12;
@@ -16,28 +11,5 @@ $col-width: 4em;
16
11
  $gutter-width: 1em;
17
12
  $side-gutter-width: $gutter-width;
18
13
 
19
- // Don't move this @import above the GRID and FONT-SIZE variables.
20
- @import "susy/susy";
21
-
22
- // Colors --------------------------------------------------------------
23
-
24
- $base: #4c4c4c;
25
- $alt: #005498;
26
-
27
- // Fonts --------------------------------------------------------------
28
-
29
- @mixin sans-family {
30
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
31
- }
32
-
33
- @mixin serif-family {
34
- font-family: Cambria, Georgia, serif;
35
- }
36
-
37
- @mixin monospace-family {
38
- font-family: "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, Courier, monospace, sans-serif;
39
- }
40
-
41
- // OTHER MIXINS --------------------------------------------------------------
42
- // Mixins set here will be available in defaults, screen, print and IE
43
- // Or anywhere you import either base.sass or defaults.sass
14
+ // Don't move this @import above the GRID variables.
15
+ @import "susy/susy";
@@ -1,8 +1,5 @@
1
1
  stylesheet 'screen.scss', :media => "screen, projection"
2
- stylesheet 'print.scss', :media => "print"
3
- stylesheet 'ie.scss', :media => "screen, projection"
4
2
  stylesheet '_base.scss'
5
- stylesheet '_defaults.scss'
6
3
  image 'grid.png'
7
4
 
8
5
  description "Susy: a flexible static/fluid/elastic grid system native to compass."
@@ -2,12 +2,10 @@
2
2
 
3
3
  // Imports --------------------------------------------------------------
4
4
 
5
- @import "defaults";
5
+ @import "base";
6
6
 
7
7
  /* Layout -------------------------------------------------------------- */
8
8
 
9
- @include susy;
10
-
11
9
  // change '.container' to match your HTML container element
12
10
  // or @extend it to apply multiple containers on your site.
13
11
  .container {
metadata CHANGED
@@ -1,12 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compass-susy-plugin
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: -3702664218
5
+ prerelease: 4
5
6
  segments:
6
7
  - 0
7
- - 8
8
+ - 9
9
+ - alpha
8
10
  - 1
9
- version: 0.8.1
11
+ version: 0.9.alpha.1
10
12
  platform: ruby
11
13
  authors:
12
14
  - Eric Meyer
@@ -14,21 +16,24 @@ autorequire:
14
16
  bindir: bin
15
17
  cert_chain: []
16
18
 
17
- date: 2010-09-24 00:00:00 -06:00
19
+ date: 2011-02-15 00:00:00 -07:00
18
20
  default_executable:
19
21
  dependencies:
20
22
  - !ruby/object:Gem::Dependency
21
23
  name: compass
22
24
  prerelease: false
23
25
  requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
28
  - - ">="
26
29
  - !ruby/object:Gem::Version
30
+ hash: 62196239
27
31
  segments:
28
32
  - 0
29
- - 10
30
- - 0
31
- version: 0.10.0
33
+ - 11
34
+ - beta
35
+ - 2
36
+ version: 0.11.beta.2
32
37
  type: :runtime
33
38
  version_requirements: *id001
34
39
  description: Responsive web design with grids the quick and reliable way.
@@ -42,7 +47,6 @@ extra_rdoc_files:
42
47
  - README.mkdn
43
48
  - lib/susy.rb
44
49
  - lib/susy/compass_plugin.rb
45
- - lib/susy/sass_extensions.rb
46
50
  files:
47
51
  - LICENSE.txt
48
52
  - Manifest
@@ -52,20 +56,12 @@ files:
52
56
  - compass-susy-plugin.gemspec
53
57
  - lib/susy.rb
54
58
  - lib/susy/compass_plugin.rb
55
- - lib/susy/sass_extensions.rb
56
59
  - sass/susy/_grid.scss
57
- - sass/susy/_inline_block_list.scss
58
- - sass/susy/_reset.scss
59
60
  - sass/susy/_susy.scss
60
- - sass/susy/_text.scss
61
61
  - sass/susy/_utils.scss
62
- - sass/susy/_vertical_rhythm.scss
63
62
  - templates/project/_base.scss
64
- - templates/project/_defaults.scss
65
63
  - templates/project/grid.png
66
- - templates/project/ie.scss
67
64
  - templates/project/manifest.rb
68
- - templates/project/print.scss
69
65
  - templates/project/screen.scss
70
66
  has_rdoc: true
71
67
  homepage: http://susy.oddbird.net/
@@ -82,16 +78,20 @@ rdoc_options:
82
78
  require_paths:
83
79
  - lib
84
80
  required_ruby_version: !ruby/object:Gem::Requirement
81
+ none: false
85
82
  requirements:
86
83
  - - ">="
87
84
  - !ruby/object:Gem::Version
85
+ hash: 3
88
86
  segments:
89
87
  - 0
90
88
  version: "0"
91
89
  required_rubygems_version: !ruby/object:Gem::Requirement
90
+ none: false
92
91
  requirements:
93
92
  - - ">="
94
93
  - !ruby/object:Gem::Version
94
+ hash: 11
95
95
  segments:
96
96
  - 1
97
97
  - 2
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  requirements: []
100
100
 
101
101
  rubyforge_project: compass-susy-plugin
102
- rubygems_version: 1.3.6
102
+ rubygems_version: 1.5.2
103
103
  signing_key:
104
104
  specification_version: 3
105
105
  summary: A responsive grid system plugin for Compass.
@@ -1,76 +0,0 @@
1
- require 'sass'
2
-
3
- module Sass::Script
4
- class Number < Literal
5
- def ceil
6
- Number.new(value.ceil, numerator_units, denominator_units)
7
- end
8
- end
9
- end
10
-
11
- module Sass::Script::Functions
12
-
13
- # some helpful constants
14
- PERCENT = Sass::Script::Number.new(100, ["%"])
15
- ONE = Sass::Script::Number.new(1)
16
- TWO = Sass::Script::Number.new(2)
17
-
18
- # set the Susy column and gutter widths and number of columns
19
- # return total width of container
20
- def container(total_columns, column_width, gutter_width, side_gutter_width)
21
- @@susy_total_columns = total_columns
22
- @@susy_column_width = column_width
23
- @@susy_gutter_width = gutter_width
24
- @@susy_side_gutter_width = side_gutter_width
25
- context
26
- end
27
-
28
- # return the width of 'n' columns plus 'n - 1' gutters
29
- # plus page padding in non-nested contexts
30
- def context(n = false)
31
- raise Sass::SyntaxError, "container() must be called before context() - should be called in susy/susy.sass" unless defined?(@@susy_total_columns)
32
- sg = Sass::Script::Number.new(0)
33
- if !n or !n.value
34
- n = @@susy_total_columns
35
- sg = @@susy_side_gutter_width
36
- end
37
- c, g = [@@susy_column_width, @@susy_gutter_width]
38
- n.times(c).plus(n.minus(ONE).ceil.times(g)).plus(sg.times(TWO))
39
- end
40
-
41
- # return the percentage width of 'n' columns in a context of
42
- # 'context_columns'
43
- def columns(n, context_columns = false)
44
- raise Sass::SyntaxError, "container() must be called before columns() - should be called in susy/susy.sass" unless defined?(@@susy_column_width)
45
- w = context(context_columns)
46
- c, g = [@@susy_column_width, @@susy_gutter_width]
47
- n.times(c).plus(n.minus(ONE).ceil.times(g)).div(w).times(PERCENT)
48
- end
49
-
50
- # return the percentage width of a single gutter in a context of
51
- # 'context_columns'
52
- def gutter(context_columns = false)
53
- raise Sass::SyntaxError, "container() must be called before columns() - should be called in susy/susy.sass" unless defined?(@@susy_gutter_width)
54
- w = context(context_columns)
55
- g = @@susy_gutter_width
56
- g.div(w).times(PERCENT)
57
- end
58
-
59
- # return the percentage width of a single side gutter in a context of
60
- # 'context_columns'
61
- def side_gutter(context_columns = false)
62
- raise Sass::SyntaxError, "container() must be called before side_gutter() - should be called in susy/susy.sass" unless defined?(@@susy_side_gutter_width)
63
- w = context(context_columns)
64
- sg = @@susy_side_gutter_width
65
- sg.div(w).times(PERCENT)
66
- end
67
-
68
- # return the percentage width of a single column in a context of
69
- # 'context_columns'
70
- def column(context_columns = false)
71
- raise Sass::SyntaxError, "container() must be called before column() - should be called in susy/susy.sass" unless defined?(@@susy_column_width)
72
- w = context(context_columns)
73
- c = @@susy_column_width
74
- c.div(w).times(PERCENT)
75
- end
76
- end
@@ -1,42 +0,0 @@
1
- // Inline-Block list layout module.
2
- //
3
- // Easy mode using simple descendant li selectors:
4
- //
5
- // ul.nav
6
- // +inline-block-list
7
- //
8
- // Advanced mode:
9
- // If you need to target the list items using a different selector then use
10
- // +inline-block-list-container on your ul/ol and +inline-block-list-item on your li.
11
- // This may help when working on layouts involving nested lists. For example:
12
- //
13
- // ul.nav
14
- // +inline-block-list-container
15
- // > li
16
- // +inline-block-list-item
17
-
18
- // Can be mixed into any selector that target a ul or ol that is meant
19
- // to have an inline-block layout. Used to implement +inline-block-list.
20
- @mixin inline-block-list-container {
21
- @include horizontal-list-container; }
22
-
23
- // Can be mixed into any li selector that is meant to participate in a horizontal layout.
24
- // Used to implement +inline-block-list.
25
-
26
- @mixin inline-block-list-item($padding: false) {
27
- @include no-bullet;
28
- @include inline-block;
29
- white-space: nowrap;
30
- @if $padding {
31
- padding: {
32
- left: $padding;
33
- right: $padding;
34
- };
35
- }
36
- }
37
-
38
- // A list(ol,ul) that is layed out such that the elements are inline-block and won't wrap.
39
- @mixin inline-block-list($padding: false) {
40
- @include inline-block-list-container;
41
- li {
42
- @include inline-block-list-item($padding); } }
@@ -1,9 +0,0 @@
1
- //** Susy Reset **//
2
-
3
- /* Reset --------------------------------------------------------------*/
4
-
5
- @import "compass/reset";
6
-
7
- /* HTML5 Reset --------------------------------------------------------------*/
8
-
9
- @include reset-html5;
data/sass/susy/_text.scss DELETED
@@ -1,6 +0,0 @@
1
- //** Susy Text Settings **//
2
-
3
-
4
- @import "vertical_rhythm";
5
-
6
- $px2em: 1em / $base-font-size;
@@ -1,127 +0,0 @@
1
- //** Vertical Rhythm **//
2
- // By Chris Eppstein and Eric Meyer, living here on a temporary basis
3
-
4
- // set the default border style for rhythm borders
5
- $default-rhythm-border-style: solid !default;
6
-
7
- // The IE font ratio is a fact of life. Deal with it.
8
- $ie-font-ratio: 16px / 100%;
9
-
10
- // The base line height is the basic unit of line hightness.
11
- $base-line-height: 24px !default;
12
-
13
- // The base font size
14
- $base-font-size: 16px !default;
15
-
16
- // The basic unit of font rhythm
17
- $base-rhythm-unit: $base-line-height / $base-font-size * 1em;
18
-
19
- // The leader is the amount of whitespace in a line.
20
- // It might be useful in your calculations
21
- $base-leader: ($base-line-height - $base-font-size) * 1em / $base-font-size;
22
-
23
- // The half-leader is the amount of whitespace above and below a line.
24
- // It might be useful in your calculations
25
- $base-half-leader: $base-leader / 2;
26
-
27
- // Establishes a font baseline for the given font-size in pixels
28
- @mixin establish-baseline($font-size: $base-font-size) {
29
- body {
30
- font-size: $font-size / $ie-font-ratio;
31
- @include adjust-leading-to(1, $font-size);
32
- }
33
- html>body {
34
- font-size: $font-size;
35
- }
36
- }
37
-
38
- // Show a background image that can be used to debug your alignments.
39
- @mixin debug-vertical-alignment {
40
- background: url(underline.png);
41
- }
42
-
43
- // Adjust a block to have a different font size and leading to maintain the rhythm.
44
- // $lines is a number that is how many times the baseline rhythm this
45
- // font size should use up. Does not have to be an integer, but it defaults
46
- // to the smallest integer that is large enough to fit the font.
47
- // Use $from_size to adjust from a non-base font-size.
48
- @mixin adjust-font-size-to($to-size, $lines: ceil($to-size / $base-line-height), $from-size: $base-font-size) {
49
- font-size: 1em * $to-size / $from-size;
50
- @include adjust-leading-to($lines, $to-size);
51
- }
52
-
53
- @mixin adjust-leading-to($lines, $font-size: $base-font-size) {
54
- line-height: 1em * $lines * $base-line-height / $font-size;
55
- }
56
-
57
- // Apply leading whitespace
58
- @mixin leader($lines: 1, $font-size: $base-font-size, $property: margin) {
59
- #{$property}-top: 1em * $lines * $base-line-height / $font-size;
60
- }
61
-
62
- @mixin padding-leader($lines: 1, $font-size: $base-font-size) {
63
- @include leader($lines, $font-size, padding);
64
- }
65
-
66
- @mixin margin-leader($lines: 1, $font-size: $base-font-size) {
67
- @include leader($lines, $font-size, margin);
68
- }
69
-
70
- // Apply trailing whitespace
71
- @mixin trailer($lines: 1, $font-size: $base-font-size, $property: margin) {
72
- #{$property}-bottom: 1em * $lines * $base-line-height / $font-size;
73
- }
74
-
75
- @mixin padding-trailer($lines: 1, $font-size: $base-font-size) {
76
- @include trailer($lines, $font-size, padding);
77
- }
78
-
79
- @mixin margin-trailer($lines: 1, $font-size: $base-font-size) {
80
- @include trailer($lines, $font-size, margin);
81
- }
82
-
83
- // Whitespace application shortcut
84
- // Apply top margin/padding + bottom padding/margin
85
- @mixin rhythm($leader: 0, $padding-leader: 0, $padding-trailer: 0, $trailer: 0, $font-size: $base-font-size) {
86
- @include leader($leader, $font-size);
87
- @include padding-leader($padding-leader, $font-size);
88
- @include padding-trailer($padding-trailer, $font-size);
89
- @include trailer($trailer, $font-size);
90
- }
91
-
92
- // Apply a border width to any side without destroying the vertical rhythm
93
- @mixin apply-side-rhythm-border($side, $width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
94
- border-#{$side}: {
95
- style: $border-style;
96
- width: 1em * $width / $font-size;
97
- };
98
- padding-#{$side}: 1em / $font-size * ($lines * $base-line-height - $width);
99
- }
100
-
101
- // Aplly rhythm borders equally to all sides
102
- @mixin rhythm-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
103
- border: {
104
- style: $border-style;
105
- width: 1em * $width / $font-size; };
106
- padding: 1em / $font-size * ($lines * $base-line-height - $width);
107
- }
108
-
109
- // Apply a leading rhythm border
110
- @mixin leading-border($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
111
- @include apply-side-rhythm-border(top, $width, $lines, $font-size, $border-style);
112
- }
113
-
114
- // Apply a trailing rhythm border
115
- @mixin trailing-border($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
116
- @include apply-side-rhythm-border(bottom, $width, $lines, $font-size, $border-style);
117
- }
118
-
119
- // Apply both leading and trailing rhythm borders
120
- @mixin horizontal-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
121
- @include leading-border($width, $lines, $font-size, $border-style);
122
- @include trailing-border($width, $lines, $font-size, $border-style);
123
- }
124
-
125
- @mixin h-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
126
- @include horizontal-borders($width, $lines, $font-size, $border-style);
127
- }
@@ -1,267 +0,0 @@
1
- //** DEFAULT STYLES **//
2
-
3
- // Based heavily on the work of:
4
- // Andy Clarke: http://forabeautifulweb.com/
5
- // Paul Irish & Divya Manian: http://html5boilerplate.com/
6
- // And many others, less directly...
7
-
8
- // Imports --------------------------------------------------------------
9
-
10
- @import "base";
11
- @import "susy/reset";
12
-
13
- /* Typography -------------------------------------------------------------- */
14
- /* The following classes are for use with @extend. */
15
-
16
- html {
17
- text-rendering: optimizeLegibility;
18
- -webkit-font-smoothing: antialiased; }
19
-
20
- .serif {
21
- @include serif-family; }
22
-
23
- .sans {
24
- @include sans-family; }
25
-
26
- .mono {
27
- @include monospace-family; }
28
-
29
- .caps {
30
- letter-spacing: 0.1em; }
31
-
32
- .allcaps {
33
- @extend .caps;
34
- text-transform: uppercase; }
35
-
36
- .smallcaps {
37
- @extend .caps;
38
- font-variant: small-caps; }
39
-
40
- /* Body -------------------------------------------------------------- */
41
-
42
- body {
43
- @extend .serif;
44
- color: $base; }
45
-
46
- /* Selected Text -------------------------------------------------------------- */
47
- /* -moz- must be declared separately */
48
-
49
- @mixin accessible-color($background: white) {
50
- @if lightness($background) >= 65% {
51
- color: $base; }
52
- @else {
53
- color: white; } }
54
-
55
- ::-moz-selection {
56
- @include accessible-color($alt);
57
- background: $alt;
58
- text-shadow: none; }
59
-
60
- ::selection {
61
- @include accessible-color($alt);
62
- background: $alt;
63
- text-shadow: none; }
64
-
65
- /* Links -------------------------------------------------------------- */
66
-
67
- a {
68
- &:link, &:visited {
69
- color: $alt; }
70
- &:link, &:visited, &:hover, &:active {
71
- outline: none; }
72
- &:focus, &:hover, &:active {
73
- color: complement($alt);
74
- text-decoration: none; }
75
- &:focus {
76
- outline: thin dotted; } }
77
-
78
- /* Headings -------------------------------------------------------------- */
79
-
80
- h2, h3, h4, h5, h6 {
81
- @include trailer; }
82
-
83
- h1 {
84
- @include adjust-font-size-to(21px);
85
- @include trailer(1, 21px); }
86
-
87
- h1, h2 {
88
- @extend .allcaps; }
89
-
90
- h3 {
91
- font-weight: bold; }
92
-
93
- h4 {
94
- @extend .smallcaps;
95
- text-transform: lowercase; }
96
-
97
- h5, h6 {
98
- font-style: italic; }
99
-
100
- /* Inline -------------------------------------------------------------- */
101
-
102
- cite, em, dfn, address, i {
103
- font-style: italic; }
104
-
105
- strong, dfn, b {
106
- font-weight: bold; }
107
-
108
- sup, sub {
109
- font-size: smaller;
110
- line-height: 0; }
111
-
112
- sup {
113
- vertical-align: super; }
114
-
115
- sub {
116
- vertical-align: sub; }
117
-
118
- abbr, acronym {
119
- border-bottom: 1px dotted;
120
- cursor: help; }
121
-
122
- ins {
123
- text-decoration: underline; }
124
-
125
- del {
126
- text-decoration: line-through; }
127
-
128
- mark {
129
- background: #ffff99;
130
- background-color: rgba(yellow, 0.5);
131
- text-shadow: none; }
132
-
133
- small {
134
- @include adjust-font-size-to(12px); }
135
-
136
- q {
137
- font-style: italic;
138
- em {
139
- font-style: normal; } }
140
-
141
- pre, code, tt {
142
- @extend .mono; }
143
-
144
- /* Block -------------------------------------------------------------- */
145
-
146
- p {
147
- @include trailer; }
148
-
149
- pre {
150
- margin: $base-rhythm-unit;
151
- white-space: pre;
152
- white-space: pre-wrap;
153
- white-space: pre-line;
154
- word-wrap: break-word; }
155
-
156
- blockquote {
157
- margin: $base-rhythm-unit;
158
- font-style: italic; }
159
-
160
- /* Replaced -------------------------------------------------------------- */
161
-
162
- img {
163
- vertical-align: text-bottom;
164
- max-width: 100%;
165
- -ms-interpolation-mode: bicubic; }
166
-
167
- /* Lists -------------------------------------------------------------- */
168
-
169
- ol, ul, dl {
170
- @include trailer;
171
- margin-left: $base-rhythm-unit; }
172
-
173
- ol {
174
- list-style: decimal; }
175
-
176
- ul {
177
- list-style: disc;
178
- li & {
179
- list-style-type: circle; } }
180
-
181
- dt {
182
- @include leader;
183
- font-style: italic; }
184
-
185
- dd {
186
- padding-left: $base-rhythm-unit; }
187
-
188
- /* Tables -------------------------------------------------------------- */
189
- /* tables still need 'cellspacing="0"' in the markup */
190
-
191
- table {
192
- @include trailer;
193
- width: 100%;
194
- border-collapse: separate;
195
- border-spacing: 0; }
196
-
197
- table, td, th {
198
- vertical-align: top; }
199
-
200
- th, thead th {
201
- font-weight: bold; }
202
-
203
- th, td, caption {
204
- padding: $base-rhythm-unit * 0.5;
205
- text-align: left;
206
- font-weight: normal; }
207
-
208
- table, th {
209
- @include trailing-border(1px, 0.5); }
210
-
211
- tfoot {
212
- @include adjust-font-size-to(14px); }
213
-
214
- caption {
215
- @extend .allcaps; }
216
-
217
- /* Forms -------------------------------------------------------------- */
218
-
219
- fieldset {
220
- @include trailer;
221
- @include rhythm-borders(1px); }
222
-
223
- legend {
224
- @include adjust-font-size-to(18px);
225
- font-weight: bold; }
226
-
227
- input[type="radio"], input[type="checkbox"] {
228
- vertical-align: baseline; }
229
-
230
- label, input[type=button], input[type=submit], button {
231
- cursor: pointer; }
232
-
233
- label {
234
- font-weight: bold; }
235
-
236
- // box-sizing helps us control the width of inputs
237
- // which are otherwise very hard to manage in the grid.
238
- .textinput {
239
- @include sans-family;
240
- @include adjust-font-size-to(14px, 1, 16px);
241
- @include rhythm-borders(1px, 0.25, 14px);
242
- @include trailer(0.5);
243
- @include box-sizing(border-box);
244
- width: 100%;
245
- margin-top: 0;
246
- border-color: $base;
247
- height: $base-line-height / 14px * 1.5em; }
248
-
249
- textarea {
250
- @extend .textinput;
251
- height: $base-line-height / 14px * 6.5em;
252
- vertical-align: text-bottom; }
253
-
254
- input {
255
- &[type=text], &[type=password], &[type=email], &[type=url], &[type=tel],
256
- &[type=date], &[type=datetime], &[type=datetime-local], &[type=month], &[type=week], &[type=time],
257
- &[type=number], &[type=range], &[type=search], &[type=color] {
258
- @extend .textinput; }
259
- // reset webkit search styles
260
- &[type=search] {
261
- -webkit-appearance: none;
262
- &::-webkit-search-decoration {
263
- display: none; } } }
264
-
265
- button {
266
- width: auto;
267
- overflow: visible; }
@@ -1,10 +0,0 @@
1
- /* Welcome to Susy. Use this file to write IE specific override styles.
2
- * Import this file using the following HTML or equivalent:
3
- * <!--[if IE]>
4
- * <link href="/stylesheets/ie.css" media="screen, projection" rel="stylesheet" type="text/css" />
5
- * <![endif]--> */
6
-
7
- // Imports --------------------------------------------------------------*/
8
-
9
- @import "base";
10
-
@@ -1,51 +0,0 @@
1
- //** PRINT STYLES **//
2
-
3
- // Based heavily on the work of:
4
- // Paul Irish & Divya Manian: http://html5boilerplate.com/
5
- // And many others, less directly...
6
-
7
- // Imports --------------------------------------------------------------
8
-
9
- @import "defaults";
10
-
11
- /* Print Defaults -------------------------------------------------------------- */
12
-
13
- nav {
14
- display: none; }
15
-
16
- * {
17
- background: transparent !important;
18
- color: #444444 !important;
19
- float: none !important;
20
- text-shadow: none !important; }
21
-
22
- body {
23
- @include serif-family;
24
- font-size: 12pt;
25
- background: white;
26
- color: black; }
27
-
28
- a {
29
- &:link, &:visited {
30
- color: #444444 !important;
31
- text-decoration: underline; }
32
- &:after {
33
- content: " (" attr(href) ") ";
34
- font-size: smaller; } }
35
-
36
- abbr:after {
37
- content: " (" attr(title) ")";
38
- font-size: smaller; }
39
-
40
- pre, blockquote, img {
41
- page-break-inside: avoid; }
42
-
43
- @page {
44
- margin: 0.5cm; }
45
-
46
- p, h2, h3 {
47
- orphans: 3;
48
- widows: 3; }
49
-
50
- h2, h3 {
51
- page-break-after: avoid; }