minimal-mistakes-jekyll 4.6.0 → 4.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -0
- data/LICENSE.txt +59 -21
- data/README.md +217 -160
- data/_data/navigation.yml +11 -11
- data/_data/ui-text.yml +931 -888
- 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 -249
- 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 +22 -22
- data/_includes/comments-providers/custom.html +2 -2
- data/_includes/comments-providers/discourse.html +13 -13
- data/_includes/comments-providers/facebook.html +7 -7
- data/_includes/comments-providers/google-plus.html +1 -1
- data/_includes/comments-providers/scripts.html +17 -15
- data/_includes/comments-providers/staticman.html +41 -41
- data/_includes/comments-providers/staticman_v2.html +42 -0
- data/_includes/comments.html +168 -96
- data/_includes/feature_row +49 -49
- data/_includes/figure +12 -12
- data/_includes/footer.html +25 -25
- data/_includes/footer/custom.html +2 -2
- data/_includes/gallery +46 -46
- data/_includes/group-by-array +46 -46
- data/_includes/head.html +42 -42
- data/_includes/head/custom.html +4 -4
- data/_includes/masthead.html +23 -20
- data/_includes/nav_list +46 -46
- 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 +15 -15
- data/_includes/seo.html +162 -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/toc.html +75 -0
- 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 +1 -1
- data/_layouts/home.html +11 -11
- data/_layouts/single.html +92 -84
- data/_layouts/splash.html +21 -21
- data/_sass/minimal-mistakes.scss +1 -1
- data/_sass/minimal-mistakes/_animations.scss +20 -20
- data/_sass/minimal-mistakes/_archive.scss +317 -317
- data/_sass/minimal-mistakes/_base.scss +315 -315
- data/_sass/minimal-mistakes/_buttons.scss +97 -97
- data/_sass/minimal-mistakes/_footer.scss +82 -82
- data/_sass/minimal-mistakes/_forms.scss +399 -389
- data/_sass/minimal-mistakes/_masthead.scss +82 -82
- data/_sass/minimal-mistakes/_mixins.scss +91 -91
- data/_sass/minimal-mistakes/_navigation.scss +552 -552
- data/_sass/minimal-mistakes/_notices.scss +99 -99
- data/_sass/minimal-mistakes/_page.scss +430 -430
- data/_sass/minimal-mistakes/_reset.scss +186 -186
- data/_sass/minimal-mistakes/_sidebar.scss +262 -262
- data/_sass/minimal-mistakes/_syntax.scss +286 -146
- data/_sass/minimal-mistakes/_tables.scss +36 -36
- data/_sass/minimal-mistakes/_utilities.scss +519 -519
- data/_sass/minimal-mistakes/_variables.scss +137 -137
- data/_sass/minimal-mistakes/skins/_air.scss +22 -22
- data/_sass/minimal-mistakes/skins/_aqua.scss +30 -0
- data/_sass/minimal-mistakes/skins/_contrast.scss +33 -33
- data/_sass/minimal-mistakes/skins/_dark.scss +23 -23
- data/_sass/minimal-mistakes/skins/_default.scss +5 -5
- data/_sass/minimal-mistakes/skins/_dirt.scss +14 -14
- data/_sass/minimal-mistakes/skins/_mint.scss +22 -22
- data/_sass/minimal-mistakes/skins/_neon.scss +35 -0
- data/_sass/minimal-mistakes/skins/_plum.scss +42 -0
- data/_sass/minimal-mistakes/skins/_sunrise.scss +25 -25
- 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/_susy-prefix.scss +13 -13
- data/_sass/minimal-mistakes/vendor/susy/_susy.scss +5 -5
- data/_sass/minimal-mistakes/vendor/susy/plugins/_svg-grid.scss +5 -5
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_prefix.scss +7 -7
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-api.scss +114 -114
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-grid-math.scss +67 -67
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-settings.scss +14 -14
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-unprefix.scss +18 -18
- data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-utilities.scss +133 -133
- data/_sass/minimal-mistakes/vendor/susy/susy/_api.scss +318 -318
- data/_sass/minimal-mistakes/vendor/susy/susy/_normalize.scss +261 -261
- data/_sass/minimal-mistakes/vendor/susy/susy/_parse.scss +163 -163
- data/_sass/minimal-mistakes/vendor/susy/susy/_settings.scss +329 -329
- data/_sass/minimal-mistakes/vendor/susy/susy/_su-math.scss +441 -441
- data/_sass/minimal-mistakes/vendor/susy/susy/_su-validate.scss +213 -213
- data/_sass/minimal-mistakes/vendor/susy/susy/_syntax-helpers.scss +191 -191
- data/_sass/minimal-mistakes/vendor/susy/susy/_unprefix.scss +56 -56
- data/_sass/minimal-mistakes/vendor/susy/susy/_utilities.scss +167 -167
- data/assets/css/main.scss +7 -7
- data/assets/fonts/fontawesome-webfont.svg +2671 -2671
- data/assets/js/_main.js +72 -72
- data/assets/js/main.min.js +1 -1
- data/assets/js/plugins/jquery.fitvids.js +81 -81
- data/assets/js/plugins/jquery.greedy-navigation.js +77 -77
- metadata +8 -3
@@ -1,46 +1,46 @@
|
|
1
|
-
////////////////////////
|
2
|
-
// Settings //
|
3
|
-
////////////////////////
|
4
|
-
|
5
|
-
// overlay
|
6
|
-
$mfp-overlay-color: #000; // Color of overlay screen
|
7
|
-
$mfp-overlay-opacity: 0.8; // Opacity of overlay screen
|
8
|
-
$mfp-shadow: 0 0 8px rgba(0, 0, 0, 0.6); // Shadow on image or iframe
|
9
|
-
|
10
|
-
// spacing
|
11
|
-
$mfp-popup-padding-left: 8px; // Padding from left and from right side
|
12
|
-
$mfp-popup-padding-left-mobile: 6px; // Same as above, but is applied when width of window is less than 800px
|
13
|
-
|
14
|
-
$mfp-z-index-base: 1040; // Base z-index of popup
|
15
|
-
|
16
|
-
// controls
|
17
|
-
$mfp-include-arrows: true; // Include styles for nav arrows
|
18
|
-
$mfp-controls-opacity: 1; // Opacity of controls
|
19
|
-
$mfp-controls-color: #fff; // Color of controls
|
20
|
-
$mfp-controls-border-color: #fff; // Border color of controls
|
21
|
-
$mfp-inner-close-icon-color: #fff; // Color of close button when inside
|
22
|
-
$mfp-controls-text-color: #ccc; // Color of preloader and "1 of X" indicator
|
23
|
-
$mfp-controls-text-color-hover: #fff; // Hover color of preloader and "1 of X" indicator
|
24
|
-
$mfp-IE7support: true; // Very basic IE7 support
|
25
|
-
|
26
|
-
// Iframe-type options
|
27
|
-
$mfp-include-iframe-type: true; // Enable Iframe-type popups
|
28
|
-
$mfp-iframe-padding-top: 40px; // Iframe padding top
|
29
|
-
$mfp-iframe-background: #000; // Background color of iframes
|
30
|
-
$mfp-iframe-max-width: 900px; // Maximum width of iframes
|
31
|
-
$mfp-iframe-ratio: 9/16; // Ratio of iframe (9/16 = widescreen, 3/4 = standard, etc.)
|
32
|
-
|
33
|
-
// Image-type options
|
34
|
-
$mfp-include-image-type: true; // Enable Image-type popups
|
35
|
-
$mfp-image-background: #444 !default;
|
36
|
-
$mfp-image-padding-top: 40px; // Image padding top
|
37
|
-
$mfp-image-padding-bottom: 40px; // Image padding bottom
|
38
|
-
$mfp-include-mobile-layout-for-image: true; // Removes paddings from top and bottom
|
39
|
-
|
40
|
-
// Image caption options
|
41
|
-
$mfp-caption-title-color: #f3f3f3; // Caption title color
|
42
|
-
$mfp-caption-subtitle-color: #bdbdbd; // Caption subtitle color
|
43
|
-
.mfp-counter { font-family: $serif; } // Caption font family
|
44
|
-
|
45
|
-
// A11y
|
1
|
+
////////////////////////
|
2
|
+
// Settings //
|
3
|
+
////////////////////////
|
4
|
+
|
5
|
+
// overlay
|
6
|
+
$mfp-overlay-color: #000; // Color of overlay screen
|
7
|
+
$mfp-overlay-opacity: 0.8; // Opacity of overlay screen
|
8
|
+
$mfp-shadow: 0 0 8px rgba(0, 0, 0, 0.6); // Shadow on image or iframe
|
9
|
+
|
10
|
+
// spacing
|
11
|
+
$mfp-popup-padding-left: 8px; // Padding from left and from right side
|
12
|
+
$mfp-popup-padding-left-mobile: 6px; // Same as above, but is applied when width of window is less than 800px
|
13
|
+
|
14
|
+
$mfp-z-index-base: 1040; // Base z-index of popup
|
15
|
+
|
16
|
+
// controls
|
17
|
+
$mfp-include-arrows: true; // Include styles for nav arrows
|
18
|
+
$mfp-controls-opacity: 1; // Opacity of controls
|
19
|
+
$mfp-controls-color: #fff; // Color of controls
|
20
|
+
$mfp-controls-border-color: #fff; // Border color of controls
|
21
|
+
$mfp-inner-close-icon-color: #fff; // Color of close button when inside
|
22
|
+
$mfp-controls-text-color: #ccc; // Color of preloader and "1 of X" indicator
|
23
|
+
$mfp-controls-text-color-hover: #fff; // Hover color of preloader and "1 of X" indicator
|
24
|
+
$mfp-IE7support: true; // Very basic IE7 support
|
25
|
+
|
26
|
+
// Iframe-type options
|
27
|
+
$mfp-include-iframe-type: true; // Enable Iframe-type popups
|
28
|
+
$mfp-iframe-padding-top: 40px; // Iframe padding top
|
29
|
+
$mfp-iframe-background: #000; // Background color of iframes
|
30
|
+
$mfp-iframe-max-width: 900px; // Maximum width of iframes
|
31
|
+
$mfp-iframe-ratio: 9/16; // Ratio of iframe (9/16 = widescreen, 3/4 = standard, etc.)
|
32
|
+
|
33
|
+
// Image-type options
|
34
|
+
$mfp-include-image-type: true; // Enable Image-type popups
|
35
|
+
$mfp-image-background: #444 !default;
|
36
|
+
$mfp-image-padding-top: 40px; // Image padding top
|
37
|
+
$mfp-image-padding-bottom: 40px; // Image padding bottom
|
38
|
+
$mfp-include-mobile-layout-for-image: true; // Removes paddings from top and bottom
|
39
|
+
|
40
|
+
// Image caption options
|
41
|
+
$mfp-caption-title-color: #f3f3f3; // Caption title color
|
42
|
+
$mfp-caption-subtitle-color: #bdbdbd; // Caption subtitle color
|
43
|
+
.mfp-counter { font-family: $serif; } // Caption font family
|
44
|
+
|
45
|
+
// A11y
|
46
46
|
$mfp-use-visuallyhidden: false;
|
@@ -1,13 +1,13 @@
|
|
1
|
-
// Susy (Prefixed)
|
2
|
-
// ===============
|
3
|
-
|
4
|
-
$susy-version: 3;
|
5
|
-
|
6
|
-
@import 'susy/utilities';
|
7
|
-
@import 'susy/su-validate';
|
8
|
-
@import 'susy/su-math';
|
9
|
-
@import 'susy/settings';
|
10
|
-
@import 'susy/normalize';
|
11
|
-
@import 'susy/parse';
|
12
|
-
@import 'susy/syntax-helpers';
|
13
|
-
@import 'susy/api';
|
1
|
+
// Susy (Prefixed)
|
2
|
+
// ===============
|
3
|
+
|
4
|
+
$susy-version: 3;
|
5
|
+
|
6
|
+
@import 'susy/utilities';
|
7
|
+
@import 'susy/su-validate';
|
8
|
+
@import 'susy/su-math';
|
9
|
+
@import 'susy/settings';
|
10
|
+
@import 'susy/normalize';
|
11
|
+
@import 'susy/parse';
|
12
|
+
@import 'susy/syntax-helpers';
|
13
|
+
@import 'susy/api';
|
@@ -1,5 +1,5 @@
|
|
1
|
-
// Susy (Un-Prefixed)
|
2
|
-
// ==================
|
3
|
-
|
4
|
-
@import 'susy-prefix';
|
5
|
-
@import 'susy/unprefix';
|
1
|
+
// Susy (Un-Prefixed)
|
2
|
+
// ==================
|
3
|
+
|
4
|
+
@import 'susy-prefix';
|
5
|
+
@import 'susy/unprefix';
|
@@ -1,5 +1,5 @@
|
|
1
|
-
// SVG Grid Background
|
2
|
-
// ===================
|
3
|
-
|
4
|
-
@import 'svg-grid/prefix';
|
5
|
-
@import 'svg-grid/svg-unprefix';
|
1
|
+
// SVG Grid Background
|
2
|
+
// ===================
|
3
|
+
|
4
|
+
@import 'svg-grid/prefix';
|
5
|
+
@import 'svg-grid/svg-unprefix';
|
@@ -1,7 +1,7 @@
|
|
1
|
-
// Prefixed SVG Plugin
|
2
|
-
// ===================
|
3
|
-
|
4
|
-
@import 'svg-settings';
|
5
|
-
@import 'svg-utilities';
|
6
|
-
@import 'svg-grid-math';
|
7
|
-
@import 'svg-api';
|
1
|
+
// Prefixed SVG Plugin
|
2
|
+
// ===================
|
3
|
+
|
4
|
+
@import 'svg-settings';
|
5
|
+
@import 'svg-utilities';
|
6
|
+
@import 'svg-grid-math';
|
7
|
+
@import 'svg-api';
|
@@ -1,114 +1,114 @@
|
|
1
|
-
/// Plugin: SVG Grid Image
|
2
|
-
/// ======================
|
3
|
-
/// @group plugin_svg-grid
|
4
|
-
/// @see susy-svg-grid
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
/// ## Overview
|
9
|
-
/// If you want to generate svg-backgrounds
|
10
|
-
/// for help visualizing and debugging your grids,
|
11
|
-
/// import the SVG Grid Plugin.
|
12
|
-
///
|
13
|
-
/// The plugin adds `svg-grid-colors` setting
|
14
|
-
/// to your global defaults,
|
15
|
-
/// which you can override in `$susy`.
|
16
|
-
/// It also provides you with a new function,
|
17
|
-
/// `susy-svg-grid()`,
|
18
|
-
/// which will return inline svg for use in
|
19
|
-
/// backgrounds or generated content.
|
20
|
-
///
|
21
|
-
/// This function come with an unprefixed alias by default,
|
22
|
-
/// using the `svg-grid` import.
|
23
|
-
/// If you only only want prefixed versions of the API,
|
24
|
-
/// import the `svg-grid/prefix` partial instead.
|
25
|
-
///
|
26
|
-
/// @group plugin_svg-grid
|
27
|
-
///
|
28
|
-
/// @example scss - importing the plugin
|
29
|
-
/// // The full path to import Susy will depend on your setup…
|
30
|
-
///
|
31
|
-
/// // unprefixed
|
32
|
-
/// @import 'plugins/svg-grid';
|
33
|
-
///
|
34
|
-
/// // prefixed
|
35
|
-
/// @import 'plugins/svg-grid/prefix';
|
36
|
-
///
|
37
|
-
/// @example scss - generating background grids
|
38
|
-
/// .grid {
|
39
|
-
/// background: susy-svg-grid() no-repeat scroll;
|
40
|
-
/// }
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
// SVG Grid
|
45
|
-
// --------
|
46
|
-
/// Return inline svg-data in to display the grid.
|
47
|
-
///
|
48
|
-
/// @group plugin_svg-grid
|
49
|
-
///
|
50
|
-
/// @param {Map | List} $grid [$susy] -
|
51
|
-
/// Map or shorthand defining the current grid
|
52
|
-
/// @param {Color | List | null} $colors [null] -
|
53
|
-
/// Column color, or list of colors for column-gradient,
|
54
|
-
/// used to override the global `svg-grid-colors` setting
|
55
|
-
/// @param {Length | null} $offset [null] -
|
56
|
-
/// Manually override the default grid-image offset,
|
57
|
-
/// to account for grid edges
|
58
|
-
///
|
59
|
-
/// @return {String} -
|
60
|
-
/// CSS inline-data SVG string, in `url(<svg>)` format,
|
61
|
-
/// for use in image or content properties
|
62
|
-
/// @example scss
|
63
|
-
/// .grid {
|
64
|
-
/// background: susy-svg-grid() no-repeat scroll;
|
65
|
-
/// }
|
66
|
-
@function susy-svg-grid(
|
67
|
-
$grid: $susy,
|
68
|
-
$colors: null,
|
69
|
-
$offset: null
|
70
|
-
) {
|
71
|
-
// Grid parsing & normalizing
|
72
|
-
$grid: susy-compile($grid, $context-only: true);
|
73
|
-
|
74
|
-
// Color and gradient handling
|
75
|
-
$gradient: '';
|
76
|
-
|
77
|
-
@if (not $colors) {
|
78
|
-
$colors: susy-get('svg-grid-colors');
|
79
|
-
}
|
80
|
-
|
81
|
-
@if length($colors) > 1 {
|
82
|
-
$gradient: _susy-svg-gradient($colors);
|
83
|
-
$colors: 'url(%23susy-svg-gradient)';
|
84
|
-
} @else {
|
85
|
-
$colors: _susy-svg-color($colors);
|
86
|
-
}
|
87
|
-
|
88
|
-
// Get a default image-width
|
89
|
-
$span: (
|
90
|
-
'span': map-get($grid, 'columns'),
|
91
|
-
'spread': map-get($grid, 'container-spread'),
|
92
|
-
);
|
93
|
-
$span: map-merge($grid, $span);
|
94
|
-
$image-width: su-call('su-span', $span);
|
95
|
-
$image-width: if((type-of($image-width) == 'number'), $image-width, 100%);
|
96
|
-
|
97
|
-
// SVG construction
|
98
|
-
$columns: map-get($grid, 'columns');
|
99
|
-
$offset: $offset or _susy-svg-offset($grid);
|
100
|
-
|
101
|
-
$attrs: 'fill="#{$colors}" width="#{$image-width}"';
|
102
|
-
$svg: 'data:image/svg+xml,';
|
103
|
-
$svg: $svg + '%3Csvg xmlns="http://www.w3.org/2000/svg" #{$attrs} %3E';
|
104
|
-
$svg: $svg + $gradient;
|
105
|
-
|
106
|
-
@for $column from 1 through length($columns) {
|
107
|
-
$width: susy-span(1 narrow at $column, $grid);
|
108
|
-
$x: _susy-svg-column-position($column, $grid);
|
109
|
-
|
110
|
-
$svg: $svg + _susy-svg-rect($x, $width, $offset);
|
111
|
-
}
|
112
|
-
|
113
|
-
@return url('#{$svg}%3C/svg%3E');
|
114
|
-
}
|
1
|
+
/// Plugin: SVG Grid Image
|
2
|
+
/// ======================
|
3
|
+
/// @group plugin_svg-grid
|
4
|
+
/// @see susy-svg-grid
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
/// ## Overview
|
9
|
+
/// If you want to generate svg-backgrounds
|
10
|
+
/// for help visualizing and debugging your grids,
|
11
|
+
/// import the SVG Grid Plugin.
|
12
|
+
///
|
13
|
+
/// The plugin adds `svg-grid-colors` setting
|
14
|
+
/// to your global defaults,
|
15
|
+
/// which you can override in `$susy`.
|
16
|
+
/// It also provides you with a new function,
|
17
|
+
/// `susy-svg-grid()`,
|
18
|
+
/// which will return inline svg for use in
|
19
|
+
/// backgrounds or generated content.
|
20
|
+
///
|
21
|
+
/// This function come with an unprefixed alias by default,
|
22
|
+
/// using the `svg-grid` import.
|
23
|
+
/// If you only only want prefixed versions of the API,
|
24
|
+
/// import the `svg-grid/prefix` partial instead.
|
25
|
+
///
|
26
|
+
/// @group plugin_svg-grid
|
27
|
+
///
|
28
|
+
/// @example scss - importing the plugin
|
29
|
+
/// // The full path to import Susy will depend on your setup…
|
30
|
+
///
|
31
|
+
/// // unprefixed
|
32
|
+
/// @import 'plugins/svg-grid';
|
33
|
+
///
|
34
|
+
/// // prefixed
|
35
|
+
/// @import 'plugins/svg-grid/prefix';
|
36
|
+
///
|
37
|
+
/// @example scss - generating background grids
|
38
|
+
/// .grid {
|
39
|
+
/// background: susy-svg-grid() no-repeat scroll;
|
40
|
+
/// }
|
41
|
+
|
42
|
+
|
43
|
+
|
44
|
+
// SVG Grid
|
45
|
+
// --------
|
46
|
+
/// Return inline svg-data in to display the grid.
|
47
|
+
///
|
48
|
+
/// @group plugin_svg-grid
|
49
|
+
///
|
50
|
+
/// @param {Map | List} $grid [$susy] -
|
51
|
+
/// Map or shorthand defining the current grid
|
52
|
+
/// @param {Color | List | null} $colors [null] -
|
53
|
+
/// Column color, or list of colors for column-gradient,
|
54
|
+
/// used to override the global `svg-grid-colors` setting
|
55
|
+
/// @param {Length | null} $offset [null] -
|
56
|
+
/// Manually override the default grid-image offset,
|
57
|
+
/// to account for grid edges
|
58
|
+
///
|
59
|
+
/// @return {String} -
|
60
|
+
/// CSS inline-data SVG string, in `url(<svg>)` format,
|
61
|
+
/// for use in image or content properties
|
62
|
+
/// @example scss
|
63
|
+
/// .grid {
|
64
|
+
/// background: susy-svg-grid() no-repeat scroll;
|
65
|
+
/// }
|
66
|
+
@function susy-svg-grid(
|
67
|
+
$grid: $susy,
|
68
|
+
$colors: null,
|
69
|
+
$offset: null
|
70
|
+
) {
|
71
|
+
// Grid parsing & normalizing
|
72
|
+
$grid: susy-compile($grid, $context-only: true);
|
73
|
+
|
74
|
+
// Color and gradient handling
|
75
|
+
$gradient: '';
|
76
|
+
|
77
|
+
@if (not $colors) {
|
78
|
+
$colors: susy-get('svg-grid-colors');
|
79
|
+
}
|
80
|
+
|
81
|
+
@if length($colors) > 1 {
|
82
|
+
$gradient: _susy-svg-gradient($colors);
|
83
|
+
$colors: 'url(%23susy-svg-gradient)';
|
84
|
+
} @else {
|
85
|
+
$colors: _susy-svg-color($colors);
|
86
|
+
}
|
87
|
+
|
88
|
+
// Get a default image-width
|
89
|
+
$span: (
|
90
|
+
'span': map-get($grid, 'columns'),
|
91
|
+
'spread': map-get($grid, 'container-spread'),
|
92
|
+
);
|
93
|
+
$span: map-merge($grid, $span);
|
94
|
+
$image-width: su-call('su-span', $span);
|
95
|
+
$image-width: if((type-of($image-width) == 'number'), $image-width, 100%);
|
96
|
+
|
97
|
+
// SVG construction
|
98
|
+
$columns: map-get($grid, 'columns');
|
99
|
+
$offset: $offset or _susy-svg-offset($grid);
|
100
|
+
|
101
|
+
$attrs: 'fill="#{$colors}" width="#{$image-width}"';
|
102
|
+
$svg: 'data:image/svg+xml,';
|
103
|
+
$svg: $svg + '%3Csvg xmlns="http://www.w3.org/2000/svg" #{$attrs} %3E';
|
104
|
+
$svg: $svg + $gradient;
|
105
|
+
|
106
|
+
@for $column from 1 through length($columns) {
|
107
|
+
$width: susy-span(1 narrow at $column, $grid);
|
108
|
+
$x: _susy-svg-column-position($column, $grid);
|
109
|
+
|
110
|
+
$svg: $svg + _susy-svg-rect($x, $width, $offset);
|
111
|
+
}
|
112
|
+
|
113
|
+
@return url('#{$svg}%3C/svg%3E');
|
114
|
+
}
|
@@ -1,67 +1,67 @@
|
|
1
|
-
// SVG Grid Math
|
2
|
-
// =============
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
// SVG Column Position
|
7
|
-
// -------------------
|
8
|
-
/// Determine the proper horizontal position
|
9
|
-
/// for a column rectangle
|
10
|
-
///
|
11
|
-
/// @access private
|
12
|
-
///
|
13
|
-
/// @param {Integer} $column -
|
14
|
-
/// 1-indexed column location on the grid
|
15
|
-
/// @param {Map} $grid -
|
16
|
-
/// Normalized settings map representing the current grid
|
17
|
-
///
|
18
|
-
/// @return {Length} -
|
19
|
-
/// Horizontal position of svg column rectangle,
|
20
|
-
/// as distance from the grid edge
|
21
|
-
@function _susy-svg-column-position(
|
22
|
-
$column,
|
23
|
-
$grid
|
24
|
-
) {
|
25
|
-
$x: $column - 1;
|
26
|
-
|
27
|
-
@if ($x > 0) {
|
28
|
-
$x: susy-span(first $x wide, $grid);
|
29
|
-
}
|
30
|
-
|
31
|
-
@return $x;
|
32
|
-
}
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
// SVG Offset
|
37
|
-
// ----------
|
38
|
-
/// Determine if a grid image needs to be offset,
|
39
|
-
/// to account for edge gutters.
|
40
|
-
///
|
41
|
-
/// @access private
|
42
|
-
///
|
43
|
-
/// @param {Map} $grid -
|
44
|
-
/// Normalized settings map representing the current grid
|
45
|
-
///
|
46
|
-
/// @return {Length | null} -
|
47
|
-
/// Expected distance from container edge to first column,
|
48
|
-
/// based on spread values and gutter-widths
|
49
|
-
@function _susy-svg-offset(
|
50
|
-
$grid
|
51
|
-
) {
|
52
|
-
$columns: su-valid-columns(map-get($grid, 'columns'));
|
53
|
-
$gutters: su-valid-gutters(map-get($grid, 'gutters'));
|
54
|
-
$container: su-valid-spread(map-get($grid, 'container-spread')) + 1;
|
55
|
-
|
56
|
-
@if ($container == 0) {
|
57
|
-
@return null;
|
58
|
-
}
|
59
|
-
|
60
|
-
$gutter: su-call('su-gutter', $grid);
|
61
|
-
|
62
|
-
@if (type-of($gutter) == 'string') {
|
63
|
-
@return 'calc(#{$container} * #{$gutter} / 2)';
|
64
|
-
}
|
65
|
-
|
66
|
-
@return $container * $gutter / 2;
|
67
|
-
}
|
1
|
+
// SVG Grid Math
|
2
|
+
// =============
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
// SVG Column Position
|
7
|
+
// -------------------
|
8
|
+
/// Determine the proper horizontal position
|
9
|
+
/// for a column rectangle
|
10
|
+
///
|
11
|
+
/// @access private
|
12
|
+
///
|
13
|
+
/// @param {Integer} $column -
|
14
|
+
/// 1-indexed column location on the grid
|
15
|
+
/// @param {Map} $grid -
|
16
|
+
/// Normalized settings map representing the current grid
|
17
|
+
///
|
18
|
+
/// @return {Length} -
|
19
|
+
/// Horizontal position of svg column rectangle,
|
20
|
+
/// as distance from the grid edge
|
21
|
+
@function _susy-svg-column-position(
|
22
|
+
$column,
|
23
|
+
$grid
|
24
|
+
) {
|
25
|
+
$x: $column - 1;
|
26
|
+
|
27
|
+
@if ($x > 0) {
|
28
|
+
$x: susy-span(first $x wide, $grid);
|
29
|
+
}
|
30
|
+
|
31
|
+
@return $x;
|
32
|
+
}
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
// SVG Offset
|
37
|
+
// ----------
|
38
|
+
/// Determine if a grid image needs to be offset,
|
39
|
+
/// to account for edge gutters.
|
40
|
+
///
|
41
|
+
/// @access private
|
42
|
+
///
|
43
|
+
/// @param {Map} $grid -
|
44
|
+
/// Normalized settings map representing the current grid
|
45
|
+
///
|
46
|
+
/// @return {Length | null} -
|
47
|
+
/// Expected distance from container edge to first column,
|
48
|
+
/// based on spread values and gutter-widths
|
49
|
+
@function _susy-svg-offset(
|
50
|
+
$grid
|
51
|
+
) {
|
52
|
+
$columns: su-valid-columns(map-get($grid, 'columns'));
|
53
|
+
$gutters: su-valid-gutters(map-get($grid, 'gutters'));
|
54
|
+
$container: su-valid-spread(map-get($grid, 'container-spread')) + 1;
|
55
|
+
|
56
|
+
@if ($container == 0) {
|
57
|
+
@return null;
|
58
|
+
}
|
59
|
+
|
60
|
+
$gutter: su-call('su-gutter', $grid);
|
61
|
+
|
62
|
+
@if (type-of($gutter) == 'string') {
|
63
|
+
@return 'calc(#{$container} * #{$gutter} / 2)';
|
64
|
+
}
|
65
|
+
|
66
|
+
@return $container * $gutter / 2;
|
67
|
+
}
|