minimal-mistakes-jekyll 4.4.0 → 4.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (157) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/_includes/analytics-providers/custom.html +2 -2
  4. data/_includes/analytics-providers/google-universal.html +9 -9
  5. data/_includes/analytics-providers/google.html +10 -10
  6. data/_includes/analytics.html +11 -11
  7. data/_includes/archive-single.html +37 -37
  8. data/_includes/author-profile-custom-links.html +6 -6
  9. data/_includes/author-profile.html +241 -241
  10. data/_includes/base_path +4 -4
  11. data/_includes/breadcrumbs.html +38 -38
  12. data/_includes/browser-upgrade.html +2 -2
  13. data/_includes/category-list.html +25 -25
  14. data/_includes/comment.html +21 -21
  15. data/_includes/comments-providers/custom.html +2 -2
  16. data/_includes/comments-providers/discourse.html +13 -13
  17. data/_includes/comments-providers/disqus.html +21 -21
  18. data/_includes/comments-providers/facebook.html +7 -7
  19. data/_includes/comments-providers/google-plus.html +1 -1
  20. data/_includes/comments-providers/scripts.html +17 -17
  21. data/_includes/comments-providers/staticman.html +41 -41
  22. data/_includes/comments.html +83 -83
  23. data/_includes/feature_row +49 -49
  24. data/_includes/figure +12 -12
  25. data/_includes/footer.html +21 -21
  26. data/_includes/footer/custom.html +2 -2
  27. data/_includes/gallery +46 -46
  28. data/_includes/group-by-array +46 -46
  29. data/_includes/head.html +33 -33
  30. data/_includes/head/custom.html +4 -4
  31. data/_includes/masthead.html +20 -20
  32. data/_includes/nav_list +46 -46
  33. data/_includes/page__hero.html +53 -53
  34. data/_includes/page__hero_video.html +4 -4
  35. data/_includes/page__taxonomy.html +6 -6
  36. data/_includes/paginator.html +69 -69
  37. data/_includes/post_pagination.html +13 -13
  38. data/_includes/read-time.html +14 -14
  39. data/_includes/scripts.html +4 -4
  40. data/_includes/seo.html +147 -147
  41. data/_includes/sidebar.html +22 -22
  42. data/_includes/social-share.html +13 -13
  43. data/_includes/tag-list.html +25 -25
  44. data/_includes/toc +6 -6
  45. data/_includes/video +11 -11
  46. data/_layouts/archive-taxonomy.html +14 -14
  47. data/_layouts/archive.html +25 -25
  48. data/_layouts/compress.html +10 -10
  49. data/_layouts/default.html +1 -1
  50. data/_layouts/home.html +11 -11
  51. data/_layouts/single.html +74 -74
  52. data/_layouts/splash.html +21 -21
  53. data/_sass/minimal-mistakes.scss +1 -1
  54. data/_sass/minimal-mistakes/_masthead.scss +76 -76
  55. data/_sass/minimal-mistakes/_navigation.scss +557 -557
  56. data/_sass/minimal-mistakes/_page.scss +407 -407
  57. data/_sass/minimal-mistakes/_print.scss +237 -237
  58. data/_sass/minimal-mistakes/_reset.scss +186 -186
  59. data/_sass/minimal-mistakes/_sidebar.scss +230 -230
  60. data/_sass/minimal-mistakes/_syntax.scss +145 -145
  61. data/_sass/minimal-mistakes/vendor/breakpoint/_breakpoint.scss +114 -114
  62. data/_sass/minimal-mistakes/vendor/breakpoint/_context.scss +94 -94
  63. data/_sass/minimal-mistakes/vendor/breakpoint/_helpers.scss +151 -151
  64. data/_sass/minimal-mistakes/vendor/breakpoint/_legacy-settings.scss +49 -49
  65. data/_sass/minimal-mistakes/vendor/breakpoint/_no-query.scss +15 -15
  66. data/_sass/minimal-mistakes/vendor/breakpoint/_parsers.scss +215 -215
  67. data/_sass/minimal-mistakes/vendor/breakpoint/_respond-to.scss +82 -82
  68. data/_sass/minimal-mistakes/vendor/breakpoint/_settings.scss +70 -70
  69. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_double.scss +33 -33
  70. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_query.scss +82 -82
  71. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_resolution.scss +31 -31
  72. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_single.scss +26 -26
  73. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_triple.scss +36 -36
  74. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_default-pair.scss +21 -21
  75. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_default.scss +22 -22
  76. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_double-string.scss +21 -21
  77. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -60
  78. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/single/_default.scss +13 -13
  79. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/triple/_default.scss +18 -18
  80. data/_sass/minimal-mistakes/vendor/font-awesome/_animated.scss +34 -34
  81. data/_sass/minimal-mistakes/vendor/font-awesome/_bordered-pulled.scss +25 -25
  82. data/_sass/minimal-mistakes/vendor/font-awesome/_core.scss +12 -12
  83. data/_sass/minimal-mistakes/vendor/font-awesome/_fixed-width.scss +6 -6
  84. data/_sass/minimal-mistakes/vendor/font-awesome/_font-awesome.scss +18 -18
  85. data/_sass/minimal-mistakes/vendor/font-awesome/_icons.scss +789 -789
  86. data/_sass/minimal-mistakes/vendor/font-awesome/_larger.scss +13 -13
  87. data/_sass/minimal-mistakes/vendor/font-awesome/_list.scss +19 -19
  88. data/_sass/minimal-mistakes/vendor/font-awesome/_mixins.scss +60 -60
  89. data/_sass/minimal-mistakes/vendor/font-awesome/_path.scss +15 -15
  90. data/_sass/minimal-mistakes/vendor/font-awesome/_rotated-flipped.scss +20 -20
  91. data/_sass/minimal-mistakes/vendor/font-awesome/_screen-reader.scss +5 -5
  92. data/_sass/minimal-mistakes/vendor/font-awesome/_stacked.scss +20 -20
  93. data/_sass/minimal-mistakes/vendor/font-awesome/_variables.scss +800 -800
  94. data/_sass/minimal-mistakes/vendor/magnific-popup/_settings.scss +45 -45
  95. data/_sass/minimal-mistakes/vendor/susy/_su.scss +4 -4
  96. data/_sass/minimal-mistakes/vendor/susy/_susy.scss +4 -4
  97. data/_sass/minimal-mistakes/vendor/susy/_susyone.scss +4 -4
  98. data/_sass/minimal-mistakes/vendor/susy/susy/_su.scss +7 -7
  99. data/_sass/minimal-mistakes/vendor/susy/susy/language/_susy.scss +24 -24
  100. data/_sass/minimal-mistakes/vendor/susy/susy/language/_susyone.scss +13 -13
  101. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_background.scss +385 -385
  102. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_bleed.scss +200 -200
  103. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_box-sizing.scss +47 -47
  104. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_breakpoint-plugin.scss +185 -185
  105. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_container.scss +81 -81
  106. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_context.scss +36 -36
  107. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_gallery.scss +94 -94
  108. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_grids.scss +64 -64
  109. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_gutters.scss +154 -154
  110. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_isolate.scss +77 -77
  111. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_margins.scss +94 -94
  112. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_padding.scss +74 -74
  113. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_rows.scss +138 -138
  114. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_settings.scss +216 -216
  115. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_span.scss +163 -163
  116. data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_validation.scss +16 -16
  117. data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_background.scss +18 -18
  118. data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_functions.scss +377 -377
  119. data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_grid.scss +312 -312
  120. data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_isolation.scss +51 -51
  121. data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_margin.scss +93 -93
  122. data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_media.scss +105 -105
  123. data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_padding.scss +92 -92
  124. data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_settings.scss +60 -60
  125. data/_sass/minimal-mistakes/vendor/susy/susy/output/_float.scss +9 -9
  126. data/_sass/minimal-mistakes/vendor/susy/susy/output/_shared.scss +15 -15
  127. data/_sass/minimal-mistakes/vendor/susy/susy/output/_support.scss +9 -9
  128. data/_sass/minimal-mistakes/vendor/susy/susy/output/float/_container.scss +16 -16
  129. data/_sass/minimal-mistakes/vendor/susy/susy/output/float/_end.scss +40 -40
  130. data/_sass/minimal-mistakes/vendor/susy/susy/output/float/_isolate.scss +22 -22
  131. data/_sass/minimal-mistakes/vendor/susy/susy/output/float/_span.scss +35 -35
  132. data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_background.scss +26 -26
  133. data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_container.scss +21 -21
  134. data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_direction.scss +42 -42
  135. data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_inspect.scss +25 -25
  136. data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_margins.scss +23 -23
  137. data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_output.scss +14 -14
  138. data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_padding.scss +23 -23
  139. data/_sass/minimal-mistakes/vendor/susy/susy/output/support/_background.scss +58 -58
  140. data/_sass/minimal-mistakes/vendor/susy/susy/output/support/_box-sizing.scss +19 -19
  141. data/_sass/minimal-mistakes/vendor/susy/susy/output/support/_clearfix.scss +18 -18
  142. data/_sass/minimal-mistakes/vendor/susy/susy/output/support/_prefix.scss +19 -19
  143. data/_sass/minimal-mistakes/vendor/susy/susy/output/support/_rem.scss +22 -22
  144. data/_sass/minimal-mistakes/vendor/susy/susy/output/support/_support.scss +85 -85
  145. data/_sass/minimal-mistakes/vendor/susy/susy/su/_grid.scss +103 -103
  146. data/_sass/minimal-mistakes/vendor/susy/susy/su/_settings.scss +73 -73
  147. data/_sass/minimal-mistakes/vendor/susy/susy/su/_utilities.scss +111 -111
  148. data/_sass/minimal-mistakes/vendor/susy/susy/su/_validation.scss +57 -57
  149. data/assets/fonts/fontawesome-webfont.svg +2671 -2671
  150. data/assets/js/_main.js +72 -72
  151. data/assets/js/main.min.js +2 -2
  152. data/assets/js/plugins/jquery.fitvids.js +81 -81
  153. data/assets/js/plugins/jquery.greedy-navigation.js +74 -73
  154. data/assets/js/plugins/jquery.magnific-popup.js +2049 -2049
  155. data/assets/js/plugins/jquery.smooth-scroll.min.js +8 -8
  156. data/assets/js/vendor/jquery/jquery-1.12.4.min.js +4 -4
  157. metadata +3 -3
