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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/LICENSE.txt +20 -20
- data/README.md +160 -160
- data/_includes/analytics-providers/custom.html +2 -2
- data/_includes/analytics-providers/google-universal.html +9 -9
- data/_includes/analytics-providers/google.html +10 -10
- data/_includes/analytics.html +11 -11
- data/_includes/archive-single.html +37 -37
- data/_includes/author-profile-custom-links.html +6 -6
- data/_includes/author-profile.html +249 -241
- data/_includes/base_path +4 -4
- data/_includes/breadcrumbs.html +39 -39
- data/_includes/browser-upgrade.html +2 -2
- data/_includes/category-list.html +25 -25
- data/_includes/comment.html +21 -21
- data/_includes/comments-providers/custom.html +2 -2
- data/_includes/comments-providers/discourse.html +13 -13
- data/_includes/comments-providers/disqus.html +21 -21
- data/_includes/comments-providers/facebook.html +7 -7
- data/_includes/comments-providers/google-plus.html +1 -1
- data/_includes/comments-providers/scripts.html +15 -17
- data/_includes/comments-providers/staticman.html +41 -41
- data/_includes/comments.html +95 -83
- data/_includes/feature_row +49 -49
- data/_includes/figure +12 -12
- data/_includes/footer.html +25 -22
- data/_includes/footer/custom.html +2 -2
- data/_includes/gallery +46 -46
- data/_includes/group-by-array +46 -46
- data/_includes/head.html +33 -33
- data/_includes/head/custom.html +4 -4
- data/_includes/masthead.html +20 -20
- data/_includes/nav_list +46 -46
- data/_includes/page__hero.html +53 -53
- data/_includes/page__hero_video.html +4 -4
- data/_includes/page__taxonomy.html +6 -6
- data/_includes/paginator.html +69 -69
- data/_includes/post_pagination.html +13 -13
- data/_includes/read-time.html +14 -14
- data/_includes/scripts.html +4 -4
- data/_includes/seo.html +147 -147
- data/_includes/sidebar.html +22 -22
- data/_includes/social-share.html +13 -13
- data/_includes/tag-list.html +25 -25
- data/_includes/toc +6 -6
- data/_includes/video +11 -11
- data/_layouts/archive-taxonomy.html +14 -14
- data/_layouts/archive.html +25 -25
- data/_layouts/compress.html +10 -10
- data/_layouts/default.html +34 -34
- data/_layouts/home.html +11 -11
- data/_layouts/single.html +74 -74
- data/_layouts/splash.html +21 -21
- data/_sass/minimal-mistakes.scss +39 -39
- data/_sass/minimal-mistakes/_animations.scss +20 -20
- data/_sass/minimal-mistakes/_archive.scss +237 -237
- data/_sass/minimal-mistakes/_base.scss +314 -314
- data/_sass/minimal-mistakes/_buttons.scss +152 -152
- data/_sass/minimal-mistakes/_footer.scss +79 -79
- data/_sass/minimal-mistakes/_forms.scss +390 -390
- data/_sass/minimal-mistakes/_masthead.scss +76 -76
- data/_sass/minimal-mistakes/_mixins.scss +52 -52
- data/_sass/minimal-mistakes/_navigation.scss +551 -558
- data/_sass/minimal-mistakes/_notices.scss +98 -98
- data/_sass/minimal-mistakes/_page.scss +407 -407
- data/_sass/minimal-mistakes/_print.scss +237 -237
- data/_sass/minimal-mistakes/_reset.scss +186 -186
- data/_sass/minimal-mistakes/_sidebar.scss +230 -230
- data/_sass/minimal-mistakes/_syntax.scss +145 -145
- data/_sass/minimal-mistakes/_tables.scss +37 -37
- data/_sass/minimal-mistakes/_utilities.scss +517 -512
- data/_sass/minimal-mistakes/_variables.scss +129 -128
- data/_sass/minimal-mistakes/vendor/breakpoint/_breakpoint.scss +114 -114
- data/_sass/minimal-mistakes/vendor/breakpoint/_context.scss +94 -94
- data/_sass/minimal-mistakes/vendor/breakpoint/_helpers.scss +151 -151
- data/_sass/minimal-mistakes/vendor/breakpoint/_legacy-settings.scss +49 -49
- data/_sass/minimal-mistakes/vendor/breakpoint/_no-query.scss +15 -15
- data/_sass/minimal-mistakes/vendor/breakpoint/_parsers.scss +215 -215
- data/_sass/minimal-mistakes/vendor/breakpoint/_respond-to.scss +82 -82
- data/_sass/minimal-mistakes/vendor/breakpoint/_settings.scss +70 -70
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_double.scss +33 -33
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_query.scss +82 -82
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_resolution.scss +31 -31
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_single.scss +26 -26
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_triple.scss +36 -36
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_default-pair.scss +21 -21
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_default.scss +22 -22
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_double-string.scss +21 -21
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -60
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/single/_default.scss +13 -13
- data/_sass/minimal-mistakes/vendor/breakpoint/parsers/triple/_default.scss +18 -18
- data/_sass/minimal-mistakes/vendor/font-awesome/_animated.scss +34 -34
- data/_sass/minimal-mistakes/vendor/font-awesome/_bordered-pulled.scss +25 -25
- data/_sass/minimal-mistakes/vendor/font-awesome/_core.scss +12 -12
- data/_sass/minimal-mistakes/vendor/font-awesome/_fixed-width.scss +6 -6
- data/_sass/minimal-mistakes/vendor/font-awesome/_font-awesome.scss +18 -18
- data/_sass/minimal-mistakes/vendor/font-awesome/_icons.scss +789 -789
- data/_sass/minimal-mistakes/vendor/font-awesome/_larger.scss +13 -13
- data/_sass/minimal-mistakes/vendor/font-awesome/_list.scss +19 -19
- data/_sass/minimal-mistakes/vendor/font-awesome/_mixins.scss +60 -60
- data/_sass/minimal-mistakes/vendor/font-awesome/_path.scss +15 -15
- data/_sass/minimal-mistakes/vendor/font-awesome/_rotated-flipped.scss +20 -20
- data/_sass/minimal-mistakes/vendor/font-awesome/_screen-reader.scss +5 -5
- data/_sass/minimal-mistakes/vendor/font-awesome/_stacked.scss +20 -20
- data/_sass/minimal-mistakes/vendor/font-awesome/_variables.scss +800 -800
- data/_sass/minimal-mistakes/vendor/magnific-popup/_magnific-popup.scss +649 -649
- data/_sass/minimal-mistakes/vendor/magnific-popup/_settings.scss +45 -45
- data/_sass/minimal-mistakes/vendor/susy/_su.scss +4 -4
- data/_sass/minimal-mistakes/vendor/susy/_susy.scss +4 -4
- data/_sass/minimal-mistakes/vendor/susy/_susyone.scss +4 -4
- data/_sass/minimal-mistakes/vendor/susy/susy/_su.scss +7 -7
- data/_sass/minimal-mistakes/vendor/susy/susy/language/_susy.scss +24 -24
- data/_sass/minimal-mistakes/vendor/susy/susy/language/_susyone.scss +13 -13
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_background.scss +385 -385
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_bleed.scss +200 -200
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_box-sizing.scss +47 -47
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_breakpoint-plugin.scss +185 -185
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_container.scss +81 -81
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_context.scss +36 -36
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_gallery.scss +94 -94
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_grids.scss +64 -64
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_gutters.scss +154 -154
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_isolate.scss +77 -77
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_margins.scss +94 -94
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_padding.scss +74 -74
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_rows.scss +138 -138
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_settings.scss +216 -216
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_span.scss +163 -163
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susy/_validation.scss +16 -16
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_background.scss +18 -18
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_functions.scss +377 -377
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_grid.scss +312 -312
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_isolation.scss +51 -51
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_margin.scss +93 -93
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_media.scss +105 -105
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_padding.scss +92 -92
- data/_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_settings.scss +60 -60
- data/_sass/minimal-mistakes/vendor/susy/susy/output/_float.scss +9 -9
- data/_sass/minimal-mistakes/vendor/susy/susy/output/_shared.scss +15 -15
- data/_sass/minimal-mistakes/vendor/susy/susy/output/_support.scss +9 -9
- data/_sass/minimal-mistakes/vendor/susy/susy/output/float/_container.scss +16 -16
- data/_sass/minimal-mistakes/vendor/susy/susy/output/float/_end.scss +40 -40
- data/_sass/minimal-mistakes/vendor/susy/susy/output/float/_isolate.scss +22 -22
- data/_sass/minimal-mistakes/vendor/susy/susy/output/float/_span.scss +35 -35
- data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_background.scss +26 -26
- data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_container.scss +21 -21
- data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_direction.scss +42 -42
- data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_inspect.scss +25 -25
- data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_margins.scss +23 -23
- data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_output.scss +14 -14
- data/_sass/minimal-mistakes/vendor/susy/susy/output/shared/_padding.scss +23 -23
- data/_sass/minimal-mistakes/vendor/susy/susy/output/support/_background.scss +58 -58
- data/_sass/minimal-mistakes/vendor/susy/susy/output/support/_box-sizing.scss +19 -19
- data/_sass/minimal-mistakes/vendor/susy/susy/output/support/_clearfix.scss +18 -18
- data/_sass/minimal-mistakes/vendor/susy/susy/output/support/_prefix.scss +19 -19
- data/_sass/minimal-mistakes/vendor/susy/susy/output/support/_rem.scss +22 -22
- data/_sass/minimal-mistakes/vendor/susy/susy/output/support/_support.scss +85 -85
- data/_sass/minimal-mistakes/vendor/susy/susy/su/_grid.scss +103 -103
- data/_sass/minimal-mistakes/vendor/susy/susy/su/_settings.scss +73 -73
- data/_sass/minimal-mistakes/vendor/susy/susy/su/_utilities.scss +111 -111
- data/_sass/minimal-mistakes/vendor/susy/susy/su/_validation.scss +57 -57
- data/assets/css/main.scss +6 -6
- data/assets/fonts/fontawesome-webfont.svg +2671 -2671
- data/assets/js/_main.js +72 -72
- data/assets/js/main.min.js +13 -13
- data/assets/js/plugins/jquery.fitvids.js +81 -81
- data/assets/js/plugins/jquery.greedy-navigation.js +77 -74
- data/assets/js/plugins/jquery.magnific-popup.js +2049 -2049
- data/assets/js/plugins/jquery.smooth-scroll.min.js +8 -8
- data/assets/js/vendor/jquery/jquery-1.12.4.min.js +4 -4
- metadata +7 -7
@@ -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
|
+
}
|