susy 2.1.1 → 2.1.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.
- 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
|