minimal-mistakes-jekyll 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +571 -0
  3. data/LICENSE +21 -0
  4. data/README.md +122 -0
  5. data/_includes/analytics-providers/custom.html +3 -0
  6. data/_includes/analytics-providers/google-universal.html +9 -0
  7. data/_includes/analytics-providers/google.html +11 -0
  8. data/_includes/analytics.html +12 -0
  9. data/_includes/archive-single.html +40 -0
  10. data/_includes/author-profile.html +102 -0
  11. data/_includes/base_path +5 -0
  12. data/_includes/breadcrumbs.html +41 -0
  13. data/_includes/browser-upgrade.html +3 -0
  14. data/_includes/category-list.html +28 -0
  15. data/_includes/comment.html +22 -0
  16. data/_includes/comments-providers/custom.html +3 -0
  17. data/_includes/comments-providers/discourse.html +14 -0
  18. data/_includes/comments-providers/disqus.html +22 -0
  19. data/_includes/comments-providers/facebook.html +8 -0
  20. data/_includes/comments-providers/google-plus.html +2 -0
  21. data/_includes/comments-providers/scripts.html +18 -0
  22. data/_includes/comments-providers/staticman.html +42 -0
  23. data/_includes/comments.html +82 -0
  24. data/_includes/feature_row +52 -0
  25. data/_includes/footer.html +24 -0
  26. data/_includes/footer/custom.html +3 -0
  27. data/_includes/gallery +49 -0
  28. data/_includes/group-by-array +47 -0
  29. data/_includes/head.html +21 -0
  30. data/_includes/head/custom.html +5 -0
  31. data/_includes/masthead.html +23 -0
  32. data/_includes/nav_list +46 -0
  33. data/_includes/page__hero.html +55 -0
  34. data/_includes/page__taxonomy.html +9 -0
  35. data/_includes/paginator.html +70 -0
  36. data/_includes/post_pagination.html +16 -0
  37. data/_includes/read-time.html +17 -0
  38. data/_includes/scripts.html +4 -0
  39. data/_includes/seo.html +145 -0
  40. data/_includes/sidebar.html +25 -0
  41. data/_includes/social-share.html +15 -0
  42. data/_includes/tag-list.html +28 -0
  43. data/_includes/toc +7 -0
  44. data/_layouts/archive-taxonomy.html +16 -0
  45. data/_layouts/archive.html +24 -0
  46. data/_layouts/compress.html +10 -0
  47. data/_layouts/default.html +30 -0
  48. data/_layouts/single.html +76 -0
  49. data/_layouts/splash.html +22 -0
  50. data/_sass/_animations.scss +21 -0
  51. data/_sass/_archive.scss +238 -0
  52. data/_sass/_base.scss +315 -0
  53. data/_sass/_buttons.scss +153 -0
  54. data/_sass/_footer.scss +80 -0
  55. data/_sass/_forms.scss +391 -0
  56. data/_sass/_masthead.scss +53 -0
  57. data/_sass/_mixins.scss +53 -0
  58. data/_sass/_navigation.scss +432 -0
  59. data/_sass/_notices.scss +99 -0
  60. data/_sass/_page.scss +401 -0
  61. data/_sass/_print.scss +18 -0
  62. data/_sass/_reset.scss +187 -0
  63. data/_sass/_sidebar.scss +232 -0
  64. data/_sass/_syntax.scss +146 -0
  65. data/_sass/_tables.scss +38 -0
  66. data/_sass/_utilities.scss +470 -0
  67. data/_sass/_variables.scss +147 -0
  68. data/_sass/vendor/breakpoint/_breakpoint.scss +114 -0
  69. data/_sass/vendor/breakpoint/_context.scss +95 -0
  70. data/_sass/vendor/breakpoint/_helpers.scss +151 -0
  71. data/_sass/vendor/breakpoint/_legacy-settings.scss +50 -0
  72. data/_sass/vendor/breakpoint/_no-query.scss +15 -0
  73. data/_sass/vendor/breakpoint/_parsers.scss +215 -0
  74. data/_sass/vendor/breakpoint/_respond-to.scss +82 -0
  75. data/_sass/vendor/breakpoint/_settings.scss +71 -0
  76. data/_sass/vendor/breakpoint/parsers/_double.scss +33 -0
  77. data/_sass/vendor/breakpoint/parsers/_query.scss +82 -0
  78. data/_sass/vendor/breakpoint/parsers/_resolution.scss +31 -0
  79. data/_sass/vendor/breakpoint/parsers/_single.scss +26 -0
  80. data/_sass/vendor/breakpoint/parsers/_triple.scss +36 -0
  81. data/_sass/vendor/breakpoint/parsers/double/_default-pair.scss +21 -0
  82. data/_sass/vendor/breakpoint/parsers/double/_default.scss +22 -0
  83. data/_sass/vendor/breakpoint/parsers/double/_double-string.scss +22 -0
  84. data/_sass/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -0
  85. data/_sass/vendor/breakpoint/parsers/single/_default.scss +13 -0
  86. data/_sass/vendor/breakpoint/parsers/triple/_default.scss +18 -0
  87. data/_sass/vendor/font-awesome/_animated.scss +34 -0
  88. data/_sass/vendor/font-awesome/_bordered-pulled.scss +25 -0
  89. data/_sass/vendor/font-awesome/_core.scss +12 -0
  90. data/_sass/vendor/font-awesome/_fixed-width.scss +6 -0
  91. data/_sass/vendor/font-awesome/_font-awesome.scss +18 -0
  92. data/_sass/vendor/font-awesome/_icons.scss +733 -0
  93. data/_sass/vendor/font-awesome/_larger.scss +13 -0
  94. data/_sass/vendor/font-awesome/_list.scss +19 -0
  95. data/_sass/vendor/font-awesome/_mixins.scss +60 -0
  96. data/_sass/vendor/font-awesome/_path.scss +15 -0
  97. data/_sass/vendor/font-awesome/_rotated-flipped.scss +20 -0
  98. data/_sass/vendor/font-awesome/_screen-reader.scss +5 -0
  99. data/_sass/vendor/font-awesome/_stacked.scss +20 -0
  100. data/_sass/vendor/font-awesome/_variables.scss +744 -0
  101. data/_sass/vendor/magnific-popup/_magnific-popup.scss +649 -0
  102. data/_sass/vendor/magnific-popup/_settings.scss +46 -0
  103. data/_sass/vendor/susy/_su.scss +4 -0
  104. data/_sass/vendor/susy/_susy.scss +4 -0
  105. data/_sass/vendor/susy/_susyone.scss +4 -0
  106. data/_sass/vendor/susy/susy/_su.scss +7 -0
  107. data/_sass/vendor/susy/susy/language/_susy.scss +24 -0
  108. data/_sass/vendor/susy/susy/language/_susyone.scss +13 -0
  109. data/_sass/vendor/susy/susy/language/susy/_background.scss +385 -0
  110. data/_sass/vendor/susy/susy/language/susy/_bleed.scss +200 -0
  111. data/_sass/vendor/susy/susy/language/susy/_box-sizing.scss +47 -0
  112. data/_sass/vendor/susy/susy/language/susy/_breakpoint-plugin.scss +185 -0
  113. data/_sass/vendor/susy/susy/language/susy/_container.scss +81 -0
  114. data/_sass/vendor/susy/susy/language/susy/_context.scss +36 -0
  115. data/_sass/vendor/susy/susy/language/susy/_gallery.scss +94 -0
  116. data/_sass/vendor/susy/susy/language/susy/_grids.scss +64 -0
  117. data/_sass/vendor/susy/susy/language/susy/_gutters.scss +154 -0
  118. data/_sass/vendor/susy/susy/language/susy/_isolate.scss +77 -0
  119. data/_sass/vendor/susy/susy/language/susy/_margins.scss +94 -0
  120. data/_sass/vendor/susy/susy/language/susy/_padding.scss +74 -0
  121. data/_sass/vendor/susy/susy/language/susy/_rows.scss +138 -0
  122. data/_sass/vendor/susy/susy/language/susy/_settings.scss +216 -0
  123. data/_sass/vendor/susy/susy/language/susy/_span.scss +163 -0
  124. data/_sass/vendor/susy/susy/language/susy/_validation.scss +16 -0
  125. data/_sass/vendor/susy/susy/language/susyone/_background.scss +18 -0
  126. data/_sass/vendor/susy/susy/language/susyone/_functions.scss +377 -0
  127. data/_sass/vendor/susy/susy/language/susyone/_grid.scss +312 -0
  128. data/_sass/vendor/susy/susy/language/susyone/_isolation.scss +51 -0
  129. data/_sass/vendor/susy/susy/language/susyone/_margin.scss +93 -0
  130. data/_sass/vendor/susy/susy/language/susyone/_media.scss +105 -0
  131. data/_sass/vendor/susy/susy/language/susyone/_padding.scss +92 -0
  132. data/_sass/vendor/susy/susy/language/susyone/_settings.scss +60 -0
  133. data/_sass/vendor/susy/susy/output/_float.scss +9 -0
  134. data/_sass/vendor/susy/susy/output/_shared.scss +15 -0
  135. data/_sass/vendor/susy/susy/output/_support.scss +9 -0
  136. data/_sass/vendor/susy/susy/output/float/_container.scss +16 -0
  137. data/_sass/vendor/susy/susy/output/float/_end.scss +40 -0
  138. data/_sass/vendor/susy/susy/output/float/_isolate.scss +22 -0
  139. data/_sass/vendor/susy/susy/output/float/_span.scss +35 -0
  140. data/_sass/vendor/susy/susy/output/shared/_background.scss +26 -0
  141. data/_sass/vendor/susy/susy/output/shared/_container.scss +21 -0
  142. data/_sass/vendor/susy/susy/output/shared/_direction.scss +42 -0
  143. data/_sass/vendor/susy/susy/output/shared/_inspect.scss +25 -0
  144. data/_sass/vendor/susy/susy/output/shared/_margins.scss +23 -0
  145. data/_sass/vendor/susy/susy/output/shared/_output.scss +14 -0
  146. data/_sass/vendor/susy/susy/output/shared/_padding.scss +23 -0
  147. data/_sass/vendor/susy/susy/output/support/_background.scss +58 -0
  148. data/_sass/vendor/susy/susy/output/support/_box-sizing.scss +19 -0
  149. data/_sass/vendor/susy/susy/output/support/_clearfix.scss +18 -0
  150. data/_sass/vendor/susy/susy/output/support/_prefix.scss +19 -0
  151. data/_sass/vendor/susy/susy/output/support/_rem.scss +22 -0
  152. data/_sass/vendor/susy/susy/output/support/_support.scss +85 -0
  153. data/_sass/vendor/susy/susy/su/_grid.scss +103 -0
  154. data/_sass/vendor/susy/susy/su/_settings.scss +73 -0
  155. data/_sass/vendor/susy/susy/su/_utilities.scss +111 -0
  156. data/_sass/vendor/susy/susy/su/_validation.scss +57 -0
  157. data/assets/css/main.scss +39 -0
  158. data/assets/fonts/FontAwesome.otf +0 -0
  159. data/assets/fonts/fontawesome-webfont.eot +0 -0
  160. data/assets/fonts/fontawesome-webfont.svg +685 -0
  161. data/assets/fonts/fontawesome-webfont.ttf +0 -0
  162. data/assets/fonts/fontawesome-webfont.woff +0 -0
  163. data/assets/fonts/fontawesome-webfont.woff2 +0 -0
  164. data/assets/images/bio-photo.jpg +0 -0
  165. data/assets/images/mm-browser-mockups.png +0 -0
  166. data/assets/images/mm-layout-examples.png +0 -0
  167. data/assets/js/_main.js +100 -0
  168. data/assets/js/main.min.js +5 -0
  169. data/assets/js/plugins/jquery.fitvids.js +82 -0
  170. data/assets/js/plugins/jquery.greedy-navigation.js +72 -0
  171. data/assets/js/plugins/jquery.magnific-popup.js +2049 -0
  172. data/assets/js/plugins/jquery.smooth-scroll.min.js +8 -0
  173. data/assets/js/plugins/stickyfill.min.js +8 -0
  174. data/assets/js/vendor/jquery/jquery-1.12.4.min.js +5 -0
  175. metadata +259 -0
