minimal-mistakes-jekyll 4.1.1 → 4.2.0

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.
Files changed (168) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/LICENSE.txt +20 -20
  4. data/README.md +1 -2
  5. data/_includes/analytics-providers/custom.html +2 -2
  6. data/_includes/analytics-providers/google-universal.html +8 -8
  7. data/_includes/analytics-providers/google.html +10 -10
  8. data/_includes/analytics.html +11 -11
  9. data/_includes/archive-single.html +37 -37
  10. data/_includes/author-profile-custom-links.html +6 -6
  11. data/_includes/author-profile.html +241 -241
  12. data/_includes/base_path +4 -4
  13. data/_includes/breadcrumbs.html +38 -38
  14. data/_includes/browser-upgrade.html +2 -2
  15. data/_includes/category-list.html +25 -25
  16. data/_includes/comment.html +21 -21
  17. data/_includes/comments-providers/custom.html +2 -2
  18. data/_includes/comments-providers/discourse.html +13 -13
  19. data/_includes/comments-providers/disqus.html +21 -21
  20. data/_includes/comments-providers/facebook.html +7 -7
  21. data/_includes/comments-providers/google-plus.html +1 -1
  22. data/_includes/comments-providers/scripts.html +17 -17
  23. data/_includes/comments-providers/staticman.html +41 -41
  24. data/_includes/comments.html +79 -79
  25. data/_includes/feature_row +49 -49
  26. data/_includes/figure +12 -12
  27. data/_includes/footer.html +21 -21
  28. data/_includes/footer/custom.html +2 -2
  29. data/_includes/gallery +46 -46
  30. data/_includes/group-by-array +46 -46
  31. data/_includes/head.html +18 -18
  32. data/_includes/head/custom.html +4 -4
  33. data/_includes/masthead.html +20 -20
  34. data/_includes/nav_list +46 -46
  35. data/_includes/page__hero.html +52 -52
  36. data/_includes/page__hero_video.html +4 -0
  37. data/_includes/page__taxonomy.html +6 -6
  38. data/_includes/paginator.html +67 -67
  39. data/_includes/post_pagination.html +13 -13
  40. data/_includes/read-time.html +14 -14
  41. data/_includes/scripts.html +4 -4
  42. data/_includes/seo.html +145 -145
  43. data/_includes/sidebar.html +22 -22
  44. data/_includes/social-share.html +13 -13
  45. data/_includes/tag-list.html +25 -25
  46. data/_includes/toc +6 -6
  47. data/_includes/video +11 -0
  48. data/_layouts/archive-taxonomy.html +14 -14
  49. data/_layouts/archive.html +2 -0
  50. data/_layouts/compress.html +10 -10
  51. data/_layouts/default.html +28 -28
  52. data/_layouts/home.html +11 -11
  53. data/_layouts/single.html +76 -74
  54. data/_layouts/splash.html +2 -0
  55. data/_sass/_archive.scss +237 -237
  56. data/_sass/_footer.scss +79 -79
  57. data/_sass/_forms.scss +390 -390
  58. data/_sass/_masthead.scss +52 -52
  59. data/_sass/_mixins.scss +52 -52
  60. data/_sass/_navigation.scss +543 -543
  61. data/_sass/_notices.scss +98 -98
  62. data/_sass/_page.scss +400 -400
  63. data/_sass/_print.scss +17 -17
  64. data/_sass/_reset.scss +186 -186
  65. data/_sass/_sidebar.scss +230 -230
  66. data/_sass/_syntax.scss +145 -145
  67. data/_sass/_tables.scss +37 -37
  68. data/_sass/_utilities.scss +37 -1
  69. data/_sass/_variables.scss +127 -127
  70. data/_sass/vendor/breakpoint/_breakpoint.scss +114 -114
  71. data/_sass/vendor/breakpoint/_context.scss +94 -94
  72. data/_sass/vendor/breakpoint/_helpers.scss +151 -151
  73. data/_sass/vendor/breakpoint/_legacy-settings.scss +49 -49
  74. data/_sass/vendor/breakpoint/_no-query.scss +15 -15
  75. data/_sass/vendor/breakpoint/_parsers.scss +215 -215
  76. data/_sass/vendor/breakpoint/_respond-to.scss +82 -82
  77. data/_sass/vendor/breakpoint/_settings.scss +70 -70
  78. data/_sass/vendor/breakpoint/parsers/_double.scss +33 -33
  79. data/_sass/vendor/breakpoint/parsers/_query.scss +82 -82
  80. data/_sass/vendor/breakpoint/parsers/_resolution.scss +31 -31
  81. data/_sass/vendor/breakpoint/parsers/_single.scss +26 -26
  82. data/_sass/vendor/breakpoint/parsers/_triple.scss +36 -36
  83. data/_sass/vendor/breakpoint/parsers/double/_default-pair.scss +21 -21
  84. data/_sass/vendor/breakpoint/parsers/double/_default.scss +22 -22
  85. data/_sass/vendor/breakpoint/parsers/double/_double-string.scss +21 -21
  86. data/_sass/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -60
  87. data/_sass/vendor/breakpoint/parsers/single/_default.scss +13 -13
  88. data/_sass/vendor/breakpoint/parsers/triple/_default.scss +18 -18
  89. data/_sass/vendor/font-awesome/_animated.scss +34 -34
  90. data/_sass/vendor/font-awesome/_bordered-pulled.scss +25 -25
  91. data/_sass/vendor/font-awesome/_core.scss +12 -12
  92. data/_sass/vendor/font-awesome/_fixed-width.scss +6 -6
  93. data/_sass/vendor/font-awesome/_font-awesome.scss +18 -18
  94. data/_sass/vendor/font-awesome/_icons.scss +789 -789
  95. data/_sass/vendor/font-awesome/_larger.scss +13 -13
  96. data/_sass/vendor/font-awesome/_list.scss +19 -19
  97. data/_sass/vendor/font-awesome/_mixins.scss +60 -60
  98. data/_sass/vendor/font-awesome/_path.scss +15 -15
  99. data/_sass/vendor/font-awesome/_rotated-flipped.scss +20 -20
  100. data/_sass/vendor/font-awesome/_screen-reader.scss +5 -5
  101. data/_sass/vendor/font-awesome/_stacked.scss +20 -20
  102. data/_sass/vendor/font-awesome/_variables.scss +800 -800
  103. data/_sass/vendor/magnific-popup/_settings.scss +45 -45
  104. data/_sass/vendor/susy/_su.scss +4 -4
  105. data/_sass/vendor/susy/_susy.scss +4 -4
  106. data/_sass/vendor/susy/_susyone.scss +4 -4
  107. data/_sass/vendor/susy/susy/_su.scss +7 -7
  108. data/_sass/vendor/susy/susy/language/_susy.scss +24 -24
  109. data/_sass/vendor/susy/susy/language/_susyone.scss +13 -13
  110. data/_sass/vendor/susy/susy/language/susy/_background.scss +385 -385
  111. data/_sass/vendor/susy/susy/language/susy/_bleed.scss +200 -200
  112. data/_sass/vendor/susy/susy/language/susy/_box-sizing.scss +47 -47
  113. data/_sass/vendor/susy/susy/language/susy/_breakpoint-plugin.scss +185 -185
  114. data/_sass/vendor/susy/susy/language/susy/_container.scss +81 -81
  115. data/_sass/vendor/susy/susy/language/susy/_context.scss +36 -36
  116. data/_sass/vendor/susy/susy/language/susy/_gallery.scss +94 -94
  117. data/_sass/vendor/susy/susy/language/susy/_grids.scss +64 -64
  118. data/_sass/vendor/susy/susy/language/susy/_gutters.scss +154 -154
  119. data/_sass/vendor/susy/susy/language/susy/_isolate.scss +77 -77
  120. data/_sass/vendor/susy/susy/language/susy/_margins.scss +94 -94
  121. data/_sass/vendor/susy/susy/language/susy/_padding.scss +74 -74
  122. data/_sass/vendor/susy/susy/language/susy/_rows.scss +138 -138
  123. data/_sass/vendor/susy/susy/language/susy/_settings.scss +216 -216
  124. data/_sass/vendor/susy/susy/language/susy/_span.scss +163 -163
  125. data/_sass/vendor/susy/susy/language/susy/_validation.scss +16 -16
  126. data/_sass/vendor/susy/susy/language/susyone/_background.scss +18 -18
  127. data/_sass/vendor/susy/susy/language/susyone/_functions.scss +377 -377
  128. data/_sass/vendor/susy/susy/language/susyone/_grid.scss +312 -312
  129. data/_sass/vendor/susy/susy/language/susyone/_isolation.scss +51 -51
  130. data/_sass/vendor/susy/susy/language/susyone/_margin.scss +93 -93
  131. data/_sass/vendor/susy/susy/language/susyone/_media.scss +105 -105
  132. data/_sass/vendor/susy/susy/language/susyone/_padding.scss +92 -92
  133. data/_sass/vendor/susy/susy/language/susyone/_settings.scss +60 -60
  134. data/_sass/vendor/susy/susy/output/_float.scss +9 -9
  135. data/_sass/vendor/susy/susy/output/_shared.scss +15 -15
  136. data/_sass/vendor/susy/susy/output/_support.scss +9 -9
  137. data/_sass/vendor/susy/susy/output/float/_container.scss +16 -16
  138. data/_sass/vendor/susy/susy/output/float/_end.scss +40 -40
  139. data/_sass/vendor/susy/susy/output/float/_isolate.scss +22 -22
  140. data/_sass/vendor/susy/susy/output/float/_span.scss +35 -35
  141. data/_sass/vendor/susy/susy/output/shared/_background.scss +26 -26
  142. data/_sass/vendor/susy/susy/output/shared/_container.scss +21 -21
  143. data/_sass/vendor/susy/susy/output/shared/_direction.scss +42 -42
  144. data/_sass/vendor/susy/susy/output/shared/_inspect.scss +25 -25
  145. data/_sass/vendor/susy/susy/output/shared/_margins.scss +23 -23
  146. data/_sass/vendor/susy/susy/output/shared/_output.scss +14 -14
  147. data/_sass/vendor/susy/susy/output/shared/_padding.scss +23 -23
  148. data/_sass/vendor/susy/susy/output/support/_background.scss +58 -58
  149. data/_sass/vendor/susy/susy/output/support/_box-sizing.scss +19 -19
  150. data/_sass/vendor/susy/susy/output/support/_clearfix.scss +18 -18
  151. data/_sass/vendor/susy/susy/output/support/_prefix.scss +19 -19
  152. data/_sass/vendor/susy/susy/output/support/_rem.scss +22 -22
  153. data/_sass/vendor/susy/susy/output/support/_support.scss +85 -85
  154. data/_sass/vendor/susy/susy/su/_grid.scss +103 -103
  155. data/_sass/vendor/susy/susy/su/_settings.scss +73 -73
  156. data/_sass/vendor/susy/susy/su/_utilities.scss +111 -111
  157. data/_sass/vendor/susy/susy/su/_validation.scss +57 -57
  158. data/assets/css/main.scss +78 -78
  159. data/assets/fonts/fontawesome-webfont.svg +2671 -2671
  160. data/assets/js/_main.js +72 -100
  161. data/assets/js/main.min.js +4 -5
  162. data/assets/js/plugins/jquery.fitvids.js +81 -81
  163. data/assets/js/plugins/jquery.greedy-navigation.js +71 -71
  164. data/assets/js/plugins/jquery.magnific-popup.js +2049 -2049
  165. data/assets/js/plugins/jquery.smooth-scroll.min.js +8 -8
  166. data/assets/js/vendor/jquery/jquery-1.12.4.min.js +4 -4
  167. metadata +7 -6
  168. data/assets/js/plugins/stickyfill.min.js +0 -8
@@ -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
+ }