minimal-mistakes-jekyll 4.6.0 → 4.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/LICENSE.txt +59 -21
  4. data/README.md +217 -160
  5. data/_data/navigation.yml +11 -11
  6. data/_data/ui-text.yml +931 -888
  7. data/_includes/analytics-providers/custom.html +2 -2
  8. data/_includes/analytics-providers/google-universal.html +9 -9
  9. data/_includes/analytics-providers/google.html +10 -10
  10. data/_includes/analytics.html +11 -11
  11. data/_includes/archive-single.html +37 -37
  12. data/_includes/author-profile-custom-links.html +6 -6
  13. data/_includes/author-profile.html +249 -249
  14. data/_includes/base_path +4 -4
  15. data/_includes/breadcrumbs.html +39 -39
  16. data/_includes/browser-upgrade.html +2 -2
  17. data/_includes/category-list.html +25 -25
  18. data/_includes/comment.html +22 -22
  19. data/_includes/comments-providers/custom.html +2 -2
  20. data/_includes/comments-providers/discourse.html +13 -13
  21. data/_includes/comments-providers/facebook.html +7 -7
  22. data/_includes/comments-providers/google-plus.html +1 -1
  23. data/_includes/comments-providers/scripts.html +17 -15
  24. data/_includes/comments-providers/staticman.html +41 -41
  25. data/_includes/comments-providers/staticman_v2.html +42 -0
  26. data/_includes/comments.html +168 -96
  27. data/_includes/feature_row +49 -49
  28. data/_includes/figure +12 -12
  29. data/_includes/footer.html +25 -25
  30. data/_includes/footer/custom.html +2 -2
  31. data/_includes/gallery +46 -46
  32. data/_includes/group-by-array +46 -46
  33. data/_includes/head.html +42 -42
  34. data/_includes/head/custom.html +4 -4
  35. data/_includes/masthead.html +23 -20
  36. data/_includes/nav_list +46 -46
  37. data/_includes/page__hero_video.html +4 -4
  38. data/_includes/page__taxonomy.html +6 -6
  39. data/_includes/paginator.html +69 -69
  40. data/_includes/post_pagination.html +13 -13
  41. data/_includes/read-time.html +14 -14
  42. data/_includes/scripts.html +15 -15
  43. data/_includes/seo.html +162 -147
  44. data/_includes/sidebar.html +22 -22
  45. data/_includes/social-share.html +13 -13
  46. data/_includes/tag-list.html +25 -25
  47. data/_includes/toc +6 -6
  48. data/_includes/toc.html +75 -0
  49. data/_includes/video +11 -11
  50. data/_layouts/archive-taxonomy.html +14 -14
  51. data/_layouts/archive.html +25 -25
  52. data/_layouts/compress.html +10 -10
  53. data/_layouts/default.html +1 -1
  54. data/_layouts/home.html +11 -11
  55. data/_layouts/single.html +92 -84
  56. data/_layouts/splash.html +21 -21
  57. data/_sass/minimal-mistakes.scss +1 -1
  58. data/_sass/minimal-mistakes/_animations.scss +20 -20
  59. data/_sass/minimal-mistakes/_archive.scss +317 -317
  60. data/_sass/minimal-mistakes/_base.scss +315 -315
  61. data/_sass/minimal-mistakes/_buttons.scss +97 -97
  62. data/_sass/minimal-mistakes/_footer.scss +82 -82
  63. data/_sass/minimal-mistakes/_forms.scss +399 -389
  64. data/_sass/minimal-mistakes/_masthead.scss +82 -82
  65. data/_sass/minimal-mistakes/_mixins.scss +91 -91
  66. data/_sass/minimal-mistakes/_navigation.scss +552 -552
  67. data/_sass/minimal-mistakes/_notices.scss +99 -99
  68. data/_sass/minimal-mistakes/_page.scss +430 -430
  69. data/_sass/minimal-mistakes/_reset.scss +186 -186
  70. data/_sass/minimal-mistakes/_sidebar.scss +262 -262
  71. data/_sass/minimal-mistakes/_syntax.scss +286 -146
  72. data/_sass/minimal-mistakes/_tables.scss +36 -36
  73. data/_sass/minimal-mistakes/_utilities.scss +519 -519
  74. data/_sass/minimal-mistakes/_variables.scss +137 -137
  75. data/_sass/minimal-mistakes/skins/_air.scss +22 -22
  76. data/_sass/minimal-mistakes/skins/_aqua.scss +30 -0
  77. data/_sass/minimal-mistakes/skins/_contrast.scss +33 -33
  78. data/_sass/minimal-mistakes/skins/_dark.scss +23 -23
  79. data/_sass/minimal-mistakes/skins/_default.scss +5 -5
  80. data/_sass/minimal-mistakes/skins/_dirt.scss +14 -14
  81. data/_sass/minimal-mistakes/skins/_mint.scss +22 -22
  82. data/_sass/minimal-mistakes/skins/_neon.scss +35 -0
  83. data/_sass/minimal-mistakes/skins/_plum.scss +42 -0
  84. data/_sass/minimal-mistakes/skins/_sunrise.scss +25 -25
  85. data/_sass/minimal-mistakes/vendor/breakpoint/_breakpoint.scss +114 -114
  86. data/_sass/minimal-mistakes/vendor/breakpoint/_context.scss +94 -94
  87. data/_sass/minimal-mistakes/vendor/breakpoint/_helpers.scss +151 -151
  88. data/_sass/minimal-mistakes/vendor/breakpoint/_legacy-settings.scss +49 -49
  89. data/_sass/minimal-mistakes/vendor/breakpoint/_no-query.scss +15 -15
  90. data/_sass/minimal-mistakes/vendor/breakpoint/_parsers.scss +215 -215
  91. data/_sass/minimal-mistakes/vendor/breakpoint/_respond-to.scss +82 -82
  92. data/_sass/minimal-mistakes/vendor/breakpoint/_settings.scss +70 -70
  93. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_double.scss +33 -33
  94. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_query.scss +82 -82
  95. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_resolution.scss +31 -31
  96. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_single.scss +26 -26
  97. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/_triple.scss +36 -36
  98. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_default-pair.scss +21 -21
  99. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_default.scss +22 -22
  100. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/double/_double-string.scss +21 -21
  101. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -60
  102. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/single/_default.scss +13 -13
  103. data/_sass/minimal-mistakes/vendor/breakpoint/parsers/triple/_default.scss +18 -18
  104. data/_sass/minimal-mistakes/vendor/font-awesome/_animated.scss +34 -34
  105. data/_sass/minimal-mistakes/vendor/font-awesome/_bordered-pulled.scss +25 -25
  106. data/_sass/minimal-mistakes/vendor/font-awesome/_core.scss +12 -12
  107. data/_sass/minimal-mistakes/vendor/font-awesome/_fixed-width.scss +6 -6
  108. data/_sass/minimal-mistakes/vendor/font-awesome/_font-awesome.scss +18 -18
  109. data/_sass/minimal-mistakes/vendor/font-awesome/_icons.scss +789 -789
  110. data/_sass/minimal-mistakes/vendor/font-awesome/_larger.scss +13 -13
  111. data/_sass/minimal-mistakes/vendor/font-awesome/_list.scss +19 -19
  112. data/_sass/minimal-mistakes/vendor/font-awesome/_mixins.scss +60 -60
  113. data/_sass/minimal-mistakes/vendor/font-awesome/_path.scss +15 -15
  114. data/_sass/minimal-mistakes/vendor/font-awesome/_rotated-flipped.scss +20 -20
  115. data/_sass/minimal-mistakes/vendor/font-awesome/_screen-reader.scss +5 -5
  116. data/_sass/minimal-mistakes/vendor/font-awesome/_stacked.scss +20 -20
  117. data/_sass/minimal-mistakes/vendor/font-awesome/_variables.scss +800 -800
  118. data/_sass/minimal-mistakes/vendor/magnific-popup/_magnific-popup.scss +649 -649
  119. data/_sass/minimal-mistakes/vendor/magnific-popup/_settings.scss +45 -45
  120. data/_sass/minimal-mistakes/vendor/susy/_susy-prefix.scss +13 -13
  121. data/_sass/minimal-mistakes/vendor/susy/_susy.scss +5 -5
  122. data/_sass/minimal-mistakes/vendor/susy/plugins/_svg-grid.scss +5 -5
  123. data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_prefix.scss +7 -7
  124. data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-api.scss +114 -114
  125. data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-grid-math.scss +67 -67
  126. data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-settings.scss +14 -14
  127. data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-unprefix.scss +18 -18
  128. data/_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-utilities.scss +133 -133
  129. data/_sass/minimal-mistakes/vendor/susy/susy/_api.scss +318 -318
  130. data/_sass/minimal-mistakes/vendor/susy/susy/_normalize.scss +261 -261
  131. data/_sass/minimal-mistakes/vendor/susy/susy/_parse.scss +163 -163
  132. data/_sass/minimal-mistakes/vendor/susy/susy/_settings.scss +329 -329
  133. data/_sass/minimal-mistakes/vendor/susy/susy/_su-math.scss +441 -441
  134. data/_sass/minimal-mistakes/vendor/susy/susy/_su-validate.scss +213 -213
  135. data/_sass/minimal-mistakes/vendor/susy/susy/_syntax-helpers.scss +191 -191
  136. data/_sass/minimal-mistakes/vendor/susy/susy/_unprefix.scss +56 -56
  137. data/_sass/minimal-mistakes/vendor/susy/susy/_utilities.scss +167 -167
  138. data/assets/css/main.scss +7 -7
  139. data/assets/fonts/fontawesome-webfont.svg +2671 -2671
  140. data/assets/js/_main.js +72 -72
  141. data/assets/js/main.min.js +1 -1
  142. data/assets/js/plugins/jquery.fitvids.js +81 -81
  143. data/assets/js/plugins/jquery.greedy-navigation.js +77 -77
  144. metadata +8 -3
@@ -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
+ }