@@ -0,0 +1,200 @@
1
+ // Bleed Syntax
2
+ // ============
3
+
4
+ // Bleed
5
+ // -----
6
+ // Add negative margins, and equal positive padding to create bleed.
7
+ // - $bleed : <span>
8
+ @mixin bleed(
9
+ $bleed: 0 gutter()
10
+ ) {
11
+ $inspect : $bleed;
12
+ $output : get-bleed($bleed);
13
+
14
+ @if susy-get(global-box-sizing) != content-box {
15
+ $output: map-merge((box-sizing: content-box), $output);
16
+ }
17
+
18
+ @include susy-inspect(bleed, $inspect);
19
+ @include output($output);
20
+ }
21
+
22
+
23
+ // Bleed-x
24
+ // -------
25
+ // Shortcut for horizontal bleed.
26
+ // - $bleed : <span>
27
+ @mixin bleed-x(
28
+ $bleed: gutter()
29
+ ) {
30
+ $bleed : parse-span($bleed);
31
+ $trbl : susy-get(span, $bleed);
32
+
33
+ @if length($trbl) == 1 {
34
+ $bleed: map-merge($bleed, (span: 0 nth($trbl, 1)));
35
+ } @else if length($trbl) == 2 {
36
+ $bleed: map-merge($bleed, (span: 0 nth($trbl, 2) 0 nth($trbl, 1)));
37
+ } @else {
38
+ @warn 'bleed-x only takes 2 lengths, but #{length($trbl)} were passed.';
39
+ }
40
+
41
+ @include bleed($bleed);
42
+ }
43
+
44
+
45
+ // Bleed-y
46
+ // -------
47
+ // Shortcut for vertical bleed.
48
+ // - $bleed : <span>
49
+ @mixin bleed-y(
50
+ $bleed: if(function-exists(rhythm), rhythm(1), 1em)
51
+ ) {
52
+ $bleed : parse-span($bleed);
53
+ $trbl : susy-get(span, $bleed);
54
+
55
+ @if length($trbl) == 1 {
56
+ $bleed: map-merge($bleed, (span: nth($trbl, 1) 0));
57
+ } @else if length($trbl) == 2 {
58
+ $bleed: map-merge($bleed, (span: nth($trbl, 1) 0 nth($trbl, 2) 0));
59
+ } @else {
60
+ @warn 'bleed-y only takes 2 lengths, but #{length($trbl)} were passed.';
61
+ }
62
+
63
+ @include bleed($bleed);
64
+ }
65
+
66
+
67
+ // Get Bleed
68
+ // ---------
69
+ // Return bleed output values
70
+ // - $bleed: <span>
71
+ @function get-bleed(
72
+ $bleed
73
+ ) {
74
+ $bleed : map-merge((spread: wide), parse-span($bleed));
75
+ $trbl : susy-get(span, $bleed);
76
+ $short : null;
77
+ $output : ();
78
+
79
+ @for $i from 1 through length($trbl) {
80
+ $this: nth($trbl, $i);
81
+ $new: ();
82
+ $margin: null;
83
+ $padding: null;
84
+ $padding-x: null;
85
+
86
+ @if $this > 0 {
87
+ $this: map-merge($bleed, (span: $this));
88
+ $margin: span($this);
89
+ $padding: $margin;
90
+ $padding-x: $padding;
91
+ }
92
+
93
+ @if $margin and $margin > 0 {
94
+ $margin: - $margin;
95
+
96
+ @if is-inside($this) {
97
+ $gutter: gutter($this);
98
+ $join: if($gutter and comparable($padding, $gutter), true, false);
99
+ $padding-x: if($join and $padding > 0, $padding + $gutter, $padding);
100
+ }
101
+ }
102
+
103
+ @if $i == 1 {
104
+ $new: (
105
+ margin-top: $margin,
106
+ padding-top: $padding,
107
+ margin-right: $margin,
108
+ padding-right: $padding-x,
109
+ margin-bottom: $margin,
110
+ padding-bottom: $padding,
111
+ margin-left: $margin,
112
+ padding-left: $padding-x,
113
+ );
114
+ } @else if $i == 2 {
115
+ $new: (
116
+ margin-right: $margin,
117
+ padding-right: $padding-x,
118
+ margin-left: $margin,
119
+ padding-left: $padding-x,
120
+ );
121
+ } @else if $i == 3 {
122
+ $new: (
123
+ margin-bottom: $margin,
124
+ padding-bottom: $padding,
125
+ );
126
+ } @else if $i == 4 {
127
+ $new: (
128
+ margin-left: $margin,
129
+ padding-left: $padding-x,
130
+ );
131
+ }
132
+
133
+ $output: map-merge($output, $new);
134
+ }
135
+
136
+ @each $prop, $value in $output {
137
+ $output: if($value == 0, map-merge($output, ($prop: null)), $output);
138
+ }
139
+
140
+ @return bleed-shorthand($output);
141
+ }
142
+
143
+ // Bleed Shorthand
144
+ // ---------------
145
+ // Convert bleed output into shorthand when possible.
146
+ // - $bleed: <output map>
147
+ @function bleed-shorthand(
148
+ $bleed
149
+ ) {
150
+ $margin: ();
151
+ $padding: ();
152
+ $return: ();
153
+
154
+ @each $key, $value in $bleed {
155
+ @if str-index($key, margin) {
156
+ $margin: map-merge($margin, ($key: $value));
157
+ } @else if str-index($key, padding) > 0 {
158
+ $padding: map-merge($padding, ($key: $value));
159
+ }
160
+ }
161
+
162
+ $props: (
163
+ margin: $margin,
164
+ padding: $padding,
165
+ );
166
+
167
+ @each $name, $map in $props {
168
+ $four: if(length(map-keys($map)) == 4, true, false);
169
+ $null: if(index(map-values($map), null), true, false);
170
+
171
+ @if $four and not($null) {
172
+ $top: map-get($map, '#{$name}-top');
173
+ $right: map-get($map, '#{$name}-right');
174
+ $bottom: map-get($map, '#{$name}-bottom');
175
+ $left: map-get($map, '#{$name}-left');
176
+
177
+ $tb: if($top == $bottom, $top, null);
178
+ $rl: if($right == $left, $right, null);
179
+ $all: if($tb == $rl, $tb, null);
180
+
181
+ $new: if($all, $all, null);
182
+
183
+ @if not($new) {
184
+ @if $tb and $rl {
185
+ $new: $tb $rl;
186
+ } @else if $rl {
187
+ $new: $top $rl $bottom;
188
+ } @else {
189
+ $new: $top $right $bottom $left;
190
+ }
191
+ }
192
+
193
+ $return: map-merge($return, ($name: $new));
194
+ } @else {
195
+ $return: map-merge($return, $map);
196
+ }
197
+ }
198
+
199
+ @return $return;
200
+ }
@@ -0,0 +1,47 @@
1
+ // Susy Box Sizing
2
+ // =================
3
+
4
+ // Global Box Sizing
5
+ // -----------------
6
+ // Set a box model globally on all elements.
7
+ // - [$box]: border-box | content-box
8
+ // - [$inherit]: true | false
9
+ @mixin global-box-sizing(
10
+ $box: susy-get(global-box-sizing),
11
+ $inherit: false
12
+ ) {
13
+ $inspect: $box;
14
+
15
+ @if $inherit {
16
+ @at-root {
17
+ html { @include output((box-sizing: $box)); }
18
+ *, *:before, *:after { box-sizing: inherit; }
19
+ }
20
+ } @else {
21
+ *, *:before, *:after { @include output((box-sizing: $box)); }
22
+ }
23
+
24
+ @include susy-inspect(global-box-sizing, $inspect);
25
+ @include update-box-model($box);
26
+ }
27
+
28
+ // Border Box Sizing
29
+ // -----------------
30
+ // A legacy shortcut...
31
+ // - [$inherit]: true | false
32
+ @mixin border-box-sizing(
33
+ $inherit: false
34
+ ) {
35
+ @include global-box-sizing(border-box, $inherit);
36
+ }
37
+
38
+ // Update Box Model
39
+ // ----------------
40
+ // PRIVATE: Updates global box model setting
41
+ @mixin update-box-model(
42
+ $box
43
+ ) {
44
+ @if $box != susy-get(global-box-sizing) {
45
+ @include susy-set(global-box-sizing, $box);
46
+ }
47
+ }
@@ -0,0 +1,185 @@
1
+ // Breakpoint Integration
2
+ // ======================
3
+
4
+ $susy-media: () !default;
5
+ $susy-media-fallback: false !default;
6
+
7
+ $_susy-media-context: ();
8
+
9
+
10
+ // Susy Breakpoint
11
+ // ---------------
12
+ // Change grids at different media query breakpoints.
13
+ // - $query : <min-width> [<max-width>] | <property> <value> | <map>
14
+ // - $layout : <settings>
15
+ // - $no-query : <boolean> | <selector>
16
+ @mixin susy-breakpoint(
17
+ $query,
18
+ $layout: false,
19
+ $no-query: $susy-media-fallback
20
+ ) {
21
+ @include susy-media-router($query, $no-query) {
22
+ @if $layout {
23
+ @include with-layout($layout) {
24
+ @content;
25
+ }
26
+ } @else {
27
+ @content;
28
+ }
29
+ }
30
+ }
31
+
32
+
33
+ // Susy Media
34
+ // ----------
35
+ // - $query: <min-width> [<max-width>] | <property> <value>
36
+ // - $no-query: <boolean> | <selector>
37
+ @mixin susy-media(
38
+ $query,
39
+ $no-query: $susy-media-fallback
40
+ ) {
41
+ $old-context: $_susy-media-context;
42
+ $name: if(map-has-key($susy-media, $query), $query, null);
43
+ $query: susy-get-media($query);
44
+ $query: susy-parse-media($query);
45
+
46
+ @include susy-media-context($query, $name);
47
+
48
+ @if $no-query and type-of($no-query) != string {
49
+ @content;
50
+ } @else {
51
+ @media #{susy-render-media($query)} {
52
+ @content;
53
+ }
54
+
55
+ @if type-of($no-query) == string {
56
+ #{$no-query} & {
57
+ @content;
58
+ }
59
+ }
60
+ }
61
+
62
+ @include susy-media-context($old-context, $clean: true);
63
+ }
64
+
65
+
66
+ // Media Router
67
+ // ------------
68
+ // Rout media arguments to the correct mixin.
69
+ @mixin susy-media-router(
70
+ $query,
71
+ $no-query: $susy-media-fallback
72
+ ) {
73
+ @if susy-support(breakpoint, (mixin: breakpoint), $warn: false) {
74
+ @include breakpoint($query, $no-query) {
75
+ @content;
76
+ }
77
+ } @else {
78
+ @include susy-media($query, $no-query) {
79
+ @content;
80
+ }
81
+ }
82
+ }
83
+
84
+
85
+ // Update Context
86
+ // -------------
87
+ // Set the new media context
88
+ @mixin susy-media-context(
89
+ $query,
90
+ $name: null,
91
+ $clean: false
92
+ ) {
93
+ $query: map-merge((name: $name), $query);
94
+
95
+ @if $clean {
96
+ $_susy-media-context: $query !global;
97
+ } @else {
98
+ $_susy-media-context: map-merge($_susy-media-context, $query) !global;
99
+ }
100
+ }
101
+
102
+
103
+ // Media Context
104
+ // -------------
105
+ // Return the full media context, or a single media property (e.g. min-width)
106
+ @function susy-media-context(
107
+ $property: false
108
+ ) {
109
+ @if $property {
110
+ @return map-get($_susy-media-context, $property);
111
+ } @else {
112
+ @return $_susy-media-context;
113
+ }
114
+ }
115
+
116
+
117
+ // Get Media
118
+ // ---------
119
+ // Return a named media-query from $susy-media.
120
+ // - $name: <key>
121
+ @function susy-get-media(
122
+ $name
123
+ ) {
124
+ @if map-has-key($susy-media, $name) {
125
+ $map-value: map-get($susy-media, $name);
126
+ @if ($name == $map-value) {
127
+ $name: $map-value;
128
+ } @else {
129
+ $name: susy-get-media($map-value);
130
+ }
131
+ }
132
+
133
+ @return $name;
134
+ }
135
+
136
+
137
+ // Render Media
138
+ // ------------
139
+ // Build a media-query string from various media settings
140
+ @function susy-render-media(
141
+ $query
142
+ ) {
143
+ $output: null;
144
+ @each $property, $value in $query {
145
+ $string: null;
146
+
147
+ @if $property == media {
148
+ $string: $value;
149
+ } @else {
150
+ $string: '(#{$property}: #{$value})';
151
+ }
152
+
153
+ $output: if($output, '#{$output} and #{$string}', $string);
154
+ }
155
+
156
+ @return $output;
157
+ }
158
+
159
+
160
+ // Parse Media
161
+ // -----------
162
+ // Return parsed media-query settings based on shorthand
163
+ @function susy-parse-media(
164
+ $query
165
+ ) {
166
+ $mq: null;
167
+ @if type-of($query) == map {
168
+ $mq: $query;
169
+ } @else if type-of($query) == number {
170
+ $mq: (min-width: $query);
171
+ } @else if type-of($query) == list and length($query) == 2 {
172
+ @if type-of(nth($query, 1)) == number {
173
+ $mq: (
174
+ min-width: min($query...),
175
+ max-width: max($query...),
176
+ );
177
+ } @else {
178
+ $mq: (nth($query, 1): nth($query, 2));
179
+ }
180
+ } @else {
181
+ $mq: (media: '#{$query}');
182
+ }
183
+
184
+ @return $mq;
185
+ }
@@ -0,0 +1,81 @@
1
+ // Container Syntax
2
+ // ================
3
+
4
+ // Container [mixin]
5
+ // -----------------
6
+ // Set a container element
7
+ // - [$layout] : <settings>
8
+ @mixin container(
9
+ $layout: $susy
10
+ ) {
11
+ $inspect : $layout;
12
+ $layout : parse-grid($layout);
13
+
14
+ $_width : get-container-width($layout);
15
+ $_justify : parse-container-position(susy-get(container-position, $layout));
16
+ $_property : if(susy-get(math, $layout) == static, width, max-width);
17
+
18
+ $_box : susy-get(box-sizing, $layout);
19
+
20
+ @if $_box {
21
+ @include output((box-sizing: $_box));
22
+ }
23
+
24
+ @include susy-inspect(container, $inspect);
25
+ @include float-container($_width, $_justify, $_property);
26
+ @include show-grid($layout);
27
+ }
28
+
29
+ // Container [function]
30
+ // --------------------
31
+ // Return container width
32
+ // - [$layout] : <settings>
33
+ @function container(
34
+ $layout: $susy
35
+ ) {
36
+ $layout: parse-grid($layout);
37
+ @return get-container-width($layout);
38
+ }
39
+
40
+ // Get Container Width
41
+ // -------------------
42
+ // Calculate the container width
43
+ // - [$layout]: <settings>
44
+ @function get-container-width(
45
+ $layout: $susy
46
+ ) {
47
+ $layout : parse-grid($layout);
48
+ $_width : susy-get(container, $layout);
49
+ $_column-width : susy-get(column-width, $layout);
50
+ $_math : susy-get(math, $layout);
51
+
52
+ @if not($_width) or $_width == auto {
53
+ @if valid-column-math($_math, $_column-width) {
54
+ $_columns : susy-get(columns, $layout);
55
+ $_gutters : susy-get(gutters, $layout);
56
+ $_spread : if(is-split($layout), wide, narrow);
57
+ $_width : susy-sum($_columns, $_gutters, $_spread) * $_column-width;
58
+ } @else {
59
+ $_width: 100%;
60
+ }
61
+ }
62
+
63
+ @return $_width;
64
+ }
65
+
66
+ // Parse Container Position
67
+ // ------------------------
68
+ // Parse the $container-position into margin values.
69
+ // - [$justify] : left | center | right | <length> [<length>]
70
+ @function parse-container-position(
71
+ $justify: map-get($susy-defaults, container-position)
72
+ ) {
73
+ $_return: if($justify == left, 0, auto) if($justify == right, 0, auto);
74
+
75
+ @if not(index(left right center, $justify)) {
76
+ $_return: nth($justify, 1);
77
+ $_return: $_return if(length($justify) > 1, nth($justify, 2), $_return);
78
+ }
79
+
80
+ @return $_return;
81
+ }