sparrow-jekyll-theme 0.1.1 → 0.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/LICENSE.txt +20 -20
- data/README.md +170 -178
- data/_includes/analytics.html +13 -13
- data/_includes/breadcrumbs.html +31 -31
- data/_includes/comments.html +26 -26
- data/_includes/figure +12 -12
- data/_includes/paginator.html +8 -69
- data/_includes/post-entry.html +15 -15
- data/_includes/seo.html +77 -77
- data/_includes/social-share.html +42 -42
- data/_includes/topnav.html +46 -46
- data/_layouts/default.html +46 -46
- data/_layouts/home.html +11 -11
- data/_layouts/page.html +16 -16
- data/_layouts/post.html +38 -38
- data/_sass/_base.scss +359 -359
- data/_sass/_buttons.scss +61 -61
- data/_sass/_footer.scss +53 -53
- data/_sass/_navigation.scss +216 -216
- data/_sass/_page.scss +60 -60
- data/_sass/_post.scss +85 -85
- data/_sass/_reset.scss +186 -186
- data/_sass/_rrssb.scss +276 -276
- data/_sass/_slimmenu.scss +177 -177
- data/_sass/_syntax.scss +125 -125
- data/_sass/_utilities.scss +67 -67
- data/_sass/_variables.scss +73 -73
- data/_sass/vendor/breakpoint/_breakpoint.scss +114 -114
- data/_sass/vendor/breakpoint/_context.scss +94 -94
- data/_sass/vendor/breakpoint/_helpers.scss +151 -151
- data/_sass/vendor/breakpoint/_legacy-settings.scss +49 -49
- data/_sass/vendor/breakpoint/_no-query.scss +15 -15
- data/_sass/vendor/breakpoint/_parsers.scss +215 -215
- data/_sass/vendor/breakpoint/_respond-to.scss +82 -82
- data/_sass/vendor/breakpoint/_settings.scss +70 -70
- data/_sass/vendor/breakpoint/parsers/_double.scss +33 -33
- data/_sass/vendor/breakpoint/parsers/_query.scss +82 -82
- data/_sass/vendor/breakpoint/parsers/_resolution.scss +31 -31
- data/_sass/vendor/breakpoint/parsers/_single.scss +26 -26
- data/_sass/vendor/breakpoint/parsers/_triple.scss +36 -36
- data/_sass/vendor/breakpoint/parsers/double/_default-pair.scss +21 -21
- data/_sass/vendor/breakpoint/parsers/double/_default.scss +22 -22
- data/_sass/vendor/breakpoint/parsers/double/_double-string.scss +21 -21
- data/_sass/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -60
- data/_sass/vendor/breakpoint/parsers/single/_default.scss +13 -13
- data/_sass/vendor/breakpoint/parsers/triple/_default.scss +18 -18
- data/_sass/vendor/font-awesome/_animated.scss +34 -34
- data/_sass/vendor/font-awesome/_bordered-pulled.scss +25 -25
- data/_sass/vendor/font-awesome/_core.scss +12 -12
- data/_sass/vendor/font-awesome/_fixed-width.scss +6 -6
- data/_sass/vendor/font-awesome/_font-awesome.scss +18 -18
- data/_sass/vendor/font-awesome/_icons.scss +789 -789
- data/_sass/vendor/font-awesome/_larger.scss +13 -13
- data/_sass/vendor/font-awesome/_list.scss +19 -19
- data/_sass/vendor/font-awesome/_mixins.scss +60 -60
- data/_sass/vendor/font-awesome/_path.scss +15 -15
- data/_sass/vendor/font-awesome/_rotated-flipped.scss +20 -20
- data/_sass/vendor/font-awesome/_screen-reader.scss +5 -5
- data/_sass/vendor/font-awesome/_stacked.scss +20 -20
- data/_sass/vendor/font-awesome/_variables.scss +800 -800
- data/_sass/vendor/susy/_su.scss +4 -4
- data/_sass/vendor/susy/_susy.scss +4 -4
- data/_sass/vendor/susy/_susyone.scss +4 -4
- data/_sass/vendor/susy/susy/_su.scss +7 -7
- data/_sass/vendor/susy/susy/language/_susy.scss +24 -24
- data/_sass/vendor/susy/susy/language/_susyone.scss +13 -13
- data/_sass/vendor/susy/susy/language/susy/_background.scss +385 -385
- data/_sass/vendor/susy/susy/language/susy/_bleed.scss +200 -200
- data/_sass/vendor/susy/susy/language/susy/_box-sizing.scss +47 -47
- data/_sass/vendor/susy/susy/language/susy/_breakpoint-plugin.scss +185 -185
- data/_sass/vendor/susy/susy/language/susy/_container.scss +81 -81
- data/_sass/vendor/susy/susy/language/susy/_context.scss +36 -36
- data/_sass/vendor/susy/susy/language/susy/_gallery.scss +94 -94
- data/_sass/vendor/susy/susy/language/susy/_grids.scss +64 -64
- data/_sass/vendor/susy/susy/language/susy/_gutters.scss +154 -154
- data/_sass/vendor/susy/susy/language/susy/_isolate.scss +77 -77
- data/_sass/vendor/susy/susy/language/susy/_margins.scss +94 -94
- data/_sass/vendor/susy/susy/language/susy/_padding.scss +74 -74
- data/_sass/vendor/susy/susy/language/susy/_rows.scss +138 -138
- data/_sass/vendor/susy/susy/language/susy/_settings.scss +216 -216
- data/_sass/vendor/susy/susy/language/susy/_span.scss +163 -163
- data/_sass/vendor/susy/susy/language/susy/_validation.scss +16 -16
- data/_sass/vendor/susy/susy/language/susyone/_background.scss +18 -18
- data/_sass/vendor/susy/susy/language/susyone/_functions.scss +377 -377
- data/_sass/vendor/susy/susy/language/susyone/_grid.scss +312 -312
- data/_sass/vendor/susy/susy/language/susyone/_isolation.scss +51 -51
- data/_sass/vendor/susy/susy/language/susyone/_margin.scss +93 -93
- data/_sass/vendor/susy/susy/language/susyone/_media.scss +105 -105
- data/_sass/vendor/susy/susy/language/susyone/_padding.scss +92 -92
- data/_sass/vendor/susy/susy/language/susyone/_settings.scss +60 -60
- data/_sass/vendor/susy/susy/output/_float.scss +9 -9
- data/_sass/vendor/susy/susy/output/_shared.scss +15 -15
- data/_sass/vendor/susy/susy/output/_support.scss +9 -9
- data/_sass/vendor/susy/susy/output/float/_container.scss +16 -16
- data/_sass/vendor/susy/susy/output/float/_end.scss +40 -40
- data/_sass/vendor/susy/susy/output/float/_isolate.scss +22 -22
- data/_sass/vendor/susy/susy/output/float/_span.scss +35 -35
- data/_sass/vendor/susy/susy/output/shared/_background.scss +26 -26
- data/_sass/vendor/susy/susy/output/shared/_container.scss +21 -21
- data/_sass/vendor/susy/susy/output/shared/_direction.scss +42 -42
- data/_sass/vendor/susy/susy/output/shared/_inspect.scss +25 -25
- data/_sass/vendor/susy/susy/output/shared/_margins.scss +23 -23
- data/_sass/vendor/susy/susy/output/shared/_output.scss +14 -14
- data/_sass/vendor/susy/susy/output/shared/_padding.scss +23 -23
- data/_sass/vendor/susy/susy/output/support/_background.scss +58 -58
- data/_sass/vendor/susy/susy/output/support/_box-sizing.scss +19 -19
- data/_sass/vendor/susy/susy/output/support/_clearfix.scss +18 -18
- data/_sass/vendor/susy/susy/output/support/_prefix.scss +19 -19
- data/_sass/vendor/susy/susy/output/support/_rem.scss +22 -22
- data/_sass/vendor/susy/susy/output/support/_support.scss +85 -85
- data/_sass/vendor/susy/susy/su/_grid.scss +103 -103
- data/_sass/vendor/susy/susy/su/_settings.scss +73 -73
- data/_sass/vendor/susy/susy/su/_utilities.scss +111 -111
- data/_sass/vendor/susy/susy/su/_validation.scss +57 -57
- data/assets/css/main.scss +43 -43
- data/assets/fonts/fontawesome-webfont.svg +2671 -2671
- data/assets/js/main.js +35 -35
- data/assets/js/plugins/jquery-1.12.4.min.js +4 -4
- data/assets/js/slimmenu.js +154 -154
- metadata +6 -6
@@ -1,138 +1,138 @@
|
|
1
|
-
// Row Start & End
|
2
|
-
// ===============
|
3
|
-
|
4
|
-
// Break
|
5
|
-
// -----
|
6
|
-
// Apply to any element that should force a line break.
|
7
|
-
@mixin break {
|
8
|
-
@include output((clear: both));
|
9
|
-
}
|
10
|
-
|
11
|
-
|
12
|
-
// NoBreak
|
13
|
-
// -------
|
14
|
-
// Cancel the break() effect, e.g. when using media queries.
|
15
|
-
@mixin nobreak {
|
16
|
-
@include output((clear: none));
|
17
|
-
}
|
18
|
-
|
19
|
-
|
20
|
-
// Full
|
21
|
-
// ----
|
22
|
-
// - [$context]: <layout shorthand>
|
23
|
-
@mixin full(
|
24
|
-
$context: $susy
|
25
|
-
) {
|
26
|
-
$inspect : $context;
|
27
|
-
@include susy-inspect(full, $inspect);
|
28
|
-
@include span(full of parse-grid($context) break);
|
29
|
-
}
|
30
|
-
|
31
|
-
|
32
|
-
// First
|
33
|
-
// -----
|
34
|
-
// - [$context]: <settings>
|
35
|
-
@mixin first(
|
36
|
-
$context: $susy
|
37
|
-
) {
|
38
|
-
$inspect : $context;
|
39
|
-
$context : parse-grid($context);
|
40
|
-
$flow : susy-get(flow, $context);
|
41
|
-
|
42
|
-
@include susy-inspect(first, $inspect);
|
43
|
-
@if not(is-split($context)) {
|
44
|
-
@include float-first($flow);
|
45
|
-
}
|
46
|
-
}
|
47
|
-
|
48
|
-
@mixin alpha(
|
49
|
-
$context: $susy
|
50
|
-
) {
|
51
|
-
@include first($context);
|
52
|
-
}
|
53
|
-
|
54
|
-
|
55
|
-
// Last
|
56
|
-
// ----
|
57
|
-
// - [$context]: <settings>
|
58
|
-
@mixin last(
|
59
|
-
$context: $susy
|
60
|
-
) {
|
61
|
-
$inspect : $context;
|
62
|
-
$context : parse-grid($context);
|
63
|
-
|
64
|
-
@include susy-inspect(last, $inspect);
|
65
|
-
|
66
|
-
$output: (
|
67
|
-
flow: susy-get(flow, $context),
|
68
|
-
last-flow: susy-get(last-flow, $context),
|
69
|
-
margin: if(is-split($context), null, 0),
|
70
|
-
);
|
71
|
-
|
72
|
-
@include float-last($output...);
|
73
|
-
}
|
74
|
-
|
75
|
-
@mixin omega(
|
76
|
-
$context: $susy
|
77
|
-
) {
|
78
|
-
@include last($context);
|
79
|
-
}
|
80
|
-
|
81
|
-
|
82
|
-
// Get Edge
|
83
|
-
// --------
|
84
|
-
// Calculate edge value based on location, if possible
|
85
|
-
@function get-edge(
|
86
|
-
$span
|
87
|
-
) {
|
88
|
-
$span : parse-span($span);
|
89
|
-
$edge : susy-get(edge, $span);
|
90
|
-
|
91
|
-
@if not($edge) {
|
92
|
-
$count: susy-count(susy-get(columns, $span));
|
93
|
-
$location: susy-get(location, $span);
|
94
|
-
$n: susy-get(span, $span);
|
95
|
-
|
96
|
-
$number: if(type-of($location) == number, true, false);
|
97
|
-
$index: if($number and unitless($location), true, false);
|
98
|
-
|
99
|
-
@if $n == $count {
|
100
|
-
$edge: full;
|
101
|
-
} @else if $location and $n and $index {
|
102
|
-
@if $location == 1 {
|
103
|
-
$edge: if($n == $count, full, first);
|
104
|
-
} @else if $location + $n - 1 == $count {
|
105
|
-
$edge: last;
|
106
|
-
}
|
107
|
-
}
|
108
|
-
}
|
109
|
-
|
110
|
-
@if $edge == alpha or $edge == omega {
|
111
|
-
$edge: if($edge == alpha, first, last);
|
112
|
-
}
|
113
|
-
|
114
|
-
@return $edge;
|
115
|
-
}
|
116
|
-
|
117
|
-
|
118
|
-
// Get Location
|
119
|
-
// ------------
|
120
|
-
// Calculate location value based on edge, if possible
|
121
|
-
@function get-location(
|
122
|
-
$span
|
123
|
-
) {
|
124
|
-
$span : parse-span($span);
|
125
|
-
$location : susy-get(location, $span);
|
126
|
-
$edge : get-edge($span);
|
127
|
-
$n : susy-get(span, $span);
|
128
|
-
|
129
|
-
@if $edge and not($location) and type-of($n) == number and unitless($n) {
|
130
|
-
@if $edge == first {
|
131
|
-
$location: 1;
|
132
|
-
} @else if $edge == last {
|
133
|
-
$location: susy-count(susy-get(columns, $span)) - $n + 1;
|
134
|
-
}
|
135
|
-
}
|
136
|
-
|
137
|
-
@return $location
|
138
|
-
}
|
1
|
+
// Row Start & End
|
2
|
+
// ===============
|
3
|
+
|
4
|
+
// Break
|
5
|
+
// -----
|
6
|
+
// Apply to any element that should force a line break.
|
7
|
+
@mixin break {
|
8
|
+
@include output((clear: both));
|
9
|
+
}
|
10
|
+
|
11
|
+
|
12
|
+
// NoBreak
|
13
|
+
// -------
|
14
|
+
// Cancel the break() effect, e.g. when using media queries.
|
15
|
+
@mixin nobreak {
|
16
|
+
@include output((clear: none));
|
17
|
+
}
|
18
|
+
|
19
|
+
|
20
|
+
// Full
|
21
|
+
// ----
|
22
|
+
// - [$context]: <layout shorthand>
|
23
|
+
@mixin full(
|
24
|
+
$context: $susy
|
25
|
+
) {
|
26
|
+
$inspect : $context;
|
27
|
+
@include susy-inspect(full, $inspect);
|
28
|
+
@include span(full of parse-grid($context) break);
|
29
|
+
}
|
30
|
+
|
31
|
+
|
32
|
+
// First
|
33
|
+
// -----
|
34
|
+
// - [$context]: <settings>
|
35
|
+
@mixin first(
|
36
|
+
$context: $susy
|
37
|
+
) {
|
38
|
+
$inspect : $context;
|
39
|
+
$context : parse-grid($context);
|
40
|
+
$flow : susy-get(flow, $context);
|
41
|
+
|
42
|
+
@include susy-inspect(first, $inspect);
|
43
|
+
@if not(is-split($context)) {
|
44
|
+
@include float-first($flow);
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
@mixin alpha(
|
49
|
+
$context: $susy
|
50
|
+
) {
|
51
|
+
@include first($context);
|
52
|
+
}
|
53
|
+
|
54
|
+
|
55
|
+
// Last
|
56
|
+
// ----
|
57
|
+
// - [$context]: <settings>
|
58
|
+
@mixin last(
|
59
|
+
$context: $susy
|
60
|
+
) {
|
61
|
+
$inspect : $context;
|
62
|
+
$context : parse-grid($context);
|
63
|
+
|
64
|
+
@include susy-inspect(last, $inspect);
|
65
|
+
|
66
|
+
$output: (
|
67
|
+
flow: susy-get(flow, $context),
|
68
|
+
last-flow: susy-get(last-flow, $context),
|
69
|
+
margin: if(is-split($context), null, 0),
|
70
|
+
);
|
71
|
+
|
72
|
+
@include float-last($output...);
|
73
|
+
}
|
74
|
+
|
75
|
+
@mixin omega(
|
76
|
+
$context: $susy
|
77
|
+
) {
|
78
|
+
@include last($context);
|
79
|
+
}
|
80
|
+
|
81
|
+
|
82
|
+
// Get Edge
|
83
|
+
// --------
|
84
|
+
// Calculate edge value based on location, if possible
|
85
|
+
@function get-edge(
|
86
|
+
$span
|
87
|
+
) {
|
88
|
+
$span : parse-span($span);
|
89
|
+
$edge : susy-get(edge, $span);
|
90
|
+
|
91
|
+
@if not($edge) {
|
92
|
+
$count: susy-count(susy-get(columns, $span));
|
93
|
+
$location: susy-get(location, $span);
|
94
|
+
$n: susy-get(span, $span);
|
95
|
+
|
96
|
+
$number: if(type-of($location) == number, true, false);
|
97
|
+
$index: if($number and unitless($location), true, false);
|
98
|
+
|
99
|
+
@if $n == $count {
|
100
|
+
$edge: full;
|
101
|
+
} @else if $location and $n and $index {
|
102
|
+
@if $location == 1 {
|
103
|
+
$edge: if($n == $count, full, first);
|
104
|
+
} @else if $location + $n - 1 == $count {
|
105
|
+
$edge: last;
|
106
|
+
}
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
@if $edge == alpha or $edge == omega {
|
111
|
+
$edge: if($edge == alpha, first, last);
|
112
|
+
}
|
113
|
+
|
114
|
+
@return $edge;
|
115
|
+
}
|
116
|
+
|
117
|
+
|
118
|
+
// Get Location
|
119
|
+
// ------------
|
120
|
+
// Calculate location value based on edge, if possible
|
121
|
+
@function get-location(
|
122
|
+
$span
|
123
|
+
) {
|
124
|
+
$span : parse-span($span);
|
125
|
+
$location : susy-get(location, $span);
|
126
|
+
$edge : get-edge($span);
|
127
|
+
$n : susy-get(span, $span);
|
128
|
+
|
129
|
+
@if $edge and not($location) and type-of($n) == number and unitless($n) {
|
130
|
+
@if $edge == first {
|
131
|
+
$location: 1;
|
132
|
+
} @else if $edge == last {
|
133
|
+
$location: susy-count(susy-get(columns, $span)) - $n + 1;
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
@return $location
|
138
|
+
}
|
@@ -1,216 +1,216 @@
|
|
1
|
-
// Susy Settings
|
2
|
-
// =============
|
3
|
-
|
4
|
-
// Susy Language Defaults
|
5
|
-
// ----------------------
|
6
|
-
// - PRIVATE
|
7
|
-
@include susy-defaults((
|
8
|
-
container: auto,
|
9
|
-
math: fluid,
|
10
|
-
output: float,
|
11
|
-
container-position: center,
|
12
|
-
gutter-position: after,
|
13
|
-
global-box-sizing: content-box,
|
14
|
-
debug: (
|
15
|
-
image: hide,
|
16
|
-
color: rgba(#66f, .25),
|
17
|
-
output: background,
|
18
|
-
toggle: top right,
|
19
|
-
),
|
20
|
-
));
|
21
|
-
|
22
|
-
|
23
|
-
// Valid Keyword Values
|
24
|
-
// --------------------
|
25
|
-
// - PRIVATE: DONT'T TOUCH
|
26
|
-
$susy-keywords: (
|
27
|
-
container: auto,
|
28
|
-
math: static fluid,
|
29
|
-
output: isolate float,
|
30
|
-
container-position: left center right,
|
31
|
-
flow: ltr rtl,
|
32
|
-
gutter-position: before after split inside inside-static,
|
33
|
-
box-sizing: border-box content-box,
|
34
|
-
span: full,
|
35
|
-
edge: first alpha last omega full,
|
36
|
-
spread: narrow wide wider,
|
37
|
-
gutter-override: no-gutters no-gutter,
|
38
|
-
role: nest,
|
39
|
-
clear: break nobreak,
|
40
|
-
debug image: show hide show-columns show-baseline,
|
41
|
-
debug output: background overlay,
|
42
|
-
);
|
43
|
-
|
44
|
-
|
45
|
-
// Parse Susy Keywords and Maps
|
46
|
-
// ----------------------------
|
47
|
-
@function parse-settings(
|
48
|
-
$short: $susy
|
49
|
-
) {
|
50
|
-
$_return: ();
|
51
|
-
|
52
|
-
@if type-of($short) == map {
|
53
|
-
$_return: $short;
|
54
|
-
} @else {
|
55
|
-
@each $item in $short {
|
56
|
-
// strings
|
57
|
-
@if type-of($item) == string {
|
58
|
-
@each $key, $value in $susy-keywords {
|
59
|
-
@if index($value, $item) {
|
60
|
-
$_key-value: append($key, $item);
|
61
|
-
$_return: _susy-deep-set($_return, $_key-value...);
|
62
|
-
}
|
63
|
-
}
|
64
|
-
// maps
|
65
|
-
} @else if type-of($item) == map {
|
66
|
-
$_return: map-merge($_return, $item);
|
67
|
-
}
|
68
|
-
}
|
69
|
-
}
|
70
|
-
|
71
|
-
@return $_return;
|
72
|
-
}
|
73
|
-
|
74
|
-
|
75
|
-
// Parse Columns & Gutters
|
76
|
-
// -----------------------
|
77
|
-
@function parse-layout(
|
78
|
-
$short
|
79
|
-
) {
|
80
|
-
$_return: ();
|
81
|
-
$_columns: ();
|
82
|
-
$_gutters: null;
|
83
|
-
|
84
|
-
@if not(unitless(nth(nth($short, 1), 1))) {
|
85
|
-
$_gutters: nth($short, 1);
|
86
|
-
} @else {
|
87
|
-
$_columns: (columns: nth($short, 1));
|
88
|
-
$_gutters: if(length($short) > 1, nth($short, 2), $_gutters);
|
89
|
-
}
|
90
|
-
|
91
|
-
@if type-of($_gutters) == list and length($_gutters) > 0 {
|
92
|
-
$_gutters: (
|
93
|
-
gutters: nth($_gutters, 2) / nth($_gutters, 1),
|
94
|
-
column-width: nth($_gutters, 1),
|
95
|
-
);
|
96
|
-
} @else {
|
97
|
-
$_gutters: if($_gutters, (gutters: $_gutters), ());
|
98
|
-
}
|
99
|
-
|
100
|
-
$_return: map-merge($_return, $_columns);
|
101
|
-
$_return: map-merge($_return, $_gutters);
|
102
|
-
|
103
|
-
@return $_return;
|
104
|
-
}
|
105
|
-
|
106
|
-
|
107
|
-
// Parse Grid/Context
|
108
|
-
// ------------------
|
109
|
-
@function parse-grid(
|
110
|
-
$short: $susy
|
111
|
-
) {
|
112
|
-
$_return: parse-settings($short);
|
113
|
-
$_layout: ();
|
114
|
-
|
115
|
-
@if type-of($short) == map {
|
116
|
-
$_return: $short;
|
117
|
-
} @else {
|
118
|
-
@each $item in $short {
|
119
|
-
// number or list
|
120
|
-
@if type-of($item) == number or type-of($item) == list {
|
121
|
-
@if type-of($item) == list or unitless($item) {
|
122
|
-
$_layout: append($_layout, $item);
|
123
|
-
} @else {
|
124
|
-
$_return: map-merge($_return, (container: $item));
|
125
|
-
}
|
126
|
-
}
|
127
|
-
}
|
128
|
-
|
129
|
-
$_layout: if(length($_layout) > 0, parse-layout($_layout), $_layout);
|
130
|
-
}
|
131
|
-
|
132
|
-
@return map-merge($_return, $_layout);
|
133
|
-
}
|
134
|
-
|
135
|
-
|
136
|
-
// Parse Span
|
137
|
-
// ----------
|
138
|
-
@function parse-span(
|
139
|
-
$short,
|
140
|
-
$key: span
|
141
|
-
) {
|
142
|
-
$_return: ();
|
143
|
-
|
144
|
-
@if type-of($short) == map {
|
145
|
-
$_return: $short;
|
146
|
-
} @else {
|
147
|
-
$_at: index($short, at);
|
148
|
-
|
149
|
-
@if $_at {
|
150
|
-
$_loci: $_at + 1;
|
151
|
-
$_location: nth($short, $_loci);
|
152
|
-
$_return: map-merge($_return, (location: $_location));
|
153
|
-
$short: set-nth($short, $_at, null);
|
154
|
-
$short: set-nth($short, $_loci, null);
|
155
|
-
}
|
156
|
-
|
157
|
-
$_i: 1;
|
158
|
-
$_span: ();
|
159
|
-
|
160
|
-
@while $_i <= length($short) {
|
161
|
-
$_this: nth($short, $_i);
|
162
|
-
|
163
|
-
@if type-of($_this) == number {
|
164
|
-
$_span: append($_span, $_this);
|
165
|
-
$short: set-nth($short, $_i, null);
|
166
|
-
} @else if $_this == of {
|
167
|
-
$short: set-nth($short, $_i, null);
|
168
|
-
$_i: length($short) + 1;
|
169
|
-
}
|
170
|
-
|
171
|
-
$_i: $_i + 1;
|
172
|
-
}
|
173
|
-
|
174
|
-
@if length($_span) > 0 {
|
175
|
-
$_span: if(length($_span) == 1, nth($_span, 1), $_span);
|
176
|
-
$_return: map-merge($_return, ($key: $_span));
|
177
|
-
}
|
178
|
-
|
179
|
-
$_return: map-merge($_return, parse-grid($short));
|
180
|
-
}
|
181
|
-
|
182
|
-
@return $_return;
|
183
|
-
}
|
184
|
-
|
185
|
-
|
186
|
-
// Parse Gutters
|
187
|
-
// -------------
|
188
|
-
@function parse-gutters(
|
189
|
-
$short: $susy
|
190
|
-
) {
|
191
|
-
$_gutters: parse-span($short, gutter-override);
|
192
|
-
$_span: susy-get(gutter-override, $_gutters);
|
193
|
-
|
194
|
-
@if $_span and not(map-get($_gutters, columns)) {
|
195
|
-
$_context: ();
|
196
|
-
$_new: ();
|
197
|
-
|
198
|
-
@each $item in $_span {
|
199
|
-
@if type-of($item) == number and unitless($item) {
|
200
|
-
$_context: append($_context, $item);
|
201
|
-
} @else {
|
202
|
-
$_new: append($_new, $item);
|
203
|
-
}
|
204
|
-
}
|
205
|
-
|
206
|
-
$_context: parse-grid($_context);
|
207
|
-
$_new: if(length($_new) == 0, null, $_new);
|
208
|
-
$_new: if(length($_new) == 1, nth($_new, 1), $_new);
|
209
|
-
$_new: (gutter-override: if($_new != $_span, $_new, $_span));
|
210
|
-
|
211
|
-
$_gutters: map-merge($_gutters, $_new);
|
212
|
-
$_gutters: map-merge($_gutters, $_context);
|
213
|
-
}
|
214
|
-
|
215
|
-
@return $_gutters;
|
216
|
-
}
|
1
|
+
// Susy Settings
|
2
|
+
// =============
|
3
|
+
|
4
|
+
// Susy Language Defaults
|
5
|
+
// ----------------------
|
6
|
+
// - PRIVATE
|
7
|
+
@include susy-defaults((
|
8
|
+
container: auto,
|
9
|
+
math: fluid,
|
10
|
+
output: float,
|
11
|
+
container-position: center,
|
12
|
+
gutter-position: after,
|
13
|
+
global-box-sizing: content-box,
|
14
|
+
debug: (
|
15
|
+
image: hide,
|
16
|
+
color: rgba(#66f, .25),
|
17
|
+
output: background,
|
18
|
+
toggle: top right,
|
19
|
+
),
|
20
|
+
));
|
21
|
+
|
22
|
+
|
23
|
+
// Valid Keyword Values
|
24
|
+
// --------------------
|
25
|
+
// - PRIVATE: DONT'T TOUCH
|
26
|
+
$susy-keywords: (
|
27
|
+
container: auto,
|
28
|
+
math: static fluid,
|
29
|
+
output: isolate float,
|
30
|
+
container-position: left center right,
|
31
|
+
flow: ltr rtl,
|
32
|
+
gutter-position: before after split inside inside-static,
|
33
|
+
box-sizing: border-box content-box,
|
34
|
+
span: full,
|
35
|
+
edge: first alpha last omega full,
|
36
|
+
spread: narrow wide wider,
|
37
|
+
gutter-override: no-gutters no-gutter,
|
38
|
+
role: nest,
|
39
|
+
clear: break nobreak,
|
40
|
+
debug image: show hide show-columns show-baseline,
|
41
|
+
debug output: background overlay,
|
42
|
+
);
|
43
|
+
|
44
|
+
|
45
|
+
// Parse Susy Keywords and Maps
|
46
|
+
// ----------------------------
|
47
|
+
@function parse-settings(
|
48
|
+
$short: $susy
|
49
|
+
) {
|
50
|
+
$_return: ();
|
51
|
+
|
52
|
+
@if type-of($short) == map {
|
53
|
+
$_return: $short;
|
54
|
+
} @else {
|
55
|
+
@each $item in $short {
|
56
|
+
// strings
|
57
|
+
@if type-of($item) == string {
|
58
|
+
@each $key, $value in $susy-keywords {
|
59
|
+
@if index($value, $item) {
|
60
|
+
$_key-value: append($key, $item);
|
61
|
+
$_return: _susy-deep-set($_return, $_key-value...);
|
62
|
+
}
|
63
|
+
}
|
64
|
+
// maps
|
65
|
+
} @else if type-of($item) == map {
|
66
|
+
$_return: map-merge($_return, $item);
|
67
|
+
}
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
@return $_return;
|
72
|
+
}
|
73
|
+
|
74
|
+
|
75
|
+
// Parse Columns & Gutters
|
76
|
+
// -----------------------
|
77
|
+
@function parse-layout(
|
78
|
+
$short
|
79
|
+
) {
|
80
|
+
$_return: ();
|
81
|
+
$_columns: ();
|
82
|
+
$_gutters: null;
|
83
|
+
|
84
|
+
@if not(unitless(nth(nth($short, 1), 1))) {
|
85
|
+
$_gutters: nth($short, 1);
|
86
|
+
} @else {
|
87
|
+
$_columns: (columns: nth($short, 1));
|
88
|
+
$_gutters: if(length($short) > 1, nth($short, 2), $_gutters);
|
89
|
+
}
|
90
|
+
|
91
|
+
@if type-of($_gutters) == list and length($_gutters) > 0 {
|
92
|
+
$_gutters: (
|
93
|
+
gutters: nth($_gutters, 2) / nth($_gutters, 1),
|
94
|
+
column-width: nth($_gutters, 1),
|
95
|
+
);
|
96
|
+
} @else {
|
97
|
+
$_gutters: if($_gutters, (gutters: $_gutters), ());
|
98
|
+
}
|
99
|
+
|
100
|
+
$_return: map-merge($_return, $_columns);
|
101
|
+
$_return: map-merge($_return, $_gutters);
|
102
|
+
|
103
|
+
@return $_return;
|
104
|
+
}
|
105
|
+
|
106
|
+
|
107
|
+
// Parse Grid/Context
|
108
|
+
// ------------------
|
109
|
+
@function parse-grid(
|
110
|
+
$short: $susy
|
111
|
+
) {
|
112
|
+
$_return: parse-settings($short);
|
113
|
+
$_layout: ();
|
114
|
+
|
115
|
+
@if type-of($short) == map {
|
116
|
+
$_return: $short;
|
117
|
+
} @else {
|
118
|
+
@each $item in $short {
|
119
|
+
// number or list
|
120
|
+
@if type-of($item) == number or type-of($item) == list {
|
121
|
+
@if type-of($item) == list or unitless($item) {
|
122
|
+
$_layout: append($_layout, $item);
|
123
|
+
} @else {
|
124
|
+
$_return: map-merge($_return, (container: $item));
|
125
|
+
}
|
126
|
+
}
|
127
|
+
}
|
128
|
+
|
129
|
+
$_layout: if(length($_layout) > 0, parse-layout($_layout), $_layout);
|
130
|
+
}
|
131
|
+
|
132
|
+
@return map-merge($_return, $_layout);
|
133
|
+
}
|
134
|
+
|
135
|
+
|
136
|
+
// Parse Span
|
137
|
+
// ----------
|
138
|
+
@function parse-span(
|
139
|
+
$short,
|
140
|
+
$key: span
|
141
|
+
) {
|
142
|
+
$_return: ();
|
143
|
+
|
144
|
+
@if type-of($short) == map {
|
145
|
+
$_return: $short;
|
146
|
+
} @else {
|
147
|
+
$_at: index($short, at);
|
148
|
+
|
149
|
+
@if $_at {
|
150
|
+
$_loci: $_at + 1;
|
151
|
+
$_location: nth($short, $_loci);
|
152
|
+
$_return: map-merge($_return, (location: $_location));
|
153
|
+
$short: set-nth($short, $_at, null);
|
154
|
+
$short: set-nth($short, $_loci, null);
|
155
|
+
}
|
156
|
+
|
157
|
+
$_i: 1;
|
158
|
+
$_span: ();
|
159
|
+
|
160
|
+
@while $_i <= length($short) {
|
161
|
+
$_this: nth($short, $_i);
|
162
|
+
|
163
|
+
@if type-of($_this) == number {
|
164
|
+
$_span: append($_span, $_this);
|
165
|
+
$short: set-nth($short, $_i, null);
|
166
|
+
} @else if $_this == of {
|
167
|
+
$short: set-nth($short, $_i, null);
|
168
|
+
$_i: length($short) + 1;
|
169
|
+
}
|
170
|
+
|
171
|
+
$_i: $_i + 1;
|
172
|
+
}
|
173
|
+
|
174
|
+
@if length($_span) > 0 {
|
175
|
+
$_span: if(length($_span) == 1, nth($_span, 1), $_span);
|
176
|
+
$_return: map-merge($_return, ($key: $_span));
|
177
|
+
}
|
178
|
+
|
179
|
+
$_return: map-merge($_return, parse-grid($short));
|
180
|
+
}
|
181
|
+
|
182
|
+
@return $_return;
|
183
|
+
}
|
184
|
+
|
185
|
+
|
186
|
+
// Parse Gutters
|
187
|
+
// -------------
|
188
|
+
@function parse-gutters(
|
189
|
+
$short: $susy
|
190
|
+
) {
|
191
|
+
$_gutters: parse-span($short, gutter-override);
|
192
|
+
$_span: susy-get(gutter-override, $_gutters);
|
193
|
+
|
194
|
+
@if $_span and not(map-get($_gutters, columns)) {
|
195
|
+
$_context: ();
|
196
|
+
$_new: ();
|
197
|
+
|
198
|
+
@each $item in $_span {
|
199
|
+
@if type-of($item) == number and unitless($item) {
|
200
|
+
$_context: append($_context, $item);
|
201
|
+
} @else {
|
202
|
+
$_new: append($_new, $item);
|
203
|
+
}
|
204
|
+
}
|
205
|
+
|
206
|
+
$_context: parse-grid($_context);
|
207
|
+
$_new: if(length($_new) == 0, null, $_new);
|
208
|
+
$_new: if(length($_new) == 1, nth($_new, 1), $_new);
|
209
|
+
$_new: (gutter-override: if($_new != $_span, $_new, $_span));
|
210
|
+
|
211
|
+
$_gutters: map-merge($_gutters, $_new);
|
212
|
+
$_gutters: map-merge($_gutters, $_context);
|
213
|
+
}
|
214
|
+
|
215
|
+
@return $_gutters;
|
216
|
+
}
|