jekyll-theme-basically-basic 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/README.md +150 -42
- data/_includes/author +30 -30
- data/_includes/contact-list.html +27 -27
- data/_includes/cv/awards.html +23 -23
- data/_includes/cv/basics.html +68 -68
- data/_includes/cv/education.html +36 -36
- data/_includes/cv/interests.html +19 -19
- data/_includes/cv/intro.html +18 -18
- data/_includes/cv/languages.html +19 -19
- data/_includes/cv/publications.html +29 -29
- data/_includes/cv/references.html +23 -23
- data/_includes/cv/volunteer.html +46 -46
- data/_includes/cv/work.html +46 -46
- data/_includes/disqus_comments.html +16 -16
- data/_includes/documents-collection.html +19 -0
- data/_includes/entry.html +37 -29
- data/_includes/footer.html +11 -9
- data/_includes/google-analytics.html +8 -8
- data/_includes/head.html +35 -35
- data/_includes/icon-bitbucket.html +4 -4
- data/_includes/icon-codepen.html +4 -4
- data/_includes/icon-dribbble.html +4 -4
- data/_includes/icon-facebook.html +4 -4
- data/_includes/icon-flickr.html +4 -4
- data/_includes/icon-github.html +4 -4
- data/_includes/icon-gitlab.html +4 -4
- data/_includes/icon-googleplus.html +4 -4
- data/_includes/icon-instagram.html +4 -4
- data/_includes/icon-lastfm.html +4 -4
- data/_includes/icon-linkedin.html +4 -4
- data/_includes/icon-pinterest.html +4 -4
- data/_includes/icon-soundcloud.html +4 -4
- data/_includes/icon-stackoverflow.html +4 -4
- data/_includes/icon-tumblr.html +4 -4
- data/_includes/icon-twitter.html +4 -4
- data/_includes/icon-xing.html +4 -4
- data/_includes/icon-youtube.html +4 -4
- data/_includes/masthead.html +27 -27
- data/_includes/navigation.html +25 -25
- data/_includes/page-intro.html +42 -42
- data/_includes/page-tags.html +14 -0
- data/_includes/posts-all.html +2 -2
- data/_includes/posts-category.html +3 -0
- data/_includes/posts-paginated.html +15 -15
- data/_includes/posts-tag.html +3 -0
- data/_includes/read-time.html +13 -13
- data/_includes/search-form.html +14 -13
- data/_includes/search/algolia-search-scripts.html +52 -52
- data/_includes/search/lunr-search-scripts.html +1 -1
- data/_includes/skip-links.html +8 -8
- data/_layouts/about.html +0 -2
- data/_layouts/categories.html +48 -0
- data/_layouts/category.html +9 -0
- data/_layouts/collection.html +9 -0
- data/_layouts/cv.html +28 -28
- data/_layouts/default.html +2 -1
- data/_layouts/home.html +28 -30
- data/_layouts/page.html +15 -17
- data/_layouts/post.html +18 -20
- data/_layouts/posts.html +29 -0
- data/_layouts/tag.html +9 -0
- data/_layouts/tags.html +48 -0
- data/_sass/basically-basic.scss +1 -1
- data/_sass/basically-basic/_base.scss +116 -118
- data/_sass/basically-basic/_contact-lists.scss +11 -11
- data/_sass/basically-basic/_entries.scss +230 -152
- data/_sass/basically-basic/_footer.scss +37 -13
- data/_sass/basically-basic/_functions.scss +2 -2
- data/_sass/basically-basic/_global.scss +116 -42
- data/_sass/basically-basic/_icons.scss +43 -43
- data/_sass/basically-basic/_intro.scss +3 -1
- data/_sass/basically-basic/_layout.scss +188 -188
- data/_sass/basically-basic/_mixins.scss +5 -5
- data/_sass/basically-basic/_navicons.scss +148 -148
- data/_sass/basically-basic/_navigation.scss +66 -66
- data/_sass/basically-basic/_print.scss +252 -252
- data/_sass/basically-basic/_reset.scss +522 -522
- data/_sass/basically-basic/_responsive-embed.scss +70 -70
- data/_sass/basically-basic/_search.scss +101 -101
- data/_sass/basically-basic/_sidebar.scss +166 -166
- data/_sass/basically-basic/_tables.scss +34 -34
- data/_sass/basically-basic/_utilities.scss +6 -6
- data/_sass/basically-basic/_variables.scss +3 -0
- data/_sass/basically-basic/functions/_color.scss +21 -21
- data/_sass/basically-basic/functions/_fluid-type.scss +33 -33
- data/_sass/basically-basic/mixins/_clearfix.scss +11 -11
- data/_sass/basically-basic/mixins/_float.scss +15 -15
- data/_sass/basically-basic/mixins/_image.scss +38 -38
- data/_sass/basically-basic/mixins/_lists.scss +9 -9
- data/_sass/basically-basic/mixins/_text-truncate.scss +10 -10
- data/_sass/basically-basic/themes/_default.scss +5 -5
- data/_sass/basically-basic/themes/_night.scss +12 -12
- data/_sass/basically-basic/themes/_plum.scss +12 -12
- data/_sass/basically-basic/themes/_sea.scss +12 -12
- data/_sass/basically-basic/utilities/_accessibility.scss +43 -43
- data/_sass/basically-basic/utilities/_align.scss +62 -62
- data/_sass/basically-basic/utilities/_clearfix.scss +7 -7
- data/_sass/basically-basic/utilities/_float.scss +7 -7
- data/_sass/basically-basic/utilities/_text.scss +28 -28
- data/_sass/basically-basic/utilities/_visibility.scss +32 -32
- data/_sass/basically-basic/vendor/breakpoint/_breakpoint.scss +114 -114
- data/_sass/basically-basic/vendor/breakpoint/_context.scss +94 -94
- data/_sass/basically-basic/vendor/breakpoint/_helpers.scss +151 -151
- data/_sass/basically-basic/vendor/breakpoint/_legacy-settings.scss +49 -49
- data/_sass/basically-basic/vendor/breakpoint/_no-query.scss +15 -15
- data/_sass/basically-basic/vendor/breakpoint/_parsers.scss +215 -215
- data/_sass/basically-basic/vendor/breakpoint/_respond-to.scss +82 -82
- data/_sass/basically-basic/vendor/breakpoint/_settings.scss +70 -70
- data/_sass/basically-basic/vendor/breakpoint/parsers/_double.scss +33 -33
- data/_sass/basically-basic/vendor/breakpoint/parsers/_query.scss +82 -82
- data/_sass/basically-basic/vendor/breakpoint/parsers/_resolution.scss +31 -31
- data/_sass/basically-basic/vendor/breakpoint/parsers/_single.scss +26 -26
- data/_sass/basically-basic/vendor/breakpoint/parsers/_triple.scss +36 -36
- data/_sass/basically-basic/vendor/breakpoint/parsers/double/_default-pair.scss +21 -21
- data/_sass/basically-basic/vendor/breakpoint/parsers/double/_default.scss +22 -22
- data/_sass/basically-basic/vendor/breakpoint/parsers/double/_double-string.scss +21 -21
- data/_sass/basically-basic/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -60
- data/_sass/basically-basic/vendor/breakpoint/parsers/single/_default.scss +13 -13
- data/_sass/basically-basic/vendor/breakpoint/parsers/triple/_default.scss +18 -18
- data/_sass/basically-basic/vendor/susy/_su.scss +4 -4
- data/_sass/basically-basic/vendor/susy/_susy-prefix.scss +13 -13
- data/_sass/basically-basic/vendor/susy/_susy.scss +5 -5
- data/_sass/basically-basic/vendor/susy/plugins/_svg-grid.scss +5 -5
- data/_sass/basically-basic/vendor/susy/plugins/svg-grid/_prefix.scss +7 -7
- data/_sass/basically-basic/vendor/susy/plugins/svg-grid/_svg-api.scss +114 -114
- data/_sass/basically-basic/vendor/susy/plugins/svg-grid/_svg-grid-math.scss +67 -67
- data/_sass/basically-basic/vendor/susy/plugins/svg-grid/_svg-settings.scss +14 -14
- data/_sass/basically-basic/vendor/susy/plugins/svg-grid/_svg-unprefix.scss +18 -18
- data/_sass/basically-basic/vendor/susy/plugins/svg-grid/_svg-utilities.scss +133 -133
- data/_sass/basically-basic/vendor/susy/susy/_api.scss +318 -318
- data/_sass/basically-basic/vendor/susy/susy/_normalize.scss +261 -261
- data/_sass/basically-basic/vendor/susy/susy/_parse.scss +163 -163
- data/_sass/basically-basic/vendor/susy/susy/_settings.scss +329 -329
- data/_sass/basically-basic/vendor/susy/susy/_su-math.scss +441 -441
- data/_sass/basically-basic/vendor/susy/susy/_su-validate.scss +213 -213
- data/_sass/basically-basic/vendor/susy/susy/_syntax-helpers.scss +191 -191
- data/_sass/basically-basic/vendor/susy/susy/_unprefix.scss +56 -56
- data/_sass/basically-basic/vendor/susy/susy/_utilities.scss +167 -167
- data/assets/javascripts/lunr/lunr.da.min.js +17 -17
- data/assets/javascripts/lunr/lunr.de.min.js +17 -17
- data/assets/javascripts/lunr/lunr.du.min.js +17 -17
- data/assets/javascripts/lunr/lunr.es.min.js +17 -17
- data/assets/javascripts/lunr/lunr.fi.min.js +17 -17
- data/assets/javascripts/lunr/lunr.fr.min.js +17 -17
- data/assets/javascripts/lunr/lunr.hu.min.js +17 -17
- data/assets/javascripts/lunr/lunr.it.min.js +17 -17
- data/assets/javascripts/lunr/lunr.jp.min.js +1 -1
- data/assets/javascripts/lunr/lunr.min.js +6 -6
- data/assets/javascripts/lunr/lunr.no.min.js +17 -17
- data/assets/javascripts/lunr/lunr.pt.min.js +17 -17
- data/assets/javascripts/lunr/lunr.ro.min.js +17 -17
- data/assets/javascripts/lunr/lunr.ru.min.js +17 -17
- data/assets/javascripts/lunr/lunr.sv.min.js +17 -17
- data/assets/javascripts/lunr/lunr.tr.min.js +17 -17
- data/assets/javascripts/main.js +12 -12
- data/assets/javascripts/search-data.json +43 -27
- data/assets/stylesheets/main.scss +9 -9
- metadata +21 -5
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
@function breakpoint-parse-triple-default($feature, $first, $second) {
|
|
2
|
-
|
|
3
|
-
// Sort into min and max
|
|
4
|
-
$min: min($first, $second);
|
|
5
|
-
$max: max($first, $second);
|
|
6
|
-
|
|
7
|
-
// Set Context
|
|
8
|
-
$context-setter: private-breakpoint-set-context(min-#{$feature}, $min);
|
|
9
|
-
$context-setter: private-breakpoint-set-context(max-#{$feature}, $max);
|
|
10
|
-
|
|
11
|
-
// Make them EMs if need be
|
|
12
|
-
@if (breakpoint-get('to ems') == true) {
|
|
13
|
-
$min: breakpoint-to-base-em($min);
|
|
14
|
-
$max: breakpoint-to-base-em($max);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@return '(min-#{$feature}: #{$min}) and (max-#{$feature}: #{$max})';
|
|
18
|
-
}
|
|
1
|
+
@function breakpoint-parse-triple-default($feature, $first, $second) {
|
|
2
|
+
|
|
3
|
+
// Sort into min and max
|
|
4
|
+
$min: min($first, $second);
|
|
5
|
+
$max: max($first, $second);
|
|
6
|
+
|
|
7
|
+
// Set Context
|
|
8
|
+
$context-setter: private-breakpoint-set-context(min-#{$feature}, $min);
|
|
9
|
+
$context-setter: private-breakpoint-set-context(max-#{$feature}, $max);
|
|
10
|
+
|
|
11
|
+
// Make them EMs if need be
|
|
12
|
+
@if (breakpoint-get('to ems') == true) {
|
|
13
|
+
$min: breakpoint-to-base-em($min);
|
|
14
|
+
$max: breakpoint-to-base-em($max);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@return '(min-#{$feature}: #{$min}) and (max-#{$feature}: #{$max})';
|
|
18
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Su
|
|
2
|
-
// ==
|
|
3
|
-
|
|
4
|
-
@import 'susy/su';
|
|
1
|
+
// Su
|
|
2
|
+
// ==
|
|
3
|
+
|
|
4
|
+
@import 'susy/su';
|
|
@@ -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
|
+
}
|