susy 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +0 -14
- data/VERSION +1 -1
- data/docs/changelog.rst +13 -1
- data/lib/susy.rb +3 -3
- data/sass/susy/language/_susy.scss +1 -0
- data/sass/susy/language/susy/_background.scss +8 -3
- data/sass/susy/language/susy/_box-sizing.scss +1 -1
- data/sass/susy/language/susy/_container.scss +2 -2
- data/sass/susy/language/susy/_grids.scss +25 -4
- data/sass/susy/language/susy/_gutters.scss +3 -2
- data/sass/susy/language/susy/_span.scss +17 -8
- data/sass/susy/language/susy/_validation.scss +16 -0
- data/sass/susy/math/su/_maps.scss +21 -0
- data/sass/susy/output/support/_clearfix.scss +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6564f6c6ebae00408fb763ffdb3bda6ef669b9d6
|
4
|
+
data.tar.gz: 50860d92812e7883ebde50f1fd8ddb0a0634ce2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca85a0d51eff08a9b02d7453cd916933eae56b5b6e98d160b5556765aae972be68e5c615dcee7497407c0e4f421eabbe3f0f95ab92d4103e90f96cfa5e1afec5
|
7
|
+
data.tar.gz: 8995cf7863a664cdf6f54a3fa14db746993d51b0ff83a61915d7870e95163eb9a1e86eca0136705fe74d4eb49143f3ffe4f886ce7e0983740375d765ddd9a2ce
|
data/README.md
CHANGED
@@ -24,17 +24,3 @@ Resources
|
|
24
24
|
- [Documentation](http://susydocs.oddbird.net/)
|
25
25
|
- [Sites using Susy](http://susy.oddbird.net/sites-using-susy/)
|
26
26
|
- [Twitter @SassSusy](http://twitter.com/Sasssusy/)
|
27
|
-
|
28
|
-
Contributing
|
29
|
-
------------
|
30
|
-
|
31
|
-
We love contributions,
|
32
|
-
both as ideas and pull requests.
|
33
|
-
Susy is written in pure Sass,
|
34
|
-
all contained in the `/sass/` directory.
|
35
|
-
Everything else is just packaging.
|
36
|
-
If you know Sass,
|
37
|
-
or are willing to learn,
|
38
|
-
you can contribute to Susy.
|
39
|
-
|
40
|
-
More documentation on contributing to come...
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.1
|
data/docs/changelog.rst
CHANGED
@@ -1,8 +1,20 @@
|
|
1
1
|
Changelog
|
2
2
|
=========
|
3
3
|
|
4
|
+
2.1.2 - Apr 28 2014
|
5
|
+
-------------------
|
6
|
+
|
7
|
+
- ``first`` and ``last`` keywords output ``0`` margins instead of ``null``
|
8
|
+
so they can be used to override previous span settings.
|
9
|
+
- Output ``:before`` / ``:after`` rather than ``::before`` / ``::after``
|
10
|
+
to support IE8.
|
11
|
+
- Load Susy paths in Compass if required, otherwise add it to SASS_PATH.
|
12
|
+
[`Adrien Antoine <https://github.com/Alshten>`_]
|
13
|
+
- Compass 1.0 config no longer needs to ``require 'susy'``.
|
14
|
+
Susy is registered with Compass automatically.
|
15
|
+
|
4
16
|
|
5
|
-
2.1.
|
17
|
+
2.1.1 - Mar 13 2014
|
6
18
|
-------------------
|
7
19
|
|
8
20
|
- Rename core math functions, and prepare for decomposition.
|
data/lib/susy.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
base_directory = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
2
2
|
susy_stylesheets_path = File.join(base_directory, 'sass')
|
3
3
|
susy_templates_path = File.join(base_directory, 'templates')
|
4
|
-
|
5
|
-
|
4
|
+
|
5
|
+
if (defined? Compass)
|
6
6
|
Compass::Frameworks.register('susy', :stylesheets_directory => susy_stylesheets_path, :templates_directory => susy_templates_path)
|
7
|
-
|
7
|
+
else
|
8
8
|
# compass not found, register on the Sass path via the environment.
|
9
9
|
if ENV.has_key?("SASS_PATH")
|
10
10
|
ENV["SASS_PATH"] = ENV["SASS_PATH"] + File::PATH_SEPARATOR + susy_stylesheets_path
|
@@ -59,7 +59,7 @@ $susy-overlay-grid-head-exists: false;
|
|
59
59
|
) {
|
60
60
|
@if not $susy-overlay-grid-head-exists {
|
61
61
|
@at-root head { @include overlay-head; }
|
62
|
-
@at-root head
|
62
|
+
@at-root head:before { @include overlay-trigger; }
|
63
63
|
@at-root head:hover { @include overlay-trigger-hover; }
|
64
64
|
$susy-overlay-grid-head-exists: true !global;
|
65
65
|
}
|
@@ -67,7 +67,7 @@ $susy-overlay-grid-head-exists: false;
|
|
67
67
|
head:hover ~ &,
|
68
68
|
head:hover ~ body & {
|
69
69
|
position: relative;
|
70
|
-
|
70
|
+
&:before {
|
71
71
|
@include grid-overlay-base;
|
72
72
|
@include background-grid($grid);
|
73
73
|
}
|
@@ -152,6 +152,7 @@ $susy-overlay-grid-head-exists: false;
|
|
152
152
|
$_end : 1 + $_gutters;
|
153
153
|
$_after : percentage(1/$_end);
|
154
154
|
$_stops : ();
|
155
|
+
$_size : span(1 $grid wide);
|
155
156
|
|
156
157
|
@if is-inside($grid) {
|
157
158
|
$_stops: $_color, $_light;
|
@@ -164,9 +165,13 @@ $susy-overlay-grid-head-exists: false;
|
|
164
165
|
$_stops: $_color, $_light $_after, $_trans $_after;
|
165
166
|
}
|
166
167
|
|
168
|
+
@if $_math == static {
|
169
|
+
$_size: valid-column-math($_math, $_column-width) * $_end;
|
170
|
+
}
|
171
|
+
|
167
172
|
$_output: (
|
168
173
|
image: (columns: $_stops),
|
169
|
-
size:
|
174
|
+
size: $_size,
|
170
175
|
);
|
171
176
|
|
172
177
|
@return $_output;
|
@@ -45,15 +45,15 @@
|
|
45
45
|
$layout : parse-grid($layout);
|
46
46
|
$_width : susy-get(container, $layout);
|
47
47
|
$_column-width : susy-get(column-width, $layout);
|
48
|
+
$_math : susy-get(math, $layout);
|
48
49
|
|
49
50
|
@if not $_width or $_width == auto {
|
50
|
-
@if $_column-width {
|
51
|
+
@if valid-column-math($_math, $_column-width) {
|
51
52
|
$_columns : susy-get(columns, $layout);
|
52
53
|
$_gutters : susy-get(gutters, $layout);
|
53
54
|
$_spread : if(is-split($layout), wide, narrow);
|
54
55
|
$_width : susy-sum($_columns, $_gutters, $_spread) * $_column-width;
|
55
56
|
} @else {
|
56
|
-
// if we have nothing, default to 100%
|
57
57
|
$_width: 100%;
|
58
58
|
}
|
59
59
|
}
|
@@ -1,31 +1,38 @@
|
|
1
1
|
// Grid Syntax
|
2
2
|
// ===========
|
3
3
|
|
4
|
+
|
4
5
|
// Layout
|
5
6
|
// ------
|
6
7
|
// Set a new layout using a shorthand
|
7
8
|
// - $layout: <settings>
|
9
|
+
// - $clean: boolean
|
8
10
|
@mixin layout(
|
9
|
-
$layout
|
11
|
+
$layout,
|
12
|
+
$clean: false
|
10
13
|
) {
|
11
|
-
$susy:
|
14
|
+
$susy: _get-layout($layout, $clean) !global;
|
12
15
|
}
|
13
16
|
|
17
|
+
|
14
18
|
// Use Grid
|
15
19
|
// --------
|
16
20
|
// Use an arbitrary layout for a section of code
|
17
21
|
// - $layout: <settings>
|
22
|
+
// - $clean: boolean
|
18
23
|
@mixin with-layout(
|
19
|
-
$layout
|
24
|
+
$layout,
|
25
|
+
$clean: false
|
20
26
|
) {
|
21
27
|
$old: $susy;
|
28
|
+
$susy: _get-layout($layout, $clean) !global;
|
22
29
|
|
23
|
-
@include layout($layout);
|
24
30
|
@content;
|
25
31
|
|
26
32
|
$susy: $old !global;
|
27
33
|
}
|
28
34
|
|
35
|
+
|
29
36
|
// Layout
|
30
37
|
// ------
|
31
38
|
// Return a parsed layout map based on shorthand syntax
|
@@ -35,3 +42,17 @@
|
|
35
42
|
) {
|
36
43
|
@return parse-grid($layout);
|
37
44
|
}
|
45
|
+
|
46
|
+
|
47
|
+
// Get Layout
|
48
|
+
// ----------
|
49
|
+
// Return a new layout based on current and given settings
|
50
|
+
// - $layout: <settings>
|
51
|
+
// - $clean: boolean
|
52
|
+
@function _get-layout(
|
53
|
+
$layout,
|
54
|
+
$clean: false
|
55
|
+
) {
|
56
|
+
$layout: layout($layout);
|
57
|
+
@return if($clean, $layout, _susy-deep-merge($susy, $layout));
|
58
|
+
}
|
@@ -68,8 +68,9 @@
|
|
68
68
|
|
69
69
|
@if $_gutters and ($_gutters > 0) and not $_gutter {
|
70
70
|
$_column-width: susy-get(column-width, $context);
|
71
|
-
|
72
|
-
|
71
|
+
$_math: gutter-math($context);
|
72
|
+
@if $_math == static {
|
73
|
+
$_gutter: $_gutters * valid-column-math($_math, $_column-width);
|
73
74
|
} @else {
|
74
75
|
$_columns : susy-get(columns, $context);
|
75
76
|
$_spread : if(is-split($context), wide, susy-get(spread, $context));
|
@@ -86,14 +86,21 @@
|
|
86
86
|
$margin-after: -100%;
|
87
87
|
} @else if $edge {
|
88
88
|
$is-split: is-split($span);
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
@if $edge == first or $edge == full {
|
93
|
-
$margin-before: if($is-split, $margin-before, null);
|
94
|
-
} @else if $edge == last {
|
89
|
+
$pos: susy-get(gutter-position, $span);
|
90
|
+
|
91
|
+
@if $edge == last {
|
95
92
|
$float: susy-get(last-flow, $span);
|
96
93
|
}
|
94
|
+
|
95
|
+
@if not $is-split {
|
96
|
+
@if $edge == full or ($edge == first and $pos == before) {
|
97
|
+
$margin-before: 0;
|
98
|
+
}
|
99
|
+
@if $edge == full or ($edge == last and $pos == after) {
|
100
|
+
$margin-after: 0;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
|
97
104
|
}
|
98
105
|
|
99
106
|
@return (
|
@@ -139,8 +146,10 @@
|
|
139
146
|
$spread: if(is-inside($span), $spread or wide, $spread);
|
140
147
|
$span-sum: susy($n, $location, $columns, $gutters, $spread);
|
141
148
|
|
142
|
-
|
143
|
-
|
149
|
+
$_math: susy-get(math, $span);
|
150
|
+
$_column-width: susy-get(column-width, $span);
|
151
|
+
@if $_math == static {
|
152
|
+
$width: $span-sum * valid-column-math($_math, $_column-width);
|
144
153
|
} @else {
|
145
154
|
$width: percentage($span-sum / $context);
|
146
155
|
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
// Validation
|
2
|
+
// ==========
|
3
|
+
|
4
|
+
|
5
|
+
// Validate Column Math
|
6
|
+
// --------------------
|
7
|
+
@function valid-column-math(
|
8
|
+
$math,
|
9
|
+
$column-width
|
10
|
+
) {
|
11
|
+
@if $math == static and not $column-width {
|
12
|
+
@warn 'Static math requires a valid column-width setting.';
|
13
|
+
} @else {
|
14
|
+
@return $column-width;
|
15
|
+
}
|
16
|
+
}
|
@@ -63,6 +63,27 @@
|
|
63
63
|
}
|
64
64
|
|
65
65
|
|
66
|
+
// Deep Merge
|
67
|
+
// ----------
|
68
|
+
// Return 2 objects of any depth, merged
|
69
|
+
@function _susy-deep-merge(
|
70
|
+
$map1,
|
71
|
+
$map2
|
72
|
+
) {
|
73
|
+
|
74
|
+
@if type-of($map1) != map or type-of($map2) != map {
|
75
|
+
$map1: $map2;
|
76
|
+
} @else {
|
77
|
+
@each $key, $value in $map2 {
|
78
|
+
$_new: ($key: _susy_deep-merge(map-get($map1, $key), $value));
|
79
|
+
$map1: map-merge($map1, $_new);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
@return $map1;
|
84
|
+
}
|
85
|
+
|
86
|
+
|
66
87
|
// Deep Has-Key
|
67
88
|
// ------------
|
68
89
|
// - Return true if a deep key exists
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: susy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Suzanne
|
@@ -68,6 +68,7 @@ files:
|
|
68
68
|
- sass/susy/language/susy/_rows.scss
|
69
69
|
- sass/susy/language/susy/_settings.scss
|
70
70
|
- sass/susy/language/susy/_span.scss
|
71
|
+
- sass/susy/language/susy/_validation.scss
|
71
72
|
- sass/susy/language/susyone/_background.scss
|
72
73
|
- sass/susy/language/susyone/_functions.scss
|
73
74
|
- sass/susy/language/susyone/_grid.scss
|