jekyll-theme-basically-basic 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +19 -0
- data/LICENSE.md +21 -0
- data/README.md +582 -0
- data/_includes/author +31 -0
- data/_includes/contact-list.html +27 -0
- data/_includes/cv/awards.html +24 -0
- data/_includes/cv/basics.html +69 -0
- data/_includes/cv/education.html +36 -0
- data/_includes/cv/interests.html +20 -0
- data/_includes/cv/intro.html +18 -0
- data/_includes/cv/languages.html +20 -0
- data/_includes/cv/publications.html +30 -0
- data/_includes/cv/references.html +24 -0
- data/_includes/cv/skills.html +20 -0
- data/_includes/cv/volunteer.html +46 -0
- data/_includes/cv/work.html +46 -0
- data/_includes/disqus_comments.html +17 -0
- data/_includes/entry.html +29 -0
- data/_includes/footer.html +9 -0
- data/_includes/google-analytics.html +9 -0
- data/_includes/head-feed.html +1 -0
- data/_includes/head-seo.html +1 -0
- data/_includes/head.html +35 -0
- data/_includes/icon-arrow-left.svg +1 -0
- data/_includes/icon-arrow-right.svg +1 -0
- data/_includes/icon-bitbucket.html +4 -0
- data/_includes/icon-bitbucket.svg +1 -0
- data/_includes/icon-calendar.svg +1 -0
- data/_includes/icon-codepen.html +4 -0
- data/_includes/icon-codepen.svg +1 -0
- data/_includes/icon-download.svg +1 -0
- data/_includes/icon-dribbble.html +4 -0
- data/_includes/icon-dribbble.svg +1 -0
- data/_includes/icon-email.svg +1 -0
- data/_includes/icon-facebook.html +4 -0
- data/_includes/icon-facebook.svg +1 -0
- data/_includes/icon-flickr.html +4 -0
- data/_includes/icon-flickr.svg +1 -0
- data/_includes/icon-github.html +4 -0
- data/_includes/icon-github.svg +1 -0
- data/_includes/icon-gitlab.html +4 -0
- data/_includes/icon-gitlab.svg +1 -0
- data/_includes/icon-googleplus.html +4 -0
- data/_includes/icon-googleplus.svg +1 -0
- data/_includes/icon-instagram.html +4 -0
- data/_includes/icon-instagram.svg +1 -0
- data/_includes/icon-lastfm.html +4 -0
- data/_includes/icon-lastfm.svg +1 -0
- data/_includes/icon-linkedin.html +4 -0
- data/_includes/icon-linkedin.svg +1 -0
- data/_includes/icon-pdf.svg +1 -0
- data/_includes/icon-pinterest.html +4 -0
- data/_includes/icon-pinterest.svg +1 -0
- data/_includes/icon-rss.svg +1 -0
- data/_includes/icon-soundcloud.html +4 -0
- data/_includes/icon-soundcloud.svg +1 -0
- data/_includes/icon-stackoverflow.html +4 -0
- data/_includes/icon-stackoverflow.svg +1 -0
- data/_includes/icon-stopwatch.svg +1 -0
- data/_includes/icon-tumblr.html +4 -0
- data/_includes/icon-tumblr.svg +1 -0
- data/_includes/icon-twitter.html +4 -0
- data/_includes/icon-twitter.svg +1 -0
- data/_includes/icon-xing.html +4 -0
- data/_includes/icon-xing.svg +1 -0
- data/_includes/icon-youtube.html +4 -0
- data/_includes/icon-youtube.svg +1 -0
- data/_includes/masthead.html +27 -0
- data/_includes/navigation.html +25 -0
- data/_includes/page-intro.html +42 -0
- data/_includes/posts-all.html +3 -0
- data/_includes/posts-paginated.html +16 -0
- data/_includes/read-time.html +13 -0
- data/_includes/scripts.html +5 -0
- data/_includes/skip-links.html +8 -0
- data/_layouts/about.html +21 -0
- data/_layouts/cv.html +28 -0
- data/_layouts/default.html +38 -0
- data/_layouts/home.html +30 -0
- data/_layouts/page.html +17 -0
- data/_layouts/post.html +20 -0
- data/_sass/basically-basic.scss +37 -0
- data/_sass/basically-basic/_base.scss +110 -0
- data/_sass/basically-basic/_buttons.scss +39 -0
- data/_sass/basically-basic/_contact-lists.scss +11 -0
- data/_sass/basically-basic/_entries.scss +155 -0
- data/_sass/basically-basic/_footer.scss +13 -0
- data/_sass/basically-basic/_global.scss +36 -0
- data/_sass/basically-basic/_icons.scss +43 -0
- data/_sass/basically-basic/_intro.scss +65 -0
- data/_sass/basically-basic/_layout.scss +178 -0
- data/_sass/basically-basic/_mixins.scss +7 -0
- data/_sass/basically-basic/_navicons.scss +144 -0
- data/_sass/basically-basic/_navigation.scss +51 -0
- data/_sass/basically-basic/_reset.scss +522 -0
- data/_sass/basically-basic/_sidebar.scss +177 -0
- data/_sass/basically-basic/_syntax-highlighting.scss +127 -0
- data/_sass/basically-basic/_tables.scss +42 -0
- data/_sass/basically-basic/_utilities.scss +5 -0
- data/_sass/basically-basic/_variables.scss +84 -0
- data/_sass/basically-basic/mixins/_clearfix.scss +11 -0
- data/_sass/basically-basic/mixins/_color.scss +21 -0
- data/_sass/basically-basic/mixins/_float.scss +15 -0
- data/_sass/basically-basic/mixins/_fluid-type.scss +33 -0
- data/_sass/basically-basic/mixins/_image.scss +38 -0
- data/_sass/basically-basic/mixins/_lists.scss +9 -0
- data/_sass/basically-basic/mixins/_text-truncate.scss +10 -0
- data/_sass/basically-basic/themes/_default.scss +5 -0
- data/_sass/basically-basic/themes/_night.scss +12 -0
- data/_sass/basically-basic/themes/_plum.scss +12 -0
- data/_sass/basically-basic/themes/_sea.scss +12 -0
- data/_sass/basically-basic/themes/_soft.scss +12 -0
- data/_sass/basically-basic/themes/_steel.scss +12 -0
- data/_sass/basically-basic/utilities/_accessibility.scss +54 -0
- data/_sass/basically-basic/utilities/_align.scss +64 -0
- data/_sass/basically-basic/utilities/_clearfix.scss +7 -0
- data/_sass/basically-basic/utilities/_float.scss +7 -0
- data/_sass/basically-basic/utilities/_text.scss +28 -0
- data/_sass/basically-basic/vendor/_breakpoint.scss +114 -0
- data/_sass/basically-basic/vendor/_su.scss +4 -0
- data/_sass/basically-basic/vendor/_susy.scss +4 -0
- data/_sass/basically-basic/vendor/_susyone.scss +4 -0
- data/_sass/basically-basic/vendor/breakpoint/_context.scss +95 -0
- data/_sass/basically-basic/vendor/breakpoint/_helpers.scss +151 -0
- data/_sass/basically-basic/vendor/breakpoint/_legacy-settings.scss +50 -0
- data/_sass/basically-basic/vendor/breakpoint/_no-query.scss +15 -0
- data/_sass/basically-basic/vendor/breakpoint/_parsers.scss +215 -0
- data/_sass/basically-basic/vendor/breakpoint/_respond-to.scss +82 -0
- data/_sass/basically-basic/vendor/breakpoint/_settings.scss +71 -0
- data/_sass/basically-basic/vendor/breakpoint/parsers/_double.scss +33 -0
- data/_sass/basically-basic/vendor/breakpoint/parsers/_query.scss +82 -0
- data/_sass/basically-basic/vendor/breakpoint/parsers/_resolution.scss +31 -0
- data/_sass/basically-basic/vendor/breakpoint/parsers/_single.scss +26 -0
- data/_sass/basically-basic/vendor/breakpoint/parsers/_triple.scss +36 -0
- data/_sass/basically-basic/vendor/breakpoint/parsers/double/_default-pair.scss +21 -0
- data/_sass/basically-basic/vendor/breakpoint/parsers/double/_default.scss +22 -0
- data/_sass/basically-basic/vendor/breakpoint/parsers/double/_double-string.scss +22 -0
- data/_sass/basically-basic/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -0
- data/_sass/basically-basic/vendor/breakpoint/parsers/single/_default.scss +13 -0
- data/_sass/basically-basic/vendor/breakpoint/parsers/triple/_default.scss +18 -0
- data/_sass/basically-basic/vendor/susy/_su.scss +7 -0
- data/_sass/basically-basic/vendor/susy/language/_susy.scss +24 -0
- data/_sass/basically-basic/vendor/susy/language/_susyone.scss +13 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_background.scss +385 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_bleed.scss +200 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_box-sizing.scss +47 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_breakpoint-plugin.scss +185 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_container.scss +81 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_context.scss +36 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_gallery.scss +94 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_grids.scss +64 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_gutters.scss +154 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_isolate.scss +77 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_margins.scss +94 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_padding.scss +74 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_rows.scss +138 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_settings.scss +216 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_span.scss +163 -0
- data/_sass/basically-basic/vendor/susy/language/susy/_validation.scss +16 -0
- data/_sass/basically-basic/vendor/susy/language/susyone/_background.scss +18 -0
- data/_sass/basically-basic/vendor/susy/language/susyone/_functions.scss +377 -0
- data/_sass/basically-basic/vendor/susy/language/susyone/_grid.scss +312 -0
- data/_sass/basically-basic/vendor/susy/language/susyone/_isolation.scss +51 -0
- data/_sass/basically-basic/vendor/susy/language/susyone/_margin.scss +93 -0
- data/_sass/basically-basic/vendor/susy/language/susyone/_media.scss +105 -0
- data/_sass/basically-basic/vendor/susy/language/susyone/_padding.scss +92 -0
- data/_sass/basically-basic/vendor/susy/language/susyone/_settings.scss +60 -0
- data/_sass/basically-basic/vendor/susy/output/_float.scss +9 -0
- data/_sass/basically-basic/vendor/susy/output/_shared.scss +15 -0
- data/_sass/basically-basic/vendor/susy/output/_support.scss +9 -0
- data/_sass/basically-basic/vendor/susy/output/float/_container.scss +16 -0
- data/_sass/basically-basic/vendor/susy/output/float/_end.scss +40 -0
- data/_sass/basically-basic/vendor/susy/output/float/_isolate.scss +22 -0
- data/_sass/basically-basic/vendor/susy/output/float/_span.scss +35 -0
- data/_sass/basically-basic/vendor/susy/output/shared/_background.scss +26 -0
- data/_sass/basically-basic/vendor/susy/output/shared/_container.scss +21 -0
- data/_sass/basically-basic/vendor/susy/output/shared/_direction.scss +42 -0
- data/_sass/basically-basic/vendor/susy/output/shared/_inspect.scss +25 -0
- data/_sass/basically-basic/vendor/susy/output/shared/_margins.scss +23 -0
- data/_sass/basically-basic/vendor/susy/output/shared/_output.scss +14 -0
- data/_sass/basically-basic/vendor/susy/output/shared/_padding.scss +23 -0
- data/_sass/basically-basic/vendor/susy/output/support/_background.scss +58 -0
- data/_sass/basically-basic/vendor/susy/output/support/_box-sizing.scss +19 -0
- data/_sass/basically-basic/vendor/susy/output/support/_clearfix.scss +18 -0
- data/_sass/basically-basic/vendor/susy/output/support/_prefix.scss +19 -0
- data/_sass/basically-basic/vendor/susy/output/support/_rem.scss +22 -0
- data/_sass/basically-basic/vendor/susy/output/support/_support.scss +85 -0
- data/_sass/basically-basic/vendor/susy/su/_grid.scss +103 -0
- data/_sass/basically-basic/vendor/susy/su/_settings.scss +73 -0
- data/_sass/basically-basic/vendor/susy/su/_utilities.scss +111 -0
- data/_sass/basically-basic/vendor/susy/su/_validation.scss +57 -0
- data/assets/javascripts/main.js +57 -0
- data/assets/stylesheets/main.scss +10 -0
- metadata +335 -0
@@ -0,0 +1,36 @@
|
|
1
|
+
// Context Syntax
|
2
|
+
// ==============
|
3
|
+
|
4
|
+
// Nested [function]
|
5
|
+
// -----------------
|
6
|
+
// Return a subset grid for nested context.
|
7
|
+
// - $context : <span>
|
8
|
+
@function nested(
|
9
|
+
$context
|
10
|
+
) {
|
11
|
+
$context : parse-span($context);
|
12
|
+
$span : susy-get(span, $context);
|
13
|
+
$location : get-location($context);
|
14
|
+
$columns : susy-get(columns, $context);
|
15
|
+
|
16
|
+
@return susy-slice($span, $location, $columns);
|
17
|
+
}
|
18
|
+
|
19
|
+
// Nested [mixin]
|
20
|
+
// --------------
|
21
|
+
// Use a subset grid for a nested context
|
22
|
+
// - $context : <span>
|
23
|
+
// - @content : <content>
|
24
|
+
@mixin nested(
|
25
|
+
$context
|
26
|
+
) {
|
27
|
+
$inspect : $context;
|
28
|
+
$context : parse-span($context);
|
29
|
+
$old : susy-get(columns);
|
30
|
+
$susy : map-merge($susy, (columns: nested($context))) !global;
|
31
|
+
|
32
|
+
@include susy-inspect(nested, $inspect);
|
33
|
+
@content;
|
34
|
+
|
35
|
+
$susy : map-merge($susy, (columns: $old)) !global;
|
36
|
+
}
|
@@ -0,0 +1,94 @@
|
|
1
|
+
// Gallery Syntax
|
2
|
+
// ==============
|
3
|
+
|
4
|
+
// Gallery
|
5
|
+
// -------
|
6
|
+
// Create an isolated gallery
|
7
|
+
// - $span : <span>
|
8
|
+
// - [$selector] : child | of-type
|
9
|
+
@mixin gallery(
|
10
|
+
$span,
|
11
|
+
$selector: child
|
12
|
+
) {
|
13
|
+
$inspect : $span;
|
14
|
+
$span : parse-span($span);
|
15
|
+
$span : map-merge($span, (location: 1));
|
16
|
+
|
17
|
+
$n : susy-get(span, $span);
|
18
|
+
$columns : susy-get(columns, $span);
|
19
|
+
$context : susy-count($columns);
|
20
|
+
$flow : susy-get(flow, $span);
|
21
|
+
|
22
|
+
$inside : is-inside($span);
|
23
|
+
$from : from($flow);
|
24
|
+
$line : floor($context / $n);
|
25
|
+
$symmetrical : is-symmetrical($columns);
|
26
|
+
|
27
|
+
$output: (
|
28
|
+
width : null,
|
29
|
+
float : from,
|
30
|
+
margin-before : null,
|
31
|
+
margin-after : null,
|
32
|
+
padding-before : null,
|
33
|
+
padding-after : null,
|
34
|
+
flow : $flow,
|
35
|
+
);
|
36
|
+
|
37
|
+
@if $inside {
|
38
|
+
$gutters: get-gutters($span);
|
39
|
+
$output: map-merge($output, (
|
40
|
+
padding-before: map-get($gutters, before),
|
41
|
+
padding-after: map-get($gutters, after),
|
42
|
+
));
|
43
|
+
}
|
44
|
+
|
45
|
+
@if $symmetrical {
|
46
|
+
$output: map-merge($output, (width: get-span-width($span)));
|
47
|
+
}
|
48
|
+
|
49
|
+
$box : susy-get(box-sizing, $span);
|
50
|
+
$global-box : if(susy-get(global-box-sizing) == 'border-box', true, false);
|
51
|
+
|
52
|
+
@include susy-inspect(gallery, $inspect);
|
53
|
+
|
54
|
+
// Collective Output
|
55
|
+
@if $box == border-box or ($inside and not($box) and not($global-box)) {
|
56
|
+
@include output((box-sizing: border-box));
|
57
|
+
} @else if $box == content-box {
|
58
|
+
@include output((box-sizing: content-box));
|
59
|
+
}
|
60
|
+
|
61
|
+
@include float-span-output($output...);
|
62
|
+
|
63
|
+
// Individual Loop
|
64
|
+
@for $item from 1 through $line {
|
65
|
+
$nth: '#{$line}n + #{$item}';
|
66
|
+
&:nth-#{$selector}(#{$nth}) {
|
67
|
+
// Individual Prep
|
68
|
+
$output: (
|
69
|
+
width : if($symmetrical, null, get-span-width($span)),
|
70
|
+
float : null,
|
71
|
+
margin-before : get-isolation($span),
|
72
|
+
margin-after : -100%,
|
73
|
+
padding-before : null,
|
74
|
+
padding-after : null,
|
75
|
+
flow : $flow,
|
76
|
+
);
|
77
|
+
|
78
|
+
// Individual Output
|
79
|
+
@include float-span-output($output...);
|
80
|
+
|
81
|
+
@if get-edge($span) == first {
|
82
|
+
@include break;
|
83
|
+
@include first($span);
|
84
|
+
} @else {
|
85
|
+
@include nobreak;
|
86
|
+
}
|
87
|
+
|
88
|
+
// Individual Location Increment
|
89
|
+
$location: get-location($span) + $n;
|
90
|
+
$location: if($location > $context, 1, $location);
|
91
|
+
$span: map-merge($span, (location: $location));
|
92
|
+
}
|
93
|
+
}
|
94
|
+
}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
// Grid Syntax
|
2
|
+
// ===========
|
3
|
+
|
4
|
+
|
5
|
+
// Layout
|
6
|
+
// ------
|
7
|
+
// Set a new layout using a shorthand
|
8
|
+
// - $layout: <settings>
|
9
|
+
// - $clean: boolean
|
10
|
+
@mixin layout(
|
11
|
+
$layout,
|
12
|
+
$clean: false
|
13
|
+
) {
|
14
|
+
$inspect : $layout;
|
15
|
+
$susy : _get-layout($layout, $clean) !global;
|
16
|
+
|
17
|
+
@include susy-inspect(layout, $inspect);
|
18
|
+
}
|
19
|
+
|
20
|
+
|
21
|
+
// Use Grid
|
22
|
+
// --------
|
23
|
+
// Use an arbitrary layout for a section of code
|
24
|
+
// - $layout: <settings>
|
25
|
+
// - $clean: boolean
|
26
|
+
@mixin with-layout(
|
27
|
+
$layout,
|
28
|
+
$clean: false
|
29
|
+
) {
|
30
|
+
$inspect : $layout;
|
31
|
+
$old : $susy;
|
32
|
+
$susy : _get-layout($layout, $clean) !global;
|
33
|
+
|
34
|
+
@include susy-inspect(with-layout, $inspect);
|
35
|
+
|
36
|
+
@content;
|
37
|
+
|
38
|
+
$susy: $old !global;
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
// Layout
|
43
|
+
// ------
|
44
|
+
// Return a parsed layout map based on shorthand syntax
|
45
|
+
// - $layout: <settings>
|
46
|
+
@function layout(
|
47
|
+
$layout: $susy
|
48
|
+
) {
|
49
|
+
@return parse-grid($layout);
|
50
|
+
}
|
51
|
+
|
52
|
+
|
53
|
+
// Get Layout
|
54
|
+
// ----------
|
55
|
+
// Return a new layout based on current and given settings
|
56
|
+
// - $layout: <settings>
|
57
|
+
// - $clean: boolean
|
58
|
+
@function _get-layout(
|
59
|
+
$layout,
|
60
|
+
$clean: false
|
61
|
+
) {
|
62
|
+
$layout: layout($layout);
|
63
|
+
@return if($clean, $layout, _susy-deep-merge($susy, $layout));
|
64
|
+
}
|
@@ -0,0 +1,154 @@
|
|
1
|
+
// Gutter Syntax
|
2
|
+
// =============
|
3
|
+
|
4
|
+
|
5
|
+
// Gutters
|
6
|
+
// -------
|
7
|
+
// Set gutters on an element.
|
8
|
+
// - [$span] : <settings>
|
9
|
+
@mixin gutters(
|
10
|
+
$span: $susy
|
11
|
+
) {
|
12
|
+
$inspect : $span;
|
13
|
+
$span : parse-gutters($span);
|
14
|
+
$_gutters : get-gutters($span);
|
15
|
+
|
16
|
+
$_output: (
|
17
|
+
before: map-get($_gutters, before),
|
18
|
+
after: map-get($_gutters, after),
|
19
|
+
flow: susy-get(flow, $span),
|
20
|
+
);
|
21
|
+
|
22
|
+
@include susy-inspect(gutters, $inspect);
|
23
|
+
|
24
|
+
@if is-inside($span) {
|
25
|
+
@include padding-output($_output...);
|
26
|
+
} @else {
|
27
|
+
@include margin-output($_output...);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
@mixin gutter(
|
32
|
+
$span: $susy
|
33
|
+
) {
|
34
|
+
@include gutters($span);
|
35
|
+
}
|
36
|
+
|
37
|
+
|
38
|
+
// Gutter
|
39
|
+
// ------
|
40
|
+
// Return the width of a gutter.
|
41
|
+
// - [$span] : <settings>
|
42
|
+
@function gutter(
|
43
|
+
$span: $susy
|
44
|
+
) {
|
45
|
+
$span: parse-gutters($span);
|
46
|
+
|
47
|
+
$_gutters: get-gutters($span);
|
48
|
+
$_gutters: map-get($_gutters, before) or map-get($_gutters, after);
|
49
|
+
|
50
|
+
@return $_gutters;
|
51
|
+
}
|
52
|
+
|
53
|
+
@function gutters(
|
54
|
+
$span: $susy
|
55
|
+
) {
|
56
|
+
@return gutter($span);
|
57
|
+
}
|
58
|
+
|
59
|
+
|
60
|
+
// Get Gutter Width
|
61
|
+
// ----------------
|
62
|
+
// Return gutter width.
|
63
|
+
// - [$context]: <context>
|
64
|
+
@function get-gutter-width(
|
65
|
+
$context: $susy
|
66
|
+
) {
|
67
|
+
$context : parse-gutters($context);
|
68
|
+
|
69
|
+
$_gutters : susy-get(gutters, $context);
|
70
|
+
$_gutter : susy-get(gutter-override, $context);
|
71
|
+
|
72
|
+
@if $_gutters and ($_gutters > 0) and not($_gutter) {
|
73
|
+
$_column-width: susy-get(column-width, $context);
|
74
|
+
$_math: gutter-math($context);
|
75
|
+
@if $_math == static {
|
76
|
+
$_gutter: $_gutters * valid-column-math($_math, $_column-width);
|
77
|
+
} @else {
|
78
|
+
$_columns : susy-get(columns, $context);
|
79
|
+
$_spread : if(is-split($context), wide, susy-get(spread, $context));
|
80
|
+
$_gutter : percentage($_gutters / susy-sum($_columns, $_gutters, $_spread));
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
$_gutter: if($_gutter == 'no-gutters' or $_gutter == 'no-gutter', null, $_gutter);
|
85
|
+
|
86
|
+
@return $_gutter;
|
87
|
+
}
|
88
|
+
|
89
|
+
|
90
|
+
// Get Gutters
|
91
|
+
// -----------
|
92
|
+
// Return before and after gutter values.
|
93
|
+
// - [$context]: <context>
|
94
|
+
@function get-gutters(
|
95
|
+
$context: $susy
|
96
|
+
) {
|
97
|
+
$context : parse-gutters($context);
|
98
|
+
|
99
|
+
$_gutter-position : susy-get(gutter-position, $context);
|
100
|
+
$_gutter : get-gutter-width($context);
|
101
|
+
|
102
|
+
$_return : (before: null, after: null);
|
103
|
+
|
104
|
+
@if is-split($context) and $_gutter {
|
105
|
+
$_gutter: $_gutter / 2;
|
106
|
+
$_return: map-merge($_return, (before: $_gutter, after: $_gutter));
|
107
|
+
} @else {
|
108
|
+
$_return: map-merge($_return, ($_gutter-position: $_gutter));
|
109
|
+
}
|
110
|
+
|
111
|
+
@return $_return;
|
112
|
+
}
|
113
|
+
|
114
|
+
|
115
|
+
// Is Inside
|
116
|
+
// ---------
|
117
|
+
// Returns true if gutters are inside.
|
118
|
+
// $context: <context>
|
119
|
+
@function is-inside(
|
120
|
+
$context
|
121
|
+
) {
|
122
|
+
$_inside: inside inside-static;
|
123
|
+
$_gutter-position: susy-get(gutter-position, $context);
|
124
|
+
|
125
|
+
@return if(index($_inside, $_gutter-position), true, false);
|
126
|
+
}
|
127
|
+
|
128
|
+
|
129
|
+
// Is Split
|
130
|
+
// --------
|
131
|
+
// Returns true if gutters are split.
|
132
|
+
// $context: <context>
|
133
|
+
@function is-split(
|
134
|
+
$context
|
135
|
+
) {
|
136
|
+
$_split: split inside inside-static;
|
137
|
+
$_gutter-position: susy-get(gutter-position, $context);
|
138
|
+
|
139
|
+
@return if(index($_split, $_gutter-position), true, false);
|
140
|
+
}
|
141
|
+
|
142
|
+
|
143
|
+
// Gutter Math
|
144
|
+
// -----------
|
145
|
+
// Return the math to use for gutter calculations
|
146
|
+
// $context: <context>
|
147
|
+
@function gutter-math(
|
148
|
+
$context: $susy
|
149
|
+
) {
|
150
|
+
$_return : susy-get(math, $context);
|
151
|
+
$_return : if(susy-get(gutter-position, $context) == inside-static, static, $_return);
|
152
|
+
|
153
|
+
@return $_return;
|
154
|
+
}
|
@@ -0,0 +1,77 @@
|
|
1
|
+
// Isolation Syntax
|
2
|
+
// ================
|
3
|
+
|
4
|
+
|
5
|
+
// Isolate [Mixin]
|
6
|
+
// ---------------
|
7
|
+
// Set isolation as an override.
|
8
|
+
// - $location: <span>
|
9
|
+
@mixin isolate(
|
10
|
+
$isolate: 1
|
11
|
+
) {
|
12
|
+
$inspect: $isolate;
|
13
|
+
|
14
|
+
$output: (
|
15
|
+
push: isolate($isolate),
|
16
|
+
flow: susy-get(flow, $isolate),
|
17
|
+
);
|
18
|
+
|
19
|
+
@include susy-inspect(isolate, $inspect);
|
20
|
+
@include isolate-output($output...);
|
21
|
+
}
|
22
|
+
|
23
|
+
|
24
|
+
// Isolate [function]
|
25
|
+
// ------------------
|
26
|
+
// Return an isolation offset width.
|
27
|
+
// - $location: <span>
|
28
|
+
@function isolate(
|
29
|
+
$isolate: 1
|
30
|
+
) {
|
31
|
+
$isolate: parse-span($isolate);
|
32
|
+
$isolation: susy-get(span, $isolate);
|
33
|
+
|
34
|
+
@if $isolation and not(get-location($isolate)) {
|
35
|
+
$new: (
|
36
|
+
span: null,
|
37
|
+
location: $isolation,
|
38
|
+
);
|
39
|
+
$isolate: map-merge($isolate, $new);
|
40
|
+
}
|
41
|
+
|
42
|
+
@return get-isolation($isolate);
|
43
|
+
}
|
44
|
+
|
45
|
+
|
46
|
+
// Get Isolation
|
47
|
+
// -------------
|
48
|
+
// Return the isolation offset width
|
49
|
+
// - $input: <map>
|
50
|
+
@function get-isolation(
|
51
|
+
$input
|
52
|
+
) {
|
53
|
+
$location : get-location($input);
|
54
|
+
$columns : susy-get(columns, $input);
|
55
|
+
$width : null;
|
56
|
+
|
57
|
+
@if type-of($location) == number and not(unitless($location)) {
|
58
|
+
$width: $location;
|
59
|
+
} @else if $location {
|
60
|
+
$push: $location - 1;
|
61
|
+
@if $push > 0 {
|
62
|
+
$push: map-merge($input, (
|
63
|
+
span: $push,
|
64
|
+
location: 1,
|
65
|
+
spread: wide,
|
66
|
+
));
|
67
|
+
$width: get-span-width($push);
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
@if susy-get(gutter-position, $input) == split
|
72
|
+
and susy-get(gutters, $input) > 0 {
|
73
|
+
$width: if($width == null, gutters($input), $width + gutters($input));
|
74
|
+
}
|
75
|
+
|
76
|
+
@return $width or 0;
|
77
|
+
}
|
@@ -0,0 +1,94 @@
|
|
1
|
+
// Margin Syntax
|
2
|
+
// =============
|
3
|
+
|
4
|
+
// Pre
|
5
|
+
// ---
|
6
|
+
// Add spanning-margins before an element.
|
7
|
+
// - $span : <span>
|
8
|
+
@mixin pre(
|
9
|
+
$span
|
10
|
+
) {
|
11
|
+
$inspect: $span;
|
12
|
+
$span : map-merge((spread: wide), parse-span($span));
|
13
|
+
$flow : susy-get(flow, $span);
|
14
|
+
$split : if(susy-get(gutter-position, $span) == split, true, false);
|
15
|
+
$gutter : gutter($span);
|
16
|
+
$span : span($span);
|
17
|
+
$width : if($split and $gutter, $span + $gutter, $span);
|
18
|
+
|
19
|
+
@include susy-inspect(pre, $inspect);
|
20
|
+
@include margin-output($width, null, $flow);
|
21
|
+
}
|
22
|
+
|
23
|
+
// Post
|
24
|
+
// ----
|
25
|
+
// Add spanning-margins after an element.
|
26
|
+
// - $span : <span>
|
27
|
+
@mixin post(
|
28
|
+
$span
|
29
|
+
) {
|
30
|
+
$inspect : $span;
|
31
|
+
$span : map-merge((spread: wide), parse-span($span));
|
32
|
+
$flow : susy-get(flow, $span);
|
33
|
+
$split : if(susy-get(gutter-position, $span) == split, true, false);
|
34
|
+
$width : if($split, span($span) + gutter($span), span($span));
|
35
|
+
|
36
|
+
@include susy-inspect(post, $inspect);
|
37
|
+
@include margin-output(null, $width, $flow);
|
38
|
+
}
|
39
|
+
|
40
|
+
// Push
|
41
|
+
// ----
|
42
|
+
// Simple synonymn for pre.
|
43
|
+
// - $span : <span>
|
44
|
+
@mixin push(
|
45
|
+
$span
|
46
|
+
) {
|
47
|
+
@include pre($span);
|
48
|
+
}
|
49
|
+
|
50
|
+
// Pull
|
51
|
+
// ----
|
52
|
+
// Add negative spanning-margins before an element.
|
53
|
+
// - $span : <span>
|
54
|
+
@mixin pull(
|
55
|
+
$span
|
56
|
+
) {
|
57
|
+
$inspect : $span;
|
58
|
+
$span : map-merge((spread: wide), parse-span($span));
|
59
|
+
$flow : susy-get(flow, $span);
|
60
|
+
$split : if(susy-get(gutter-position, $span) == split, true, false);
|
61
|
+
$width : if($split, 0 - span($span) + gutter($span), 0 - span($span));
|
62
|
+
|
63
|
+
@include susy-inspect(pull, $inspect);
|
64
|
+
@include margin-output($width, null, $flow);
|
65
|
+
}
|
66
|
+
|
67
|
+
// Squish
|
68
|
+
// ------
|
69
|
+
// Add spanning-margins before and after an element.
|
70
|
+
// - $pre : <span>
|
71
|
+
// - [$post] : <span>
|
72
|
+
@mixin squish(
|
73
|
+
$pre,
|
74
|
+
$post: false
|
75
|
+
) {
|
76
|
+
$inspect : ($pre, $post);
|
77
|
+
$pre : map-merge((spread: wide), parse-span($pre));
|
78
|
+
|
79
|
+
@if $post {
|
80
|
+
$post: map-merge((spread: wide), parse-span($post));
|
81
|
+
} @else {
|
82
|
+
$span: susy-get(span, $pre);
|
83
|
+
@if length($span) > 1 {
|
84
|
+
$pre: map-merge($pre, (span: nth($span, 1)));
|
85
|
+
$post: map-merge($pre, (span: nth($span, 2)));
|
86
|
+
} @else {
|
87
|
+
$post: $pre;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
|
91
|
+
@include susy-inspect(squish, $inspect);
|
92
|
+
@include pre($pre);
|
93
|
+
@include post($post);
|
94
|
+
}
|