jekyll-theme-basically-basic 1.0.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 +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,200 @@
|
|
|
1
|
+
// Bleed Syntax
|
|
2
|
+
// ============
|
|
3
|
+
|
|
4
|
+
// Bleed
|
|
5
|
+
// -----
|
|
6
|
+
// Add negative margins, and equal positive padding to create bleed.
|
|
7
|
+
// - $bleed : <span>
|
|
8
|
+
@mixin bleed(
|
|
9
|
+
$bleed: 0 gutter()
|
|
10
|
+
) {
|
|
11
|
+
$inspect : $bleed;
|
|
12
|
+
$output : get-bleed($bleed);
|
|
13
|
+
|
|
14
|
+
@if susy-get(global-box-sizing) != content-box {
|
|
15
|
+
$output: map-merge((box-sizing: content-box), $output);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@include susy-inspect(bleed, $inspect);
|
|
19
|
+
@include output($output);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
// Bleed-x
|
|
24
|
+
// -------
|
|
25
|
+
// Shortcut for horizontal bleed.
|
|
26
|
+
// - $bleed : <span>
|
|
27
|
+
@mixin bleed-x(
|
|
28
|
+
$bleed: gutter()
|
|
29
|
+
) {
|
|
30
|
+
$bleed : parse-span($bleed);
|
|
31
|
+
$trbl : susy-get(span, $bleed);
|
|
32
|
+
|
|
33
|
+
@if length($trbl) == 1 {
|
|
34
|
+
$bleed: map-merge($bleed, (span: 0 nth($trbl, 1)));
|
|
35
|
+
} @else if length($trbl) == 2 {
|
|
36
|
+
$bleed: map-merge($bleed, (span: 0 nth($trbl, 2) 0 nth($trbl, 1)));
|
|
37
|
+
} @else {
|
|
38
|
+
@warn 'bleed-x only takes 2 lengths, but #{length($trbl)} were passed.';
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@include bleed($bleed);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
// Bleed-y
|
|
46
|
+
// -------
|
|
47
|
+
// Shortcut for vertical bleed.
|
|
48
|
+
// - $bleed : <span>
|
|
49
|
+
@mixin bleed-y(
|
|
50
|
+
$bleed: if(function-exists(rhythm), rhythm(1), 1em)
|
|
51
|
+
) {
|
|
52
|
+
$bleed : parse-span($bleed);
|
|
53
|
+
$trbl : susy-get(span, $bleed);
|
|
54
|
+
|
|
55
|
+
@if length($trbl) == 1 {
|
|
56
|
+
$bleed: map-merge($bleed, (span: nth($trbl, 1) 0));
|
|
57
|
+
} @else if length($trbl) == 2 {
|
|
58
|
+
$bleed: map-merge($bleed, (span: nth($trbl, 1) 0 nth($trbl, 2) 0));
|
|
59
|
+
} @else {
|
|
60
|
+
@warn 'bleed-y only takes 2 lengths, but #{length($trbl)} were passed.';
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@include bleed($bleed);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
// Get Bleed
|
|
68
|
+
// ---------
|
|
69
|
+
// Return bleed output values
|
|
70
|
+
// - $bleed: <span>
|
|
71
|
+
@function get-bleed(
|
|
72
|
+
$bleed
|
|
73
|
+
) {
|
|
74
|
+
$bleed : map-merge((spread: wide), parse-span($bleed));
|
|
75
|
+
$trbl : susy-get(span, $bleed);
|
|
76
|
+
$short : null;
|
|
77
|
+
$output : ();
|
|
78
|
+
|
|
79
|
+
@for $i from 1 through length($trbl) {
|
|
80
|
+
$this: nth($trbl, $i);
|
|
81
|
+
$new: ();
|
|
82
|
+
$margin: null;
|
|
83
|
+
$padding: null;
|
|
84
|
+
$padding-x: null;
|
|
85
|
+
|
|
86
|
+
@if $this > 0 {
|
|
87
|
+
$this: map-merge($bleed, (span: $this));
|
|
88
|
+
$margin: span($this);
|
|
89
|
+
$padding: $margin;
|
|
90
|
+
$padding-x: $padding;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@if $margin and $margin > 0 {
|
|
94
|
+
$margin: - $margin;
|
|
95
|
+
|
|
96
|
+
@if is-inside($this) {
|
|
97
|
+
$gutter: gutter($this);
|
|
98
|
+
$join: if($gutter and comparable($padding, $gutter), true, false);
|
|
99
|
+
$padding-x: if($join and $padding > 0, $padding + $gutter, $padding);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
@if $i == 1 {
|
|
104
|
+
$new: (
|
|
105
|
+
margin-top: $margin,
|
|
106
|
+
padding-top: $padding,
|
|
107
|
+
margin-right: $margin,
|
|
108
|
+
padding-right: $padding-x,
|
|
109
|
+
margin-bottom: $margin,
|
|
110
|
+
padding-bottom: $padding,
|
|
111
|
+
margin-left: $margin,
|
|
112
|
+
padding-left: $padding-x,
|
|
113
|
+
);
|
|
114
|
+
} @else if $i == 2 {
|
|
115
|
+
$new: (
|
|
116
|
+
margin-right: $margin,
|
|
117
|
+
padding-right: $padding-x,
|
|
118
|
+
margin-left: $margin,
|
|
119
|
+
padding-left: $padding-x,
|
|
120
|
+
);
|
|
121
|
+
} @else if $i == 3 {
|
|
122
|
+
$new: (
|
|
123
|
+
margin-bottom: $margin,
|
|
124
|
+
padding-bottom: $padding,
|
|
125
|
+
);
|
|
126
|
+
} @else if $i == 4 {
|
|
127
|
+
$new: (
|
|
128
|
+
margin-left: $margin,
|
|
129
|
+
padding-left: $padding-x,
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
$output: map-merge($output, $new);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
@each $prop, $value in $output {
|
|
137
|
+
$output: if($value == 0, map-merge($output, ($prop: null)), $output);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
@return bleed-shorthand($output);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Bleed Shorthand
|
|
144
|
+
// ---------------
|
|
145
|
+
// Convert bleed output into shorthand when possible.
|
|
146
|
+
// - $bleed: <output map>
|
|
147
|
+
@function bleed-shorthand(
|
|
148
|
+
$bleed
|
|
149
|
+
) {
|
|
150
|
+
$margin: ();
|
|
151
|
+
$padding: ();
|
|
152
|
+
$return: ();
|
|
153
|
+
|
|
154
|
+
@each $key, $value in $bleed {
|
|
155
|
+
@if str-index($key, margin) {
|
|
156
|
+
$margin: map-merge($margin, ($key: $value));
|
|
157
|
+
} @else if str-index($key, padding) > 0 {
|
|
158
|
+
$padding: map-merge($padding, ($key: $value));
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
$props: (
|
|
163
|
+
margin: $margin,
|
|
164
|
+
padding: $padding,
|
|
165
|
+
);
|
|
166
|
+
|
|
167
|
+
@each $name, $map in $props {
|
|
168
|
+
$four: if(length(map-keys($map)) == 4, true, false);
|
|
169
|
+
$null: if(index(map-values($map), null), true, false);
|
|
170
|
+
|
|
171
|
+
@if $four and not($null) {
|
|
172
|
+
$top: map-get($map, '#{$name}-top');
|
|
173
|
+
$right: map-get($map, '#{$name}-right');
|
|
174
|
+
$bottom: map-get($map, '#{$name}-bottom');
|
|
175
|
+
$left: map-get($map, '#{$name}-left');
|
|
176
|
+
|
|
177
|
+
$tb: if($top == $bottom, $top, null);
|
|
178
|
+
$rl: if($right == $left, $right, null);
|
|
179
|
+
$all: if($tb == $rl, $tb, null);
|
|
180
|
+
|
|
181
|
+
$new: if($all, $all, null);
|
|
182
|
+
|
|
183
|
+
@if not($new) {
|
|
184
|
+
@if $tb and $rl {
|
|
185
|
+
$new: $tb $rl;
|
|
186
|
+
} @else if $rl {
|
|
187
|
+
$new: $top $rl $bottom;
|
|
188
|
+
} @else {
|
|
189
|
+
$new: $top $right $bottom $left;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
$return: map-merge($return, ($name: $new));
|
|
194
|
+
} @else {
|
|
195
|
+
$return: map-merge($return, $map);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
@return $return;
|
|
200
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Susy Box Sizing
|
|
2
|
+
// =================
|
|
3
|
+
|
|
4
|
+
// Global Box Sizing
|
|
5
|
+
// -----------------
|
|
6
|
+
// Set a box model globally on all elements.
|
|
7
|
+
// - [$box]: border-box | content-box
|
|
8
|
+
// - [$inherit]: true | false
|
|
9
|
+
@mixin global-box-sizing(
|
|
10
|
+
$box: susy-get(global-box-sizing),
|
|
11
|
+
$inherit: false
|
|
12
|
+
) {
|
|
13
|
+
$inspect: $box;
|
|
14
|
+
|
|
15
|
+
@if $inherit {
|
|
16
|
+
@at-root {
|
|
17
|
+
html { @include output((box-sizing: $box)); }
|
|
18
|
+
*, *:before, *:after { box-sizing: inherit; }
|
|
19
|
+
}
|
|
20
|
+
} @else {
|
|
21
|
+
*, *:before, *:after { @include output((box-sizing: $box)); }
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@include susy-inspect(global-box-sizing, $inspect);
|
|
25
|
+
@include update-box-model($box);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Border Box Sizing
|
|
29
|
+
// -----------------
|
|
30
|
+
// A legacy shortcut...
|
|
31
|
+
// - [$inherit]: true | false
|
|
32
|
+
@mixin border-box-sizing(
|
|
33
|
+
$inherit: false
|
|
34
|
+
) {
|
|
35
|
+
@include global-box-sizing(border-box, $inherit);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Update Box Model
|
|
39
|
+
// ----------------
|
|
40
|
+
// PRIVATE: Updates global box model setting
|
|
41
|
+
@mixin update-box-model(
|
|
42
|
+
$box
|
|
43
|
+
) {
|
|
44
|
+
@if $box != susy-get(global-box-sizing) {
|
|
45
|
+
@include susy-set(global-box-sizing, $box);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
// Breakpoint Integration
|
|
2
|
+
// ======================
|
|
3
|
+
|
|
4
|
+
$susy-media: () !default;
|
|
5
|
+
$susy-media-fallback: false !default;
|
|
6
|
+
|
|
7
|
+
$_susy-media-context: ();
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
// Susy Breakpoint
|
|
11
|
+
// ---------------
|
|
12
|
+
// Change grids at different media query breakpoints.
|
|
13
|
+
// - $query : <min-width> [<max-width>] | <property> <value> | <map>
|
|
14
|
+
// - $layout : <settings>
|
|
15
|
+
// - $no-query : <boolean> | <selector>
|
|
16
|
+
@mixin susy-breakpoint(
|
|
17
|
+
$query,
|
|
18
|
+
$layout: false,
|
|
19
|
+
$no-query: $susy-media-fallback
|
|
20
|
+
) {
|
|
21
|
+
@include susy-media-router($query, $no-query) {
|
|
22
|
+
@if $layout {
|
|
23
|
+
@include with-layout($layout) {
|
|
24
|
+
@content;
|
|
25
|
+
}
|
|
26
|
+
} @else {
|
|
27
|
+
@content;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
// Susy Media
|
|
34
|
+
// ----------
|
|
35
|
+
// - $query: <min-width> [<max-width>] | <property> <value>
|
|
36
|
+
// - $no-query: <boolean> | <selector>
|
|
37
|
+
@mixin susy-media(
|
|
38
|
+
$query,
|
|
39
|
+
$no-query: $susy-media-fallback
|
|
40
|
+
) {
|
|
41
|
+
$old-context: $_susy-media-context;
|
|
42
|
+
$name: if(map-has-key($susy-media, $query), $query, null);
|
|
43
|
+
$query: susy-get-media($query);
|
|
44
|
+
$query: susy-parse-media($query);
|
|
45
|
+
|
|
46
|
+
@include susy-media-context($query, $name);
|
|
47
|
+
|
|
48
|
+
@if $no-query and type-of($no-query) != string {
|
|
49
|
+
@content;
|
|
50
|
+
} @else {
|
|
51
|
+
@media #{susy-render-media($query)} {
|
|
52
|
+
@content;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@if type-of($no-query) == string {
|
|
56
|
+
#{$no-query} & {
|
|
57
|
+
@content;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@include susy-media-context($old-context, $clean: true);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
// Media Router
|
|
67
|
+
// ------------
|
|
68
|
+
// Rout media arguments to the correct mixin.
|
|
69
|
+
@mixin susy-media-router(
|
|
70
|
+
$query,
|
|
71
|
+
$no-query: $susy-media-fallback
|
|
72
|
+
) {
|
|
73
|
+
@if susy-support(breakpoint, (mixin: breakpoint), $warn: false) {
|
|
74
|
+
@include breakpoint($query, $no-query) {
|
|
75
|
+
@content;
|
|
76
|
+
}
|
|
77
|
+
} @else {
|
|
78
|
+
@include susy-media($query, $no-query) {
|
|
79
|
+
@content;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
// Update Context
|
|
86
|
+
// -------------
|
|
87
|
+
// Set the new media context
|
|
88
|
+
@mixin susy-media-context(
|
|
89
|
+
$query,
|
|
90
|
+
$name: null,
|
|
91
|
+
$clean: false
|
|
92
|
+
) {
|
|
93
|
+
$query: map-merge((name: $name), $query);
|
|
94
|
+
|
|
95
|
+
@if $clean {
|
|
96
|
+
$_susy-media-context: $query !global;
|
|
97
|
+
} @else {
|
|
98
|
+
$_susy-media-context: map-merge($_susy-media-context, $query) !global;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
// Media Context
|
|
104
|
+
// -------------
|
|
105
|
+
// Return the full media context, or a single media property (e.g. min-width)
|
|
106
|
+
@function susy-media-context(
|
|
107
|
+
$property: false
|
|
108
|
+
) {
|
|
109
|
+
@if $property {
|
|
110
|
+
@return map-get($_susy-media-context, $property);
|
|
111
|
+
} @else {
|
|
112
|
+
@return $_susy-media-context;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
// Get Media
|
|
118
|
+
// ---------
|
|
119
|
+
// Return a named media-query from $susy-media.
|
|
120
|
+
// - $name: <key>
|
|
121
|
+
@function susy-get-media(
|
|
122
|
+
$name
|
|
123
|
+
) {
|
|
124
|
+
@if map-has-key($susy-media, $name) {
|
|
125
|
+
$map-value: map-get($susy-media, $name);
|
|
126
|
+
@if ($name == $map-value) {
|
|
127
|
+
$name: $map-value;
|
|
128
|
+
} @else {
|
|
129
|
+
$name: susy-get-media($map-value);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@return $name;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
// Render Media
|
|
138
|
+
// ------------
|
|
139
|
+
// Build a media-query string from various media settings
|
|
140
|
+
@function susy-render-media(
|
|
141
|
+
$query
|
|
142
|
+
) {
|
|
143
|
+
$output: null;
|
|
144
|
+
@each $property, $value in $query {
|
|
145
|
+
$string: null;
|
|
146
|
+
|
|
147
|
+
@if $property == media {
|
|
148
|
+
$string: $value;
|
|
149
|
+
} @else {
|
|
150
|
+
$string: '(#{$property}: #{$value})';
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
$output: if($output, '#{$output} and #{$string}', $string);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
@return $output;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
// Parse Media
|
|
161
|
+
// -----------
|
|
162
|
+
// Return parsed media-query settings based on shorthand
|
|
163
|
+
@function susy-parse-media(
|
|
164
|
+
$query
|
|
165
|
+
) {
|
|
166
|
+
$mq: null;
|
|
167
|
+
@if type-of($query) == map {
|
|
168
|
+
$mq: $query;
|
|
169
|
+
} @else if type-of($query) == number {
|
|
170
|
+
$mq: (min-width: $query);
|
|
171
|
+
} @else if type-of($query) == list and length($query) == 2 {
|
|
172
|
+
@if type-of(nth($query, 1)) == number {
|
|
173
|
+
$mq: (
|
|
174
|
+
min-width: min($query...),
|
|
175
|
+
max-width: max($query...),
|
|
176
|
+
);
|
|
177
|
+
} @else {
|
|
178
|
+
$mq: (nth($query, 1): nth($query, 2));
|
|
179
|
+
}
|
|
180
|
+
} @else {
|
|
181
|
+
$mq: (media: '#{$query}');
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
@return $mq;
|
|
185
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// Container Syntax
|
|
2
|
+
// ================
|
|
3
|
+
|
|
4
|
+
// Container [mixin]
|
|
5
|
+
// -----------------
|
|
6
|
+
// Set a container element
|
|
7
|
+
// - [$layout] : <settings>
|
|
8
|
+
@mixin container(
|
|
9
|
+
$layout: $susy
|
|
10
|
+
) {
|
|
11
|
+
$inspect : $layout;
|
|
12
|
+
$layout : parse-grid($layout);
|
|
13
|
+
|
|
14
|
+
$_width : get-container-width($layout);
|
|
15
|
+
$_justify : parse-container-position(susy-get(container-position, $layout));
|
|
16
|
+
$_property : if(susy-get(math, $layout) == static, width, max-width);
|
|
17
|
+
|
|
18
|
+
$_box : susy-get(box-sizing, $layout);
|
|
19
|
+
|
|
20
|
+
@if $_box {
|
|
21
|
+
@include output((box-sizing: $_box));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@include susy-inspect(container, $inspect);
|
|
25
|
+
@include float-container($_width, $_justify, $_property);
|
|
26
|
+
@include show-grid($layout);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Container [function]
|
|
30
|
+
// --------------------
|
|
31
|
+
// Return container width
|
|
32
|
+
// - [$layout] : <settings>
|
|
33
|
+
@function container(
|
|
34
|
+
$layout: $susy
|
|
35
|
+
) {
|
|
36
|
+
$layout: parse-grid($layout);
|
|
37
|
+
@return get-container-width($layout);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Get Container Width
|
|
41
|
+
// -------------------
|
|
42
|
+
// Calculate the container width
|
|
43
|
+
// - [$layout]: <settings>
|
|
44
|
+
@function get-container-width(
|
|
45
|
+
$layout: $susy
|
|
46
|
+
) {
|
|
47
|
+
$layout : parse-grid($layout);
|
|
48
|
+
$_width : susy-get(container, $layout);
|
|
49
|
+
$_column-width : susy-get(column-width, $layout);
|
|
50
|
+
$_math : susy-get(math, $layout);
|
|
51
|
+
|
|
52
|
+
@if not($_width) or $_width == auto {
|
|
53
|
+
@if valid-column-math($_math, $_column-width) {
|
|
54
|
+
$_columns : susy-get(columns, $layout);
|
|
55
|
+
$_gutters : susy-get(gutters, $layout);
|
|
56
|
+
$_spread : if(is-split($layout), wide, narrow);
|
|
57
|
+
$_width : susy-sum($_columns, $_gutters, $_spread) * $_column-width;
|
|
58
|
+
} @else {
|
|
59
|
+
$_width: 100%;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@return $_width;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Parse Container Position
|
|
67
|
+
// ------------------------
|
|
68
|
+
// Parse the $container-position into margin values.
|
|
69
|
+
// - [$justify] : left | center | right | <length> [<length>]
|
|
70
|
+
@function parse-container-position(
|
|
71
|
+
$justify: map-get($susy-defaults, container-position)
|
|
72
|
+
) {
|
|
73
|
+
$_return: if($justify == left, 0, auto) if($justify == right, 0, auto);
|
|
74
|
+
|
|
75
|
+
@if not(index(left right center, $justify)) {
|
|
76
|
+
$_return: nth($justify, 1);
|
|
77
|
+
$_return: $_return if(length($justify) > 1, nth($justify, 2), $_return);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@return $_return;
|
|
81
|
+
}
|