minimal-mistakes-jekyll 4.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +571 -0
- data/LICENSE +21 -0
- data/README.md +122 -0
- data/_includes/analytics-providers/custom.html +3 -0
- data/_includes/analytics-providers/google-universal.html +9 -0
- data/_includes/analytics-providers/google.html +11 -0
- data/_includes/analytics.html +12 -0
- data/_includes/archive-single.html +40 -0
- data/_includes/author-profile.html +102 -0
- data/_includes/base_path +5 -0
- data/_includes/breadcrumbs.html +41 -0
- data/_includes/browser-upgrade.html +3 -0
- data/_includes/category-list.html +28 -0
- data/_includes/comment.html +22 -0
- data/_includes/comments-providers/custom.html +3 -0
- data/_includes/comments-providers/discourse.html +14 -0
- data/_includes/comments-providers/disqus.html +22 -0
- data/_includes/comments-providers/facebook.html +8 -0
- data/_includes/comments-providers/google-plus.html +2 -0
- data/_includes/comments-providers/scripts.html +18 -0
- data/_includes/comments-providers/staticman.html +42 -0
- data/_includes/comments.html +82 -0
- data/_includes/feature_row +52 -0
- data/_includes/footer.html +24 -0
- data/_includes/footer/custom.html +3 -0
- data/_includes/gallery +49 -0
- data/_includes/group-by-array +47 -0
- data/_includes/head.html +21 -0
- data/_includes/head/custom.html +5 -0
- data/_includes/masthead.html +23 -0
- data/_includes/nav_list +46 -0
- data/_includes/page__hero.html +55 -0
- data/_includes/page__taxonomy.html +9 -0
- data/_includes/paginator.html +70 -0
- data/_includes/post_pagination.html +16 -0
- data/_includes/read-time.html +17 -0
- data/_includes/scripts.html +4 -0
- data/_includes/seo.html +145 -0
- data/_includes/sidebar.html +25 -0
- data/_includes/social-share.html +15 -0
- data/_includes/tag-list.html +28 -0
- data/_includes/toc +7 -0
- data/_layouts/archive-taxonomy.html +16 -0
- data/_layouts/archive.html +24 -0
- data/_layouts/compress.html +10 -0
- data/_layouts/default.html +30 -0
- data/_layouts/single.html +76 -0
- data/_layouts/splash.html +22 -0
- data/_sass/_animations.scss +21 -0
- data/_sass/_archive.scss +238 -0
- data/_sass/_base.scss +315 -0
- data/_sass/_buttons.scss +153 -0
- data/_sass/_footer.scss +80 -0
- data/_sass/_forms.scss +391 -0
- data/_sass/_masthead.scss +53 -0
- data/_sass/_mixins.scss +53 -0
- data/_sass/_navigation.scss +432 -0
- data/_sass/_notices.scss +99 -0
- data/_sass/_page.scss +401 -0
- data/_sass/_print.scss +18 -0
- data/_sass/_reset.scss +187 -0
- data/_sass/_sidebar.scss +232 -0
- data/_sass/_syntax.scss +146 -0
- data/_sass/_tables.scss +38 -0
- data/_sass/_utilities.scss +470 -0
- data/_sass/_variables.scss +147 -0
- data/_sass/vendor/breakpoint/_breakpoint.scss +114 -0
- data/_sass/vendor/breakpoint/_context.scss +95 -0
- data/_sass/vendor/breakpoint/_helpers.scss +151 -0
- data/_sass/vendor/breakpoint/_legacy-settings.scss +50 -0
- data/_sass/vendor/breakpoint/_no-query.scss +15 -0
- data/_sass/vendor/breakpoint/_parsers.scss +215 -0
- data/_sass/vendor/breakpoint/_respond-to.scss +82 -0
- data/_sass/vendor/breakpoint/_settings.scss +71 -0
- data/_sass/vendor/breakpoint/parsers/_double.scss +33 -0
- data/_sass/vendor/breakpoint/parsers/_query.scss +82 -0
- data/_sass/vendor/breakpoint/parsers/_resolution.scss +31 -0
- data/_sass/vendor/breakpoint/parsers/_single.scss +26 -0
- data/_sass/vendor/breakpoint/parsers/_triple.scss +36 -0
- data/_sass/vendor/breakpoint/parsers/double/_default-pair.scss +21 -0
- data/_sass/vendor/breakpoint/parsers/double/_default.scss +22 -0
- data/_sass/vendor/breakpoint/parsers/double/_double-string.scss +22 -0
- data/_sass/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -0
- data/_sass/vendor/breakpoint/parsers/single/_default.scss +13 -0
- data/_sass/vendor/breakpoint/parsers/triple/_default.scss +18 -0
- data/_sass/vendor/font-awesome/_animated.scss +34 -0
- data/_sass/vendor/font-awesome/_bordered-pulled.scss +25 -0
- data/_sass/vendor/font-awesome/_core.scss +12 -0
- data/_sass/vendor/font-awesome/_fixed-width.scss +6 -0
- data/_sass/vendor/font-awesome/_font-awesome.scss +18 -0
- data/_sass/vendor/font-awesome/_icons.scss +733 -0
- data/_sass/vendor/font-awesome/_larger.scss +13 -0
- data/_sass/vendor/font-awesome/_list.scss +19 -0
- data/_sass/vendor/font-awesome/_mixins.scss +60 -0
- data/_sass/vendor/font-awesome/_path.scss +15 -0
- data/_sass/vendor/font-awesome/_rotated-flipped.scss +20 -0
- data/_sass/vendor/font-awesome/_screen-reader.scss +5 -0
- data/_sass/vendor/font-awesome/_stacked.scss +20 -0
- data/_sass/vendor/font-awesome/_variables.scss +744 -0
- data/_sass/vendor/magnific-popup/_magnific-popup.scss +649 -0
- data/_sass/vendor/magnific-popup/_settings.scss +46 -0
- data/_sass/vendor/susy/_su.scss +4 -0
- data/_sass/vendor/susy/_susy.scss +4 -0
- data/_sass/vendor/susy/_susyone.scss +4 -0
- data/_sass/vendor/susy/susy/_su.scss +7 -0
- data/_sass/vendor/susy/susy/language/_susy.scss +24 -0
- data/_sass/vendor/susy/susy/language/_susyone.scss +13 -0
- data/_sass/vendor/susy/susy/language/susy/_background.scss +385 -0
- data/_sass/vendor/susy/susy/language/susy/_bleed.scss +200 -0
- data/_sass/vendor/susy/susy/language/susy/_box-sizing.scss +47 -0
- data/_sass/vendor/susy/susy/language/susy/_breakpoint-plugin.scss +185 -0
- data/_sass/vendor/susy/susy/language/susy/_container.scss +81 -0
- data/_sass/vendor/susy/susy/language/susy/_context.scss +36 -0
- data/_sass/vendor/susy/susy/language/susy/_gallery.scss +94 -0
- data/_sass/vendor/susy/susy/language/susy/_grids.scss +64 -0
- data/_sass/vendor/susy/susy/language/susy/_gutters.scss +154 -0
- data/_sass/vendor/susy/susy/language/susy/_isolate.scss +77 -0
- data/_sass/vendor/susy/susy/language/susy/_margins.scss +94 -0
- data/_sass/vendor/susy/susy/language/susy/_padding.scss +74 -0
- data/_sass/vendor/susy/susy/language/susy/_rows.scss +138 -0
- data/_sass/vendor/susy/susy/language/susy/_settings.scss +216 -0
- data/_sass/vendor/susy/susy/language/susy/_span.scss +163 -0
- data/_sass/vendor/susy/susy/language/susy/_validation.scss +16 -0
- data/_sass/vendor/susy/susy/language/susyone/_background.scss +18 -0
- data/_sass/vendor/susy/susy/language/susyone/_functions.scss +377 -0
- data/_sass/vendor/susy/susy/language/susyone/_grid.scss +312 -0
- data/_sass/vendor/susy/susy/language/susyone/_isolation.scss +51 -0
- data/_sass/vendor/susy/susy/language/susyone/_margin.scss +93 -0
- data/_sass/vendor/susy/susy/language/susyone/_media.scss +105 -0
- data/_sass/vendor/susy/susy/language/susyone/_padding.scss +92 -0
- data/_sass/vendor/susy/susy/language/susyone/_settings.scss +60 -0
- data/_sass/vendor/susy/susy/output/_float.scss +9 -0
- data/_sass/vendor/susy/susy/output/_shared.scss +15 -0
- data/_sass/vendor/susy/susy/output/_support.scss +9 -0
- data/_sass/vendor/susy/susy/output/float/_container.scss +16 -0
- data/_sass/vendor/susy/susy/output/float/_end.scss +40 -0
- data/_sass/vendor/susy/susy/output/float/_isolate.scss +22 -0
- data/_sass/vendor/susy/susy/output/float/_span.scss +35 -0
- data/_sass/vendor/susy/susy/output/shared/_background.scss +26 -0
- data/_sass/vendor/susy/susy/output/shared/_container.scss +21 -0
- data/_sass/vendor/susy/susy/output/shared/_direction.scss +42 -0
- data/_sass/vendor/susy/susy/output/shared/_inspect.scss +25 -0
- data/_sass/vendor/susy/susy/output/shared/_margins.scss +23 -0
- data/_sass/vendor/susy/susy/output/shared/_output.scss +14 -0
- data/_sass/vendor/susy/susy/output/shared/_padding.scss +23 -0
- data/_sass/vendor/susy/susy/output/support/_background.scss +58 -0
- data/_sass/vendor/susy/susy/output/support/_box-sizing.scss +19 -0
- data/_sass/vendor/susy/susy/output/support/_clearfix.scss +18 -0
- data/_sass/vendor/susy/susy/output/support/_prefix.scss +19 -0
- data/_sass/vendor/susy/susy/output/support/_rem.scss +22 -0
- data/_sass/vendor/susy/susy/output/support/_support.scss +85 -0
- data/_sass/vendor/susy/susy/su/_grid.scss +103 -0
- data/_sass/vendor/susy/susy/su/_settings.scss +73 -0
- data/_sass/vendor/susy/susy/su/_utilities.scss +111 -0
- data/_sass/vendor/susy/susy/su/_validation.scss +57 -0
- data/assets/css/main.scss +39 -0
- data/assets/fonts/FontAwesome.otf +0 -0
- data/assets/fonts/fontawesome-webfont.eot +0 -0
- data/assets/fonts/fontawesome-webfont.svg +685 -0
- data/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/assets/fonts/fontawesome-webfont.woff +0 -0
- data/assets/fonts/fontawesome-webfont.woff2 +0 -0
- data/assets/images/bio-photo.jpg +0 -0
- data/assets/images/mm-browser-mockups.png +0 -0
- data/assets/images/mm-layout-examples.png +0 -0
- data/assets/js/_main.js +100 -0
- data/assets/js/main.min.js +5 -0
- data/assets/js/plugins/jquery.fitvids.js +82 -0
- data/assets/js/plugins/jquery.greedy-navigation.js +72 -0
- data/assets/js/plugins/jquery.magnific-popup.js +2049 -0
- data/assets/js/plugins/jquery.smooth-scroll.min.js +8 -0
- data/assets/js/plugins/stickyfill.min.js +8 -0
- data/assets/js/vendor/jquery/jquery-1.12.4.min.js +5 -0
- 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
|
+
}
|