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.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +20 -20
  3. data/README.md +170 -178
  4. data/_includes/analytics.html +13 -13
  5. data/_includes/breadcrumbs.html +31 -31
  6. data/_includes/comments.html +26 -26
  7. data/_includes/figure +12 -12
  8. data/_includes/paginator.html +8 -69
  9. data/_includes/post-entry.html +15 -15
  10. data/_includes/seo.html +77 -77
  11. data/_includes/social-share.html +42 -42
  12. data/_includes/topnav.html +46 -46
  13. data/_layouts/default.html +46 -46
  14. data/_layouts/home.html +11 -11
  15. data/_layouts/page.html +16 -16
  16. data/_layouts/post.html +38 -38
  17. data/_sass/_base.scss +359 -359
  18. data/_sass/_buttons.scss +61 -61
  19. data/_sass/_footer.scss +53 -53
  20. data/_sass/_navigation.scss +216 -216
  21. data/_sass/_page.scss +60 -60
  22. data/_sass/_post.scss +85 -85
  23. data/_sass/_reset.scss +186 -186
  24. data/_sass/_rrssb.scss +276 -276
  25. data/_sass/_slimmenu.scss +177 -177
  26. data/_sass/_syntax.scss +125 -125
  27. data/_sass/_utilities.scss +67 -67
  28. data/_sass/_variables.scss +73 -73
  29. data/_sass/vendor/breakpoint/_breakpoint.scss +114 -114
  30. data/_sass/vendor/breakpoint/_context.scss +94 -94
  31. data/_sass/vendor/breakpoint/_helpers.scss +151 -151
  32. data/_sass/vendor/breakpoint/_legacy-settings.scss +49 -49
  33. data/_sass/vendor/breakpoint/_no-query.scss +15 -15
  34. data/_sass/vendor/breakpoint/_parsers.scss +215 -215
  35. data/_sass/vendor/breakpoint/_respond-to.scss +82 -82
  36. data/_sass/vendor/breakpoint/_settings.scss +70 -70
  37. data/_sass/vendor/breakpoint/parsers/_double.scss +33 -33
  38. data/_sass/vendor/breakpoint/parsers/_query.scss +82 -82
  39. data/_sass/vendor/breakpoint/parsers/_resolution.scss +31 -31
  40. data/_sass/vendor/breakpoint/parsers/_single.scss +26 -26
  41. data/_sass/vendor/breakpoint/parsers/_triple.scss +36 -36
  42. data/_sass/vendor/breakpoint/parsers/double/_default-pair.scss +21 -21
  43. data/_sass/vendor/breakpoint/parsers/double/_default.scss +22 -22
  44. data/_sass/vendor/breakpoint/parsers/double/_double-string.scss +21 -21
  45. data/_sass/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -60
  46. data/_sass/vendor/breakpoint/parsers/single/_default.scss +13 -13
  47. data/_sass/vendor/breakpoint/parsers/triple/_default.scss +18 -18
  48. data/_sass/vendor/font-awesome/_animated.scss +34 -34
  49. data/_sass/vendor/font-awesome/_bordered-pulled.scss +25 -25
  50. data/_sass/vendor/font-awesome/_core.scss +12 -12
  51. data/_sass/vendor/font-awesome/_fixed-width.scss +6 -6
  52. data/_sass/vendor/font-awesome/_font-awesome.scss +18 -18
  53. data/_sass/vendor/font-awesome/_icons.scss +789 -789
  54. data/_sass/vendor/font-awesome/_larger.scss +13 -13
  55. data/_sass/vendor/font-awesome/_list.scss +19 -19
  56. data/_sass/vendor/font-awesome/_mixins.scss +60 -60
  57. data/_sass/vendor/font-awesome/_path.scss +15 -15
  58. data/_sass/vendor/font-awesome/_rotated-flipped.scss +20 -20
  59. data/_sass/vendor/font-awesome/_screen-reader.scss +5 -5
  60. data/_sass/vendor/font-awesome/_stacked.scss +20 -20
  61. data/_sass/vendor/font-awesome/_variables.scss +800 -800
  62. data/_sass/vendor/susy/_su.scss +4 -4
  63. data/_sass/vendor/susy/_susy.scss +4 -4
  64. data/_sass/vendor/susy/_susyone.scss +4 -4
  65. data/_sass/vendor/susy/susy/_su.scss +7 -7
  66. data/_sass/vendor/susy/susy/language/_susy.scss +24 -24
  67. data/_sass/vendor/susy/susy/language/_susyone.scss +13 -13
  68. data/_sass/vendor/susy/susy/language/susy/_background.scss +385 -385
  69. data/_sass/vendor/susy/susy/language/susy/_bleed.scss +200 -200
  70. data/_sass/vendor/susy/susy/language/susy/_box-sizing.scss +47 -47
  71. data/_sass/vendor/susy/susy/language/susy/_breakpoint-plugin.scss +185 -185
  72. data/_sass/vendor/susy/susy/language/susy/_container.scss +81 -81
  73. data/_sass/vendor/susy/susy/language/susy/_context.scss +36 -36
  74. data/_sass/vendor/susy/susy/language/susy/_gallery.scss +94 -94
  75. data/_sass/vendor/susy/susy/language/susy/_grids.scss +64 -64
  76. data/_sass/vendor/susy/susy/language/susy/_gutters.scss +154 -154
  77. data/_sass/vendor/susy/susy/language/susy/_isolate.scss +77 -77
  78. data/_sass/vendor/susy/susy/language/susy/_margins.scss +94 -94
  79. data/_sass/vendor/susy/susy/language/susy/_padding.scss +74 -74
  80. data/_sass/vendor/susy/susy/language/susy/_rows.scss +138 -138
  81. data/_sass/vendor/susy/susy/language/susy/_settings.scss +216 -216
  82. data/_sass/vendor/susy/susy/language/susy/_span.scss +163 -163
  83. data/_sass/vendor/susy/susy/language/susy/_validation.scss +16 -16
  84. data/_sass/vendor/susy/susy/language/susyone/_background.scss +18 -18
  85. data/_sass/vendor/susy/susy/language/susyone/_functions.scss +377 -377
  86. data/_sass/vendor/susy/susy/language/susyone/_grid.scss +312 -312
  87. data/_sass/vendor/susy/susy/language/susyone/_isolation.scss +51 -51
  88. data/_sass/vendor/susy/susy/language/susyone/_margin.scss +93 -93
  89. data/_sass/vendor/susy/susy/language/susyone/_media.scss +105 -105
  90. data/_sass/vendor/susy/susy/language/susyone/_padding.scss +92 -92
  91. data/_sass/vendor/susy/susy/language/susyone/_settings.scss +60 -60
  92. data/_sass/vendor/susy/susy/output/_float.scss +9 -9
  93. data/_sass/vendor/susy/susy/output/_shared.scss +15 -15
  94. data/_sass/vendor/susy/susy/output/_support.scss +9 -9
  95. data/_sass/vendor/susy/susy/output/float/_container.scss +16 -16
  96. data/_sass/vendor/susy/susy/output/float/_end.scss +40 -40
  97. data/_sass/vendor/susy/susy/output/float/_isolate.scss +22 -22
  98. data/_sass/vendor/susy/susy/output/float/_span.scss +35 -35
  99. data/_sass/vendor/susy/susy/output/shared/_background.scss +26 -26
  100. data/_sass/vendor/susy/susy/output/shared/_container.scss +21 -21
  101. data/_sass/vendor/susy/susy/output/shared/_direction.scss +42 -42
  102. data/_sass/vendor/susy/susy/output/shared/_inspect.scss +25 -25
  103. data/_sass/vendor/susy/susy/output/shared/_margins.scss +23 -23
  104. data/_sass/vendor/susy/susy/output/shared/_output.scss +14 -14
  105. data/_sass/vendor/susy/susy/output/shared/_padding.scss +23 -23
  106. data/_sass/vendor/susy/susy/output/support/_background.scss +58 -58
  107. data/_sass/vendor/susy/susy/output/support/_box-sizing.scss +19 -19
  108. data/_sass/vendor/susy/susy/output/support/_clearfix.scss +18 -18
  109. data/_sass/vendor/susy/susy/output/support/_prefix.scss +19 -19
  110. data/_sass/vendor/susy/susy/output/support/_rem.scss +22 -22
  111. data/_sass/vendor/susy/susy/output/support/_support.scss +85 -85
  112. data/_sass/vendor/susy/susy/su/_grid.scss +103 -103
  113. data/_sass/vendor/susy/susy/su/_settings.scss +73 -73
  114. data/_sass/vendor/susy/susy/su/_utilities.scss +111 -111
  115. data/_sass/vendor/susy/susy/su/_validation.scss +57 -57
  116. data/assets/css/main.scss +43 -43
  117. data/assets/fonts/fontawesome-webfont.svg +2671 -2671
  118. data/assets/js/main.js +35 -35
  119. data/assets/js/plugins/jquery-1.12.4.min.js +4 -4
  120. data/assets/js/slimmenu.js +154 -154
  121. metadata +6 -6
@@ -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
+ }