@@ -1,103 +1,103 @@
1
- // Column math
2
- // ===========
3
-
4
-
5
- // Is Symmetrical
6
- // --------------
7
- // Returns true if a grid is symmetrical.
8
- // - [$columns] : <number> | <list>
9
- @function is-symmetrical(
10
- $columns: susy-get(columns)
11
- ) {
12
- $columns: valid-columns($columns);
13
- @return if(type-of($columns) == number, $columns, null);
14
- }
15
-
16
-
17
- // Susy Count
18
- // ----------
19
- // Find the number of columns in a given layout
20
- // - [$columns] : <number> | <list>
21
- @function susy-count(
22
- $columns: susy-get(columns)
23
- ) {
24
- $columns: valid-columns($columns);
25
- @return is-symmetrical($columns) or length($columns);
26
- }
27
-
28
-
29
- // Susy Sum
30
- // --------
31
- // Find the total sum of column-units in a layout
32
- // - [$columns] : <number> | <list>
33
- // - [$gutters] : <ratio>
34
- // - [$spread] : false/narrow | wide | wider
35
- @function susy-sum(
36
- $columns : susy-get(columns),
37
- $gutters : susy-get(gutters),
38
- $spread : false
39
- ) {
40
- $columns: valid-columns($columns);
41
- $gutters: valid-gutters($gutters);
42
-
43
- $spread: if($spread == wide, 0, if($spread == wider, 1, -1));
44
- $gutter-sum: (susy-count($columns) + $spread) * $gutters;
45
- $column-sum: is-symmetrical($columns);
46
-
47
- @if not($column-sum) {
48
- @each $column in $columns {
49
- $column-sum: ($column-sum or 0) + $column;
50
- }
51
- }
52
-
53
- @return $column-sum + $gutter-sum;
54
- }
55
-
56
-
57
- // Susy Slice
58
- // ----------
59
- // Return a subset of columns at a given location.
60
- // - $span : <number>
61
- // - $location : <number>
62
- // - [$columns] : <number> | <list>
63
- @function susy-slice(
64
- $span,
65
- $location,
66
- $columns: susy-get(columns)
67
- ) {
68
- $columns: valid-columns($columns);
69
- $sub-columns: $span;
70
-
71
- @if not(is-symmetrical($columns)) {
72
- $location: $location or 1;
73
- $sub-columns: ();
74
- @for $i from $location to ($location + $span) {
75
- $sub-columns: append($sub-columns, nth($columns, $i));
76
- }
77
- }
78
-
79
- @return $sub-columns;
80
- }
81
-
82
-
83
- // Susy
84
- // ----
85
- // Find the sum of a column-span.
86
- // - $span : <number>
87
- // - $location : <number>
88
- // - [$columns] : <number> | <list>
89
- // - [$gutters] : <ratio>
90
- // - [$spread] : false/narrow | wide | wider
91
- @function susy(
92
- $span,
93
- $location : false,
94
- $columns : susy-get(columns),
95
- $gutters : susy-get(gutters),
96
- $spread : false
97
- ) {
98
- $columns: valid-columns($columns);
99
- $gutters: valid-gutters($gutters);
100
- $span: susy-slice($span, $location, $columns);
101
-
102
- @return susy-sum($span, $gutters, $spread);
103
- }
1
+ // Column math
2
+ // ===========
3
+
4
+
5
+ // Is Symmetrical
6
+ // --------------
7
+ // Returns true if a grid is symmetrical.
8
+ // - [$columns] : <number> | <list>
9
+ @function is-symmetrical(
10
+ $columns: susy-get(columns)
11
+ ) {
12
+ $columns: valid-columns($columns);
13
+ @return if(type-of($columns) == number, $columns, null);
14
+ }
15
+
16
+
17
+ // Susy Count
18
+ // ----------
19
+ // Find the number of columns in a given layout
20
+ // - [$columns] : <number> | <list>
21
+ @function susy-count(
22
+ $columns: susy-get(columns)
23
+ ) {
24
+ $columns: valid-columns($columns);
25
+ @return is-symmetrical($columns) or length($columns);
26
+ }
27
+
28
+
29
+ // Susy Sum
30
+ // --------
31
+ // Find the total sum of column-units in a layout
32
+ // - [$columns] : <number> | <list>
33
+ // - [$gutters] : <ratio>
34
+ // - [$spread] : false/narrow | wide | wider
35
+ @function susy-sum(
36
+ $columns : susy-get(columns),
37
+ $gutters : susy-get(gutters),
38
+ $spread : false
39
+ ) {
40
+ $columns: valid-columns($columns);
41
+ $gutters: valid-gutters($gutters);
42
+
43
+ $spread: if($spread == wide, 0, if($spread == wider, 1, -1));
44
+ $gutter-sum: (susy-count($columns) + $spread) * $gutters;
45
+ $column-sum: is-symmetrical($columns);
46
+
47
+ @if not($column-sum) {
48
+ @each $column in $columns {
49
+ $column-sum: ($column-sum or 0) + $column;
50
+ }
51
+ }
52
+
53
+ @return $column-sum + $gutter-sum;
54
+ }
55
+
56
+
57
+ // Susy Slice
58
+ // ----------
59
+ // Return a subset of columns at a given location.
60
+ // - $span : <number>
61
+ // - $location : <number>
62
+ // - [$columns] : <number> | <list>
63
+ @function susy-slice(
64
+ $span,
65
+ $location,
66
+ $columns: susy-get(columns)
67
+ ) {
68
+ $columns: valid-columns($columns);
69
+ $sub-columns: $span;
70
+
71
+ @if not(is-symmetrical($columns)) {
72
+ $location: $location or 1;
73
+ $sub-columns: ();
74
+ @for $i from $location to ($location + $span) {
75
+ $sub-columns: append($sub-columns, nth($columns, $i));
76
+ }
77
+ }
78
+
79
+ @return $sub-columns;
80
+ }
81
+
82
+
83
+ // Susy
84
+ // ----
85
+ // Find the sum of a column-span.
86
+ // - $span : <number>
87
+ // - $location : <number>
88
+ // - [$columns] : <number> | <list>
89
+ // - [$gutters] : <ratio>
90
+ // - [$spread] : false/narrow | wide | wider
91
+ @function susy(
92
+ $span,
93
+ $location : false,
94
+ $columns : susy-get(columns),
95
+ $gutters : susy-get(gutters),
96
+ $spread : false
97
+ ) {
98
+ $columns: valid-columns($columns);
99
+ $gutters: valid-gutters($gutters);
100
+ $span: susy-slice($span, $location, $columns);
101
+
102
+ @return susy-sum($span, $gutters, $spread);
103
+ }
@@ -1,73 +1,73 @@
1
- // Settings
2
- // ========
3
-
4
- // Version
5
- // -------
6
- $su-version: 1.1;
7
-
8
-
9
- // Default Settings
10
- // ----------------
11
- // PRIVATE: The basic settings
12
- $susy-defaults: (
13
- columns: 4,
14
- gutters: .25,
15
- );
16
-
17
-
18
- // User Settings
19
- // -------------
20
- // - Define the $susy variable with a map of your own settings.
21
- // - Set EITHER $column-width OR $container
22
- // - Use $column-width for static layouts
23
- $susy: () !default;
24
-
25
-
26
- // Susy Defaults
27
- // -------------
28
- // PRIVATE: Add defaults to Susy
29
- @mixin susy-defaults(
30
- $defaults
31
- ) {
32
- $susy-defaults: map-merge($susy-defaults, $defaults) !global;
33
- }
34
-
35
-
36
- // Susy Set
37
- // --------
38
- // Change one setting
39
- // - $key : setting name
40
- // - $value : setting value
41
- @mixin susy-set(
42
- $key-value...
43
- ) {
44
- $susy: _susy-deep-set($susy, $key-value...) !global;
45
- }
46
-
47
-
48
- // Susy Get
49
- // --------
50
- // Return one setting from a grid
51
- // - $key : <keyword>
52
- // - $layout : <settings>
53
- @function susy-get(
54
- $key,
55
- $layout: map-merge($susy-defaults, $susy)
56
- ) {
57
- $layout: parse-grid($layout);
58
- $_options: $layout $susy $susy-defaults;
59
- $_break: false;
60
- $_return: null;
61
-
62
- @each $opt in $_options {
63
- @if type-of($opt) == map and not($_break) {
64
- $_keyset: _susy-deep-has-key($opt, $key...);
65
- @if $_keyset {
66
- $_return: _susy-deep-get($opt, $key...);
67
- $_break: true;
68
- }
69
- }
70
- }
71
-
72
- @return $_return;
73
- }
1
+ // Settings
2
+ // ========
3
+
4
+ // Version
5
+ // -------
6
+ $su-version: 1.1;
7
+
8
+
9
+ // Default Settings
10
+ // ----------------
11
+ // PRIVATE: The basic settings
12
+ $susy-defaults: (
13
+ columns: 4,
14
+ gutters: .25,
15
+ );
16
+
17
+
18
+ // User Settings
19
+ // -------------
20
+ // - Define the $susy variable with a map of your own settings.
21
+ // - Set EITHER $column-width OR $container
22
+ // - Use $column-width for static layouts
23
+ $susy: () !default;
24
+
25
+
26
+ // Susy Defaults
27
+ // -------------
28
+ // PRIVATE: Add defaults to Susy
29
+ @mixin susy-defaults(
30
+ $defaults
31
+ ) {
32
+ $susy-defaults: map-merge($susy-defaults, $defaults) !global;
33
+ }
34
+
35
+
36
+ // Susy Set
37
+ // --------
38
+ // Change one setting
39
+ // - $key : setting name
40
+ // - $value : setting value
41
+ @mixin susy-set(
42
+ $key-value...
43
+ ) {
44
+ $susy: _susy-deep-set($susy, $key-value...) !global;
45
+ }
46
+
47
+
48
+ // Susy Get
49
+ // --------
50
+ // Return one setting from a grid
51
+ // - $key : <keyword>
52
+ // - $layout : <settings>
53
+ @function susy-get(
54
+ $key,
55
+ $layout: map-merge($susy-defaults, $susy)
56
+ ) {
57
+ $layout: parse-grid($layout);
58
+ $_options: $layout $susy $susy-defaults;
59
+ $_break: false;
60
+ $_return: null;
61
+
62
+ @each $opt in $_options {
63
+ @if type-of($opt) == map and not($_break) {
64
+ $_keyset: _susy-deep-has-key($opt, $key...);
65
+ @if $_keyset {
66
+ $_return: _susy-deep-get($opt, $key...);
67
+ $_break: true;
68
+ }
69
+ }
70
+ }
71
+
72
+ @return $_return;
73
+ }
@@ -1,111 +1,111 @@
1
- // Map Functions
2
- // =============
3
-
4
-
5
- // Truncate List
6
- // -------------
7
- // - Return a list, truncated to a given length
8
- @function _susy-truncate-list(
9
- $list,
10
- $length
11
- ) {
12
- $_return: ();
13
-
14
- @for $i from 1 through length($list) {
15
- $_return: if($i <= $length, append($_return, nth($list, $i)), $_return);
16
- }
17
-
18
- @return $_return;
19
- }
20
-
21
-
22
- // Deep Get
23
- // --------
24
- // - Return a value deep in nested maps
25
- @function _susy-deep-get(
26
- $map,
27
- $keys...
28
- ) {
29
- $_return: $map;
30
-
31
- @each $key in $keys {
32
- @if type-of($_return) == map {
33
- $_return: map-get($_return, $key);
34
- }
35
- }
36
-
37
- @return $_return;
38
- }
39
-
40
-
41
- // Deep Set
42
- // --------
43
- // - Set a value deep in nested maps
44
- @function _susy-deep-set(
45
- $map,
46
- $keys-value...
47
- ) {
48
- $_value: nth($keys-value, -1);
49
- $_keys: _susy-truncate-list($keys-value, length($keys-value) - 1);
50
- $_length: length($_keys);
51
- $_return: ();
52
-
53
- @for $i from 1 through $_length {
54
- $_n: 0 - $i;
55
- $_level: _susy-truncate-list($_keys, $_length + $_n);
56
- $_level: _susy-deep-get($map, $_level...);
57
- $_merge: nth($_keys, $_n);
58
- $_merge: ($_merge: $_value);
59
- $_return: if($_level, map-merge($_level, $_merge), $_merge);
60
- $_value: $_return;
61
- }
62
-
63
- @return $_return;
64
- }
65
-
66
-
67
- // Deep Merge
68
- // ----------
69
- // Return 2 objects of any depth, merged
70
- @function _susy-deep-merge(
71
- $map1,
72
- $map2
73
- ) {
74
-
75
- @if type-of($map1) != map or type-of($map2) != map {
76
- $map1: $map2;
77
- } @else {
78
- @each $key, $value in $map2 {
79
- $_new: ($key: _susy_deep-merge(map-get($map1, $key), $value));
80
- $map1: map-merge($map1, $_new);
81
- }
82
- }
83
-
84
- @return $map1;
85
- }
86
-
87
-
88
- // Deep Has-Key
89
- // ------------
90
- // - Return true if a deep key exists
91
- @function _susy-deep-has-key(
92
- $map,
93
- $keys...
94
- ) {
95
- $_return: null;
96
- $_stop: false;
97
-
98
- @each $key in $keys {
99
- @if not($_stop) {
100
- $_return: map-has-key($map, $key);
101
- }
102
-
103
- @if $_return {
104
- $map: map-get($map, $key);
105
- } @else {
106
- $_stop: true;
107
- }
108
- }
109
-
110
- @return $_return;
111
- }
1
+ // Map Functions
2
+ // =============
3
+
4
+
5
+ // Truncate List
6
+ // -------------
7
+ // - Return a list, truncated to a given length
8
+ @function _susy-truncate-list(
9
+ $list,
10
+ $length
11
+ ) {
12
+ $_return: ();
13
+
14
+ @for $i from 1 through length($list) {
15
+ $_return: if($i <= $length, append($_return, nth($list, $i)), $_return);
16
+ }
17
+
18
+ @return $_return;
19
+ }
20
+
21
+
22
+ // Deep Get
23
+ // --------
24
+ // - Return a value deep in nested maps
25
+ @function _susy-deep-get(
26
+ $map,
27
+ $keys...
28
+ ) {
29
+ $_return: $map;
30
+
31
+ @each $key in $keys {
32
+ @if type-of($_return) == map {
33
+ $_return: map-get($_return, $key);
34
+ }
35
+ }
36
+
37
+ @return $_return;
38
+ }
39
+
40
+
41
+ // Deep Set
42
+ // --------
43
+ // - Set a value deep in nested maps
44
+ @function _susy-deep-set(
45
+ $map,
46
+ $keys-value...
47
+ ) {
48
+ $_value: nth($keys-value, -1);
49
+ $_keys: _susy-truncate-list($keys-value, length($keys-value) - 1);
50
+ $_length: length($_keys);
51
+ $_return: ();
52
+
53
+ @for $i from 1 through $_length {
54
+ $_n: 0 - $i;
55
+ $_level: _susy-truncate-list($_keys, $_length + $_n);
56
+ $_level: _susy-deep-get($map, $_level...);
57
+ $_merge: nth($_keys, $_n);
58
+ $_merge: ($_merge: $_value);
59
+ $_return: if($_level, map-merge($_level, $_merge), $_merge);
60
+ $_value: $_return;
61
+ }
62
+
63
+ @return $_return;
64
+ }
65
+
66
+
67
+ // Deep Merge
68
+ // ----------
69
+ // Return 2 objects of any depth, merged
70
+ @function _susy-deep-merge(
71
+ $map1,
72
+ $map2
73
+ ) {
74
+
75
+ @if type-of($map1) != map or type-of($map2) != map {
76
+ $map1: $map2;
77
+ } @else {
78
+ @each $key, $value in $map2 {
79
+ $_new: ($key: _susy_deep-merge(map-get($map1, $key), $value));
80
+ $map1: map-merge($map1, $_new);
81
+ }
82
+ }
83
+
84
+ @return $map1;
85
+ }
86
+
87
+
88
+ // Deep Has-Key
89
+ // ------------
90
+ // - Return true if a deep key exists
91
+ @function _susy-deep-has-key(
92
+ $map,
93
+ $keys...
94
+ ) {
95
+ $_return: null;
96
+ $_stop: false;
97
+
98
+ @each $key in $keys {
99
+ @if not($_stop) {
100
+ $_return: map-has-key($map, $key);
101
+ }
102
+
103
+ @if $_return {
104
+ $map: map-get($map, $key);
105
+ } @else {
106
+ $_stop: true;
107
+ }
108
+ }
109
+
110
+ @return $_return;
111
+ }