minimal-mistakes-jekyll 4.1.1 → 4.2.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/LICENSE.txt +20 -20
- data/README.md +1 -2
- data/_includes/analytics-providers/custom.html +2 -2
- data/_includes/analytics-providers/google-universal.html +8 -8
- 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 +241 -241
- data/_includes/base_path +4 -4
- data/_includes/breadcrumbs.html +38 -38
- data/_includes/browser-upgrade.html +2 -2
- data/_includes/category-list.html +25 -25
- data/_includes/comment.html +21 -21
- data/_includes/comments-providers/custom.html +2 -2
- data/_includes/comments-providers/discourse.html +13 -13
- data/_includes/comments-providers/disqus.html +21 -21
- data/_includes/comments-providers/facebook.html +7 -7
- data/_includes/comments-providers/google-plus.html +1 -1
- data/_includes/comments-providers/scripts.html +17 -17
- data/_includes/comments-providers/staticman.html +41 -41
- data/_includes/comments.html +79 -79
- data/_includes/feature_row +49 -49
- data/_includes/figure +12 -12
- data/_includes/footer.html +21 -21
- data/_includes/footer/custom.html +2 -2
- data/_includes/gallery +46 -46
- data/_includes/group-by-array +46 -46
- data/_includes/head.html +18 -18
- data/_includes/head/custom.html +4 -4
- data/_includes/masthead.html +20 -20
- data/_includes/nav_list +46 -46
- data/_includes/page__hero.html +52 -52
- data/_includes/page__hero_video.html +4 -0
- data/_includes/page__taxonomy.html +6 -6
- data/_includes/paginator.html +67 -67
- data/_includes/post_pagination.html +13 -13
- data/_includes/read-time.html +14 -14
- data/_includes/scripts.html +4 -4
- data/_includes/seo.html +145 -145
- data/_includes/sidebar.html +22 -22
- data/_includes/social-share.html +13 -13
- data/_includes/tag-list.html +25 -25
- data/_includes/toc +6 -6
- data/_includes/video +11 -0
- data/_layouts/archive-taxonomy.html +14 -14
- data/_layouts/archive.html +2 -0
- data/_layouts/compress.html +10 -10
- data/_layouts/default.html +28 -28
- data/_layouts/home.html +11 -11
- data/_layouts/single.html +76 -74
- data/_layouts/splash.html +2 -0
- data/_sass/_archive.scss +237 -237
- data/_sass/_footer.scss +79 -79
- data/_sass/_forms.scss +390 -390
- data/_sass/_masthead.scss +52 -52
- data/_sass/_mixins.scss +52 -52
- data/_sass/_navigation.scss +543 -543
- data/_sass/_notices.scss +98 -98
- data/_sass/_page.scss +400 -400
- data/_sass/_print.scss +17 -17
- data/_sass/_reset.scss +186 -186
- data/_sass/_sidebar.scss +230 -230
- data/_sass/_syntax.scss +145 -145
- data/_sass/_tables.scss +37 -37
- data/_sass/_utilities.scss +37 -1
- data/_sass/_variables.scss +127 -127
- data/_sass/vendor/breakpoint/_breakpoint.scss +114 -114
- data/_sass/vendor/breakpoint/_context.scss +94 -94
- data/_sass/vendor/breakpoint/_helpers.scss +151 -151
- data/_sass/vendor/breakpoint/_legacy-settings.scss +49 -49
- data/_sass/vendor/breakpoint/_no-query.scss +15 -15
- data/_sass/vendor/breakpoint/_parsers.scss +215 -215
- data/_sass/vendor/breakpoint/_respond-to.scss +82 -82
- data/_sass/vendor/breakpoint/_settings.scss +70 -70
- data/_sass/vendor/breakpoint/parsers/_double.scss +33 -33
- data/_sass/vendor/breakpoint/parsers/_query.scss +82 -82
- data/_sass/vendor/breakpoint/parsers/_resolution.scss +31 -31
- data/_sass/vendor/breakpoint/parsers/_single.scss +26 -26
- data/_sass/vendor/breakpoint/parsers/_triple.scss +36 -36
- data/_sass/vendor/breakpoint/parsers/double/_default-pair.scss +21 -21
- data/_sass/vendor/breakpoint/parsers/double/_default.scss +22 -22
- data/_sass/vendor/breakpoint/parsers/double/_double-string.scss +21 -21
- data/_sass/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -60
- data/_sass/vendor/breakpoint/parsers/single/_default.scss +13 -13
- data/_sass/vendor/breakpoint/parsers/triple/_default.scss +18 -18
- data/_sass/vendor/font-awesome/_animated.scss +34 -34
- data/_sass/vendor/font-awesome/_bordered-pulled.scss +25 -25
- data/_sass/vendor/font-awesome/_core.scss +12 -12
- data/_sass/vendor/font-awesome/_fixed-width.scss +6 -6
- data/_sass/vendor/font-awesome/_font-awesome.scss +18 -18
- data/_sass/vendor/font-awesome/_icons.scss +789 -789
- data/_sass/vendor/font-awesome/_larger.scss +13 -13
- data/_sass/vendor/font-awesome/_list.scss +19 -19
- data/_sass/vendor/font-awesome/_mixins.scss +60 -60
- data/_sass/vendor/font-awesome/_path.scss +15 -15
- data/_sass/vendor/font-awesome/_rotated-flipped.scss +20 -20
- data/_sass/vendor/font-awesome/_screen-reader.scss +5 -5
- data/_sass/vendor/font-awesome/_stacked.scss +20 -20
- data/_sass/vendor/font-awesome/_variables.scss +800 -800
- data/_sass/vendor/magnific-popup/_settings.scss +45 -45
- data/_sass/vendor/susy/_su.scss +4 -4
- data/_sass/vendor/susy/_susy.scss +4 -4
- data/_sass/vendor/susy/_susyone.scss +4 -4
- data/_sass/vendor/susy/susy/_su.scss +7 -7
- data/_sass/vendor/susy/susy/language/_susy.scss +24 -24
- data/_sass/vendor/susy/susy/language/_susyone.scss +13 -13
- data/_sass/vendor/susy/susy/language/susy/_background.scss +385 -385
- data/_sass/vendor/susy/susy/language/susy/_bleed.scss +200 -200
- data/_sass/vendor/susy/susy/language/susy/_box-sizing.scss +47 -47
- data/_sass/vendor/susy/susy/language/susy/_breakpoint-plugin.scss +185 -185
- data/_sass/vendor/susy/susy/language/susy/_container.scss +81 -81
- data/_sass/vendor/susy/susy/language/susy/_context.scss +36 -36
- data/_sass/vendor/susy/susy/language/susy/_gallery.scss +94 -94
- data/_sass/vendor/susy/susy/language/susy/_grids.scss +64 -64
- data/_sass/vendor/susy/susy/language/susy/_gutters.scss +154 -154
- data/_sass/vendor/susy/susy/language/susy/_isolate.scss +77 -77
- data/_sass/vendor/susy/susy/language/susy/_margins.scss +94 -94
- data/_sass/vendor/susy/susy/language/susy/_padding.scss +74 -74
- data/_sass/vendor/susy/susy/language/susy/_rows.scss +138 -138
- data/_sass/vendor/susy/susy/language/susy/_settings.scss +216 -216
- data/_sass/vendor/susy/susy/language/susy/_span.scss +163 -163
- data/_sass/vendor/susy/susy/language/susy/_validation.scss +16 -16
- data/_sass/vendor/susy/susy/language/susyone/_background.scss +18 -18
- data/_sass/vendor/susy/susy/language/susyone/_functions.scss +377 -377
- data/_sass/vendor/susy/susy/language/susyone/_grid.scss +312 -312
- data/_sass/vendor/susy/susy/language/susyone/_isolation.scss +51 -51
- data/_sass/vendor/susy/susy/language/susyone/_margin.scss +93 -93
- data/_sass/vendor/susy/susy/language/susyone/_media.scss +105 -105
- data/_sass/vendor/susy/susy/language/susyone/_padding.scss +92 -92
- data/_sass/vendor/susy/susy/language/susyone/_settings.scss +60 -60
- data/_sass/vendor/susy/susy/output/_float.scss +9 -9
- data/_sass/vendor/susy/susy/output/_shared.scss +15 -15
- data/_sass/vendor/susy/susy/output/_support.scss +9 -9
- data/_sass/vendor/susy/susy/output/float/_container.scss +16 -16
- data/_sass/vendor/susy/susy/output/float/_end.scss +40 -40
- data/_sass/vendor/susy/susy/output/float/_isolate.scss +22 -22
- data/_sass/vendor/susy/susy/output/float/_span.scss +35 -35
- data/_sass/vendor/susy/susy/output/shared/_background.scss +26 -26
- data/_sass/vendor/susy/susy/output/shared/_container.scss +21 -21
- data/_sass/vendor/susy/susy/output/shared/_direction.scss +42 -42
- data/_sass/vendor/susy/susy/output/shared/_inspect.scss +25 -25
- data/_sass/vendor/susy/susy/output/shared/_margins.scss +23 -23
- data/_sass/vendor/susy/susy/output/shared/_output.scss +14 -14
- data/_sass/vendor/susy/susy/output/shared/_padding.scss +23 -23
- data/_sass/vendor/susy/susy/output/support/_background.scss +58 -58
- data/_sass/vendor/susy/susy/output/support/_box-sizing.scss +19 -19
- data/_sass/vendor/susy/susy/output/support/_clearfix.scss +18 -18
- data/_sass/vendor/susy/susy/output/support/_prefix.scss +19 -19
- data/_sass/vendor/susy/susy/output/support/_rem.scss +22 -22
- data/_sass/vendor/susy/susy/output/support/_support.scss +85 -85
- data/_sass/vendor/susy/susy/su/_grid.scss +103 -103
- data/_sass/vendor/susy/susy/su/_settings.scss +73 -73
- data/_sass/vendor/susy/susy/su/_utilities.scss +111 -111
- data/_sass/vendor/susy/susy/su/_validation.scss +57 -57
- data/assets/css/main.scss +78 -78
- data/assets/fonts/fontawesome-webfont.svg +2671 -2671
- data/assets/js/_main.js +72 -100
- data/assets/js/main.min.js +4 -5
- data/assets/js/plugins/jquery.fitvids.js +81 -81
- data/assets/js/plugins/jquery.greedy-navigation.js +71 -71
- data/assets/js/plugins/jquery.magnific-popup.js +2049 -2049
- data/assets/js/plugins/jquery.smooth-scroll.min.js +8 -8
- data/assets/js/vendor/jquery/jquery-1.12.4.min.js +4 -4
- metadata +7 -6
- data/assets/js/plugins/stickyfill.min.js +0 -8
@@ -1,114 +1,114 @@
|
|
1
|
-
//////////////////////////////
|
2
|
-
// Default Variables
|
3
|
-
//////////////////////////////
|
4
|
-
$Breakpoint-Settings: (
|
5
|
-
'default media': all,
|
6
|
-
'default feature': min-width,
|
7
|
-
'default pair': width,
|
8
|
-
|
9
|
-
'force all media type': false,
|
10
|
-
'to ems': false,
|
11
|
-
'transform resolutions': true,
|
12
|
-
|
13
|
-
'no queries': false,
|
14
|
-
'no query fallbacks': false,
|
15
|
-
|
16
|
-
'base font size': 16px,
|
17
|
-
|
18
|
-
'legacy syntax': false
|
19
|
-
);
|
20
|
-
|
21
|
-
$breakpoint: () !default;
|
22
|
-
|
23
|
-
//////////////////////////////
|
24
|
-
// Imports
|
25
|
-
//////////////////////////////
|
26
|
-
@import "settings";
|
27
|
-
@import "context";
|
28
|
-
@import "helpers";
|
29
|
-
@import "parsers";
|
30
|
-
@import "no-query";
|
31
|
-
|
32
|
-
@import "respond-to";
|
33
|
-
|
34
|
-
@import "legacy-settings";
|
35
|
-
|
36
|
-
//////////////////////////////
|
37
|
-
// Breakpoint Mixin
|
38
|
-
//////////////////////////////
|
39
|
-
|
40
|
-
@mixin breakpoint($query, $no-query: false) {
|
41
|
-
@include legacy-settings-warning;
|
42
|
-
|
43
|
-
// Reset contexts
|
44
|
-
@include private-breakpoint-reset-contexts();
|
45
|
-
|
46
|
-
$breakpoint: breakpoint($query, false);
|
47
|
-
|
48
|
-
$query-string: map-get($breakpoint, 'query');
|
49
|
-
$query-fallback: map-get($breakpoint, 'fallback');
|
50
|
-
|
51
|
-
$private-breakpoint-context-holder: map-get($breakpoint, 'context holder') !global;
|
52
|
-
$private-breakpoint-query-count: map-get($breakpoint, 'query count') !global;
|
53
|
-
|
54
|
-
// Allow for an as-needed override or usage of no query fallback.
|
55
|
-
@if $no-query != false {
|
56
|
-
$query-fallback: $no-query;
|
57
|
-
}
|
58
|
-
|
59
|
-
@if $query-fallback != false {
|
60
|
-
$context-setter: private-breakpoint-set-context('no-query', $query-fallback);
|
61
|
-
}
|
62
|
-
|
63
|
-
// Print Out Query String
|
64
|
-
@if not breakpoint-get('no queries') {
|
65
|
-
@media #{$query-string} {
|
66
|
-
@content;
|
67
|
-
}
|
68
|
-
}
|
69
|
-
|
70
|
-
@if breakpoint-get('no query fallbacks') != false or breakpoint-get('no queries') == true {
|
71
|
-
|
72
|
-
$type: type-of(breakpoint-get('no query fallbacks'));
|
73
|
-
$print: false;
|
74
|
-
|
75
|
-
@if ($type == 'bool') {
|
76
|
-
$print: true;
|
77
|
-
}
|
78
|
-
@else if ($type == 'string') {
|
79
|
-
@if $query-fallback == breakpoint-get('no query fallbacks') {
|
80
|
-
$print: true;
|
81
|
-
}
|
82
|
-
}
|
83
|
-
@else if ($type == 'list') {
|
84
|
-
@each $wrapper in breakpoint-get('no query fallbacks') {
|
85
|
-
@if $query-fallback == $wrapper {
|
86
|
-
$print: true;
|
87
|
-
}
|
88
|
-
}
|
89
|
-
}
|
90
|
-
|
91
|
-
// Write Fallback
|
92
|
-
@if ($query-fallback != false) and ($print == true) {
|
93
|
-
$type-fallback: type-of($query-fallback);
|
94
|
-
|
95
|
-
@if ($type-fallback != 'bool') {
|
96
|
-
#{$query-fallback} & {
|
97
|
-
@content;
|
98
|
-
}
|
99
|
-
}
|
100
|
-
@else {
|
101
|
-
@content;
|
102
|
-
}
|
103
|
-
}
|
104
|
-
}
|
105
|
-
|
106
|
-
@include private-breakpoint-reset-contexts();
|
107
|
-
}
|
108
|
-
|
109
|
-
|
110
|
-
@mixin mq($query, $no-query: false) {
|
111
|
-
@include breakpoint($query, $no-query) {
|
112
|
-
@content;
|
113
|
-
}
|
114
|
-
}
|
1
|
+
//////////////////////////////
|
2
|
+
// Default Variables
|
3
|
+
//////////////////////////////
|
4
|
+
$Breakpoint-Settings: (
|
5
|
+
'default media': all,
|
6
|
+
'default feature': min-width,
|
7
|
+
'default pair': width,
|
8
|
+
|
9
|
+
'force all media type': false,
|
10
|
+
'to ems': false,
|
11
|
+
'transform resolutions': true,
|
12
|
+
|
13
|
+
'no queries': false,
|
14
|
+
'no query fallbacks': false,
|
15
|
+
|
16
|
+
'base font size': 16px,
|
17
|
+
|
18
|
+
'legacy syntax': false
|
19
|
+
);
|
20
|
+
|
21
|
+
$breakpoint: () !default;
|
22
|
+
|
23
|
+
//////////////////////////////
|
24
|
+
// Imports
|
25
|
+
//////////////////////////////
|
26
|
+
@import "settings";
|
27
|
+
@import "context";
|
28
|
+
@import "helpers";
|
29
|
+
@import "parsers";
|
30
|
+
@import "no-query";
|
31
|
+
|
32
|
+
@import "respond-to";
|
33
|
+
|
34
|
+
@import "legacy-settings";
|
35
|
+
|
36
|
+
//////////////////////////////
|
37
|
+
// Breakpoint Mixin
|
38
|
+
//////////////////////////////
|
39
|
+
|
40
|
+
@mixin breakpoint($query, $no-query: false) {
|
41
|
+
@include legacy-settings-warning;
|
42
|
+
|
43
|
+
// Reset contexts
|
44
|
+
@include private-breakpoint-reset-contexts();
|
45
|
+
|
46
|
+
$breakpoint: breakpoint($query, false);
|
47
|
+
|
48
|
+
$query-string: map-get($breakpoint, 'query');
|
49
|
+
$query-fallback: map-get($breakpoint, 'fallback');
|
50
|
+
|
51
|
+
$private-breakpoint-context-holder: map-get($breakpoint, 'context holder') !global;
|
52
|
+
$private-breakpoint-query-count: map-get($breakpoint, 'query count') !global;
|
53
|
+
|
54
|
+
// Allow for an as-needed override or usage of no query fallback.
|
55
|
+
@if $no-query != false {
|
56
|
+
$query-fallback: $no-query;
|
57
|
+
}
|
58
|
+
|
59
|
+
@if $query-fallback != false {
|
60
|
+
$context-setter: private-breakpoint-set-context('no-query', $query-fallback);
|
61
|
+
}
|
62
|
+
|
63
|
+
// Print Out Query String
|
64
|
+
@if not breakpoint-get('no queries') {
|
65
|
+
@media #{$query-string} {
|
66
|
+
@content;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
@if breakpoint-get('no query fallbacks') != false or breakpoint-get('no queries') == true {
|
71
|
+
|
72
|
+
$type: type-of(breakpoint-get('no query fallbacks'));
|
73
|
+
$print: false;
|
74
|
+
|
75
|
+
@if ($type == 'bool') {
|
76
|
+
$print: true;
|
77
|
+
}
|
78
|
+
@else if ($type == 'string') {
|
79
|
+
@if $query-fallback == breakpoint-get('no query fallbacks') {
|
80
|
+
$print: true;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
@else if ($type == 'list') {
|
84
|
+
@each $wrapper in breakpoint-get('no query fallbacks') {
|
85
|
+
@if $query-fallback == $wrapper {
|
86
|
+
$print: true;
|
87
|
+
}
|
88
|
+
}
|
89
|
+
}
|
90
|
+
|
91
|
+
// Write Fallback
|
92
|
+
@if ($query-fallback != false) and ($print == true) {
|
93
|
+
$type-fallback: type-of($query-fallback);
|
94
|
+
|
95
|
+
@if ($type-fallback != 'bool') {
|
96
|
+
#{$query-fallback} & {
|
97
|
+
@content;
|
98
|
+
}
|
99
|
+
}
|
100
|
+
@else {
|
101
|
+
@content;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
@include private-breakpoint-reset-contexts();
|
107
|
+
}
|
108
|
+
|
109
|
+
|
110
|
+
@mixin mq($query, $no-query: false) {
|
111
|
+
@include breakpoint($query, $no-query) {
|
112
|
+
@content;
|
113
|
+
}
|
114
|
+
}
|
@@ -1,95 +1,95 @@
|
|
1
|
-
//////////////////////////////
|
2
|
-
// Private Breakpoint Variables
|
3
|
-
//////////////////////////////
|
4
|
-
$private-breakpoint-context-holder: ();
|
5
|
-
$private-breakpoint-query-count: 0 !default;
|
6
|
-
|
7
|
-
//////////////////////////////
|
8
|
-
// Breakpoint Has Context
|
9
|
-
// Returns whether or not you are inside a Breakpoint query
|
10
|
-
//////////////////////////////
|
11
|
-
@function breakpoint-has-context() {
|
12
|
-
@if length($private-breakpoint-query-count) {
|
13
|
-
@return true;
|
14
|
-
}
|
15
|
-
@else {
|
16
|
-
@return false;
|
17
|
-
}
|
18
|
-
}
|
19
|
-
|
20
|
-
//////////////////////////////
|
21
|
-
// Breakpoint Get Context
|
22
|
-
// $feature: Input feature to get it's current MQ context. Returns false if no context
|
23
|
-
//////////////////////////////
|
24
|
-
@function breakpoint-get-context($feature) {
|
25
|
-
@if map-has-key($private-breakpoint-context-holder, $feature) {
|
26
|
-
$get: map-get($private-breakpoint-context-holder, $feature);
|
27
|
-
// Special handling of no-query from get side so /false/ prepends aren't returned
|
28
|
-
@if $feature == 'no-query' {
|
29
|
-
@if type-of($get) == 'list' and length($get) > 1 and nth($get, 1) == false {
|
30
|
-
$get: nth($get, length($get));
|
31
|
-
}
|
32
|
-
}
|
33
|
-
@return $get;
|
34
|
-
}
|
35
|
-
@else {
|
36
|
-
@if breakpoint-has-context() and $feature == 'media' {
|
37
|
-
@return breakpoint-get('default media');
|
38
|
-
}
|
39
|
-
@else {
|
40
|
-
@return false;
|
41
|
-
}
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
//////////////////////////////
|
46
|
-
// Private function to set context
|
47
|
-
//////////////////////////////
|
48
|
-
@function private-breakpoint-set-context($feature, $value) {
|
49
|
-
@if $value == 'monochrome' {
|
50
|
-
$feature: 'monochrome';
|
51
|
-
}
|
52
|
-
|
53
|
-
$current: map-get($private-breakpoint-context-holder, $feature);
|
54
|
-
@if $current and length($current) == $private-breakpoint-query-count {
|
55
|
-
@warn "You have already queried against `#{$feature}`. Unexpected things may happen if you query against the same feature more than once in the same `and` query. Breakpoint is overwriting the current context with `#{$value}`";
|
56
|
-
}
|
57
|
-
|
58
|
-
@if not map-has-key($private-breakpoint-context-holder, $feature) {
|
59
|
-
$v-holder: ();
|
60
|
-
@for $i from 1 to $private-breakpoint-query-count {
|
61
|
-
@if $feature == 'media' {
|
62
|
-
$v-holder: append($v-holder, breakpoint-get('default media'));
|
63
|
-
}
|
64
|
-
@else {
|
65
|
-
$v-holder: append($v-holder, false);
|
66
|
-
}
|
67
|
-
}
|
68
|
-
$v-holder: append($v-holder, $value);
|
69
|
-
$private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($feature: $v-holder)) !global;
|
70
|
-
}
|
71
|
-
@else {
|
72
|
-
$v-holder: map-get($private-breakpoint-context-holder, $feature);
|
73
|
-
$length: length($v-holder);
|
74
|
-
@for $i from $length to $private-breakpoint-query-count - 1 {
|
75
|
-
@if $feature == 'media' {
|
76
|
-
$v-holder: append($v-holder, breakpoint-get('default media'));
|
77
|
-
}
|
78
|
-
@else {
|
79
|
-
$v-holder: append($v-holder, false);
|
80
|
-
}
|
81
|
-
}
|
82
|
-
$v-holder: append($v-holder, $value);
|
83
|
-
$private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($feature: $v-holder)) !global;
|
84
|
-
}
|
85
|
-
|
86
|
-
@return true;
|
87
|
-
}
|
88
|
-
|
89
|
-
//////////////////////////////
|
90
|
-
// Private function to reset context
|
91
|
-
//////////////////////////////
|
92
|
-
@mixin private-breakpoint-reset-contexts {
|
93
|
-
$private-breakpoint-context-holder: () !global;
|
94
|
-
$private-breakpoint-query-count: 0 !global;
|
1
|
+
//////////////////////////////
|
2
|
+
// Private Breakpoint Variables
|
3
|
+
//////////////////////////////
|
4
|
+
$private-breakpoint-context-holder: ();
|
5
|
+
$private-breakpoint-query-count: 0 !default;
|
6
|
+
|
7
|
+
//////////////////////////////
|
8
|
+
// Breakpoint Has Context
|
9
|
+
// Returns whether or not you are inside a Breakpoint query
|
10
|
+
//////////////////////////////
|
11
|
+
@function breakpoint-has-context() {
|
12
|
+
@if length($private-breakpoint-query-count) {
|
13
|
+
@return true;
|
14
|
+
}
|
15
|
+
@else {
|
16
|
+
@return false;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
//////////////////////////////
|
21
|
+
// Breakpoint Get Context
|
22
|
+
// $feature: Input feature to get it's current MQ context. Returns false if no context
|
23
|
+
//////////////////////////////
|
24
|
+
@function breakpoint-get-context($feature) {
|
25
|
+
@if map-has-key($private-breakpoint-context-holder, $feature) {
|
26
|
+
$get: map-get($private-breakpoint-context-holder, $feature);
|
27
|
+
// Special handling of no-query from get side so /false/ prepends aren't returned
|
28
|
+
@if $feature == 'no-query' {
|
29
|
+
@if type-of($get) == 'list' and length($get) > 1 and nth($get, 1) == false {
|
30
|
+
$get: nth($get, length($get));
|
31
|
+
}
|
32
|
+
}
|
33
|
+
@return $get;
|
34
|
+
}
|
35
|
+
@else {
|
36
|
+
@if breakpoint-has-context() and $feature == 'media' {
|
37
|
+
@return breakpoint-get('default media');
|
38
|
+
}
|
39
|
+
@else {
|
40
|
+
@return false;
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
//////////////////////////////
|
46
|
+
// Private function to set context
|
47
|
+
//////////////////////////////
|
48
|
+
@function private-breakpoint-set-context($feature, $value) {
|
49
|
+
@if $value == 'monochrome' {
|
50
|
+
$feature: 'monochrome';
|
51
|
+
}
|
52
|
+
|
53
|
+
$current: map-get($private-breakpoint-context-holder, $feature);
|
54
|
+
@if $current and length($current) == $private-breakpoint-query-count {
|
55
|
+
@warn "You have already queried against `#{$feature}`. Unexpected things may happen if you query against the same feature more than once in the same `and` query. Breakpoint is overwriting the current context with `#{$value}`";
|
56
|
+
}
|
57
|
+
|
58
|
+
@if not map-has-key($private-breakpoint-context-holder, $feature) {
|
59
|
+
$v-holder: ();
|
60
|
+
@for $i from 1 to $private-breakpoint-query-count {
|
61
|
+
@if $feature == 'media' {
|
62
|
+
$v-holder: append($v-holder, breakpoint-get('default media'));
|
63
|
+
}
|
64
|
+
@else {
|
65
|
+
$v-holder: append($v-holder, false);
|
66
|
+
}
|
67
|
+
}
|
68
|
+
$v-holder: append($v-holder, $value);
|
69
|
+
$private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($feature: $v-holder)) !global;
|
70
|
+
}
|
71
|
+
@else {
|
72
|
+
$v-holder: map-get($private-breakpoint-context-holder, $feature);
|
73
|
+
$length: length($v-holder);
|
74
|
+
@for $i from $length to $private-breakpoint-query-count - 1 {
|
75
|
+
@if $feature == 'media' {
|
76
|
+
$v-holder: append($v-holder, breakpoint-get('default media'));
|
77
|
+
}
|
78
|
+
@else {
|
79
|
+
$v-holder: append($v-holder, false);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
$v-holder: append($v-holder, $value);
|
83
|
+
$private-breakpoint-context-holder: map-merge($private-breakpoint-context-holder, ($feature: $v-holder)) !global;
|
84
|
+
}
|
85
|
+
|
86
|
+
@return true;
|
87
|
+
}
|
88
|
+
|
89
|
+
//////////////////////////////
|
90
|
+
// Private function to reset context
|
91
|
+
//////////////////////////////
|
92
|
+
@mixin private-breakpoint-reset-contexts {
|
93
|
+
$private-breakpoint-context-holder: () !global;
|
94
|
+
$private-breakpoint-query-count: 0 !global;
|
95
95
|
}
|
@@ -1,151 +1,151 @@
|
|
1
|
-
//////////////////////////////
|
2
|
-
// Converts the input value to Base EMs
|
3
|
-
//////////////////////////////
|
4
|
-
@function breakpoint-to-base-em($value) {
|
5
|
-
$value-unit: unit($value);
|
6
|
-
|
7
|
-
// Will convert relative EMs into root EMs.
|
8
|
-
@if breakpoint-get('base font size') and type-of(breakpoint-get('base font size')) == 'number' and $value-unit == 'em' {
|
9
|
-
$base-unit: unit(breakpoint-get('base font size'));
|
10
|
-
|
11
|
-
@if $base-unit == 'px' or $base-unit == '%' or $base-unit == 'em' or $base-unit == 'pt' {
|
12
|
-
@return base-conversion($value) / base-conversion(breakpoint-get('base font size')) * 1em;
|
13
|
-
}
|
14
|
-
@else {
|
15
|
-
@warn '#{breakpoint-get(\'base font size\')} is not set in valid units for font size!';
|
16
|
-
@return false;
|
17
|
-
}
|
18
|
-
}
|
19
|
-
@else {
|
20
|
-
@return base-conversion($value);
|
21
|
-
}
|
22
|
-
}
|
23
|
-
|
24
|
-
@function base-conversion($value) {
|
25
|
-
$unit: unit($value);
|
26
|
-
|
27
|
-
@if $unit == 'px' {
|
28
|
-
@return $value / 16px * 1em;
|
29
|
-
}
|
30
|
-
@else if $unit == '%' {
|
31
|
-
@return $value / 100% * 1em;
|
32
|
-
}
|
33
|
-
@else if $unit == 'em' {
|
34
|
-
@return $value;
|
35
|
-
}
|
36
|
-
@else if $unit == 'pt' {
|
37
|
-
@return $value / 12pt * 1em;
|
38
|
-
}
|
39
|
-
@else {
|
40
|
-
@return $value;
|
41
|
-
// @warn 'Everything is terrible! What have you done?!';
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
//////////////////////////////
|
46
|
-
// Returns whether the feature can have a min/max pair
|
47
|
-
//////////////////////////////
|
48
|
-
$breakpoint-min-max-features: 'color',
|
49
|
-
'color-index',
|
50
|
-
'aspect-ratio',
|
51
|
-
'device-aspect-ratio',
|
52
|
-
'device-height',
|
53
|
-
'device-width',
|
54
|
-
'height',
|
55
|
-
'monochrome',
|
56
|
-
'resolution',
|
57
|
-
'width';
|
58
|
-
|
59
|
-
@function breakpoint-min-max($feature) {
|
60
|
-
@each $item in $breakpoint-min-max-features {
|
61
|
-
@if $feature == $item {
|
62
|
-
@return true;
|
63
|
-
}
|
64
|
-
}
|
65
|
-
@return false;
|
66
|
-
}
|
67
|
-
|
68
|
-
//////////////////////////////
|
69
|
-
// Returns whether the feature can have a string value
|
70
|
-
//////////////////////////////
|
71
|
-
$breakpoint-string-features: 'orientation',
|
72
|
-
'scan',
|
73
|
-
'color',
|
74
|
-
'aspect-ratio',
|
75
|
-
'device-aspect-ratio',
|
76
|
-
'pointer',
|
77
|
-
'luminosity';
|
78
|
-
|
79
|
-
@function breakpoint-string-value($feature) {
|
80
|
-
@each $item in $breakpoint-string-features {
|
81
|
-
@if breakpoint-min-max($item) {
|
82
|
-
@if $feature == 'min-#{$item}' or $feature == 'max-#{$item}' {
|
83
|
-
@return true;
|
84
|
-
}
|
85
|
-
}
|
86
|
-
@else if $feature == $item {
|
87
|
-
@return true;
|
88
|
-
}
|
89
|
-
}
|
90
|
-
@return false;
|
91
|
-
}
|
92
|
-
|
93
|
-
//////////////////////////////
|
94
|
-
// Returns whether the feature is a media type
|
95
|
-
//////////////////////////////
|
96
|
-
$breakpoint-media-types: 'all',
|
97
|
-
'braille',
|
98
|
-
'embossed',
|
99
|
-
'handheld',
|
100
|
-
'print',
|
101
|
-
'projection',
|
102
|
-
'screen',
|
103
|
-
'speech',
|
104
|
-
'tty',
|
105
|
-
'tv';
|
106
|
-
|
107
|
-
@function breakpoint-is-media($feature) {
|
108
|
-
@each $media in $breakpoint-media-types {
|
109
|
-
@if ($feature == $media) or ($feature == 'not #{$media}') or ($feature == 'only #{$media}') {
|
110
|
-
@return true;
|
111
|
-
}
|
112
|
-
}
|
113
|
-
|
114
|
-
@return false;
|
115
|
-
}
|
116
|
-
|
117
|
-
//////////////////////////////
|
118
|
-
// Returns whether the feature can stand alone
|
119
|
-
//////////////////////////////
|
120
|
-
$breakpoint-single-string-features: 'color',
|
121
|
-
'color-index',
|
122
|
-
'grid',
|
123
|
-
'monochrome';
|
124
|
-
|
125
|
-
@function breakpoint-single-string($feature) {
|
126
|
-
@each $item in $breakpoint-single-string-features {
|
127
|
-
@if $feature == $item {
|
128
|
-
@return true;
|
129
|
-
}
|
130
|
-
}
|
131
|
-
@return false;
|
132
|
-
}
|
133
|
-
|
134
|
-
//////////////////////////////
|
135
|
-
// Returns whether the feature
|
136
|
-
//////////////////////////////
|
137
|
-
@function breakpoint-is-resolution($feature) {
|
138
|
-
$resolutions: 'device-pixel-ratio', 'dpr';
|
139
|
-
|
140
|
-
@if breakpoint-get('transform resolutions') {
|
141
|
-
$resolutions: append($resolutions, 'resolution');
|
142
|
-
}
|
143
|
-
|
144
|
-
@each $reso in $resolutions {
|
145
|
-
@if index($feature, $reso) or index($feature, 'min-#{$reso}') or index($feature, 'max-#{$reso}') {
|
146
|
-
@return true;
|
147
|
-
}
|
148
|
-
}
|
149
|
-
|
150
|
-
@return false;
|
151
|
-
}
|
1
|
+
//////////////////////////////
|
2
|
+
// Converts the input value to Base EMs
|
3
|
+
//////////////////////////////
|
4
|
+
@function breakpoint-to-base-em($value) {
|
5
|
+
$value-unit: unit($value);
|
6
|
+
|
7
|
+
// Will convert relative EMs into root EMs.
|
8
|
+
@if breakpoint-get('base font size') and type-of(breakpoint-get('base font size')) == 'number' and $value-unit == 'em' {
|
9
|
+
$base-unit: unit(breakpoint-get('base font size'));
|
10
|
+
|
11
|
+
@if $base-unit == 'px' or $base-unit == '%' or $base-unit == 'em' or $base-unit == 'pt' {
|
12
|
+
@return base-conversion($value) / base-conversion(breakpoint-get('base font size')) * 1em;
|
13
|
+
}
|
14
|
+
@else {
|
15
|
+
@warn '#{breakpoint-get(\'base font size\')} is not set in valid units for font size!';
|
16
|
+
@return false;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
@else {
|
20
|
+
@return base-conversion($value);
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
@function base-conversion($value) {
|
25
|
+
$unit: unit($value);
|
26
|
+
|
27
|
+
@if $unit == 'px' {
|
28
|
+
@return $value / 16px * 1em;
|
29
|
+
}
|
30
|
+
@else if $unit == '%' {
|
31
|
+
@return $value / 100% * 1em;
|
32
|
+
}
|
33
|
+
@else if $unit == 'em' {
|
34
|
+
@return $value;
|
35
|
+
}
|
36
|
+
@else if $unit == 'pt' {
|
37
|
+
@return $value / 12pt * 1em;
|
38
|
+
}
|
39
|
+
@else {
|
40
|
+
@return $value;
|
41
|
+
// @warn 'Everything is terrible! What have you done?!';
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
//////////////////////////////
|
46
|
+
// Returns whether the feature can have a min/max pair
|
47
|
+
//////////////////////////////
|
48
|
+
$breakpoint-min-max-features: 'color',
|
49
|
+
'color-index',
|
50
|
+
'aspect-ratio',
|
51
|
+
'device-aspect-ratio',
|
52
|
+
'device-height',
|
53
|
+
'device-width',
|
54
|
+
'height',
|
55
|
+
'monochrome',
|
56
|
+
'resolution',
|
57
|
+
'width';
|
58
|
+
|
59
|
+
@function breakpoint-min-max($feature) {
|
60
|
+
@each $item in $breakpoint-min-max-features {
|
61
|
+
@if $feature == $item {
|
62
|
+
@return true;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
@return false;
|
66
|
+
}
|
67
|
+
|
68
|
+
//////////////////////////////
|
69
|
+
// Returns whether the feature can have a string value
|
70
|
+
//////////////////////////////
|
71
|
+
$breakpoint-string-features: 'orientation',
|
72
|
+
'scan',
|
73
|
+
'color',
|
74
|
+
'aspect-ratio',
|
75
|
+
'device-aspect-ratio',
|
76
|
+
'pointer',
|
77
|
+
'luminosity';
|
78
|
+
|
79
|
+
@function breakpoint-string-value($feature) {
|
80
|
+
@each $item in $breakpoint-string-features {
|
81
|
+
@if breakpoint-min-max($item) {
|
82
|
+
@if $feature == 'min-#{$item}' or $feature == 'max-#{$item}' {
|
83
|
+
@return true;
|
84
|
+
}
|
85
|
+
}
|
86
|
+
@else if $feature == $item {
|
87
|
+
@return true;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
@return false;
|
91
|
+
}
|
92
|
+
|
93
|
+
//////////////////////////////
|
94
|
+
// Returns whether the feature is a media type
|
95
|
+
//////////////////////////////
|
96
|
+
$breakpoint-media-types: 'all',
|
97
|
+
'braille',
|
98
|
+
'embossed',
|
99
|
+
'handheld',
|
100
|
+
'print',
|
101
|
+
'projection',
|
102
|
+
'screen',
|
103
|
+
'speech',
|
104
|
+
'tty',
|
105
|
+
'tv';
|
106
|
+
|
107
|
+
@function breakpoint-is-media($feature) {
|
108
|
+
@each $media in $breakpoint-media-types {
|
109
|
+
@if ($feature == $media) or ($feature == 'not #{$media}') or ($feature == 'only #{$media}') {
|
110
|
+
@return true;
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
114
|
+
@return false;
|
115
|
+
}
|
116
|
+
|
117
|
+
//////////////////////////////
|
118
|
+
// Returns whether the feature can stand alone
|
119
|
+
//////////////////////////////
|
120
|
+
$breakpoint-single-string-features: 'color',
|
121
|
+
'color-index',
|
122
|
+
'grid',
|
123
|
+
'monochrome';
|
124
|
+
|
125
|
+
@function breakpoint-single-string($feature) {
|
126
|
+
@each $item in $breakpoint-single-string-features {
|
127
|
+
@if $feature == $item {
|
128
|
+
@return true;
|
129
|
+
}
|
130
|
+
}
|
131
|
+
@return false;
|
132
|
+
}
|
133
|
+
|
134
|
+
//////////////////////////////
|
135
|
+
// Returns whether the feature
|
136
|
+
//////////////////////////////
|
137
|
+
@function breakpoint-is-resolution($feature) {
|
138
|
+
$resolutions: 'device-pixel-ratio', 'dpr';
|
139
|
+
|
140
|
+
@if breakpoint-get('transform resolutions') {
|
141
|
+
$resolutions: append($resolutions, 'resolution');
|
142
|
+
}
|
143
|
+
|
144
|
+
@each $reso in $resolutions {
|
145
|
+
@if index($feature, $reso) or index($feature, 'min-#{$reso}') or index($feature, 'max-#{$reso}') {
|
146
|
+
@return true;
|
147
|
+
}
|
148
|
+
}
|
149
|
+
|
150
|
+
@return false;
|
151
|
+
}
|