minimal-mistakes-jekyll 4.4.1 → 4.4.2

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