jekyll-theme-so-simple 3.1.0 → 3.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/LICENSE +49 -49
  4. data/README.md +15 -2
  5. data/_data/authors.yml +16 -16
  6. data/_data/navigation.yml +16 -14
  7. data/_data/text.yml +36 -36
  8. data/_includes/disqus-comments.html +19 -19
  9. data/_includes/documents-collection.html +19 -19
  10. data/_includes/entry-date.html +6 -6
  11. data/_includes/entry.html +41 -39
  12. data/_includes/footer-custom.html +3 -3
  13. data/_includes/footer.html +24 -24
  14. data/_includes/google-analytics.html +9 -9
  15. data/_includes/head-custom.html +5 -5
  16. data/_includes/head-feed.html +1 -1
  17. data/_includes/head-seo.html +1 -1
  18. data/_includes/head.html +50 -50
  19. data/_includes/lunr-search-scripts.html +106 -106
  20. data/_includes/masthead.html +13 -13
  21. data/_includes/navigation.html +17 -17
  22. data/_includes/page-author.html +37 -37
  23. data/_includes/page-categories.html +14 -14
  24. data/_includes/page-date.html +4 -4
  25. data/_includes/page-image.html +14 -14
  26. data/_includes/page-pagination.html +19 -19
  27. data/_includes/page-tags.html +14 -14
  28. data/_includes/posts-all.html +3 -3
  29. data/_includes/posts-category.html +3 -3
  30. data/_includes/posts-paginated.html +74 -74
  31. data/_includes/posts-tag.html +3 -3
  32. data/_includes/read-time.html +16 -16
  33. data/_includes/responsive-embed +16 -16
  34. data/_includes/scripts.html +1 -3
  35. data/_includes/skip-links.html +8 -8
  36. data/_includes/social-share.html +6 -6
  37. data/_includes/toc +9 -9
  38. data/_layouts/categories.html +48 -48
  39. data/_layouts/category.html +9 -9
  40. data/_layouts/collection.html +9 -9
  41. data/_layouts/default.html +1 -1
  42. data/_layouts/home.html +17 -17
  43. data/_layouts/page.html +30 -30
  44. data/_layouts/post.html +41 -41
  45. data/_layouts/posts.html +29 -29
  46. data/_layouts/search.html +1 -1
  47. data/_layouts/tag.html +9 -9
  48. data/_layouts/tags.html +48 -48
  49. data/_sass/so-simple.scss +1 -1
  50. data/_sass/so-simple/_author.scss +45 -45
  51. data/_sass/so-simple/_base.scss +112 -112
  52. data/_sass/so-simple/_buttons.scss +92 -92
  53. data/_sass/so-simple/_entries.scss +182 -182
  54. data/_sass/so-simple/_functions.scss +4 -4
  55. data/_sass/so-simple/_global.scss +393 -393
  56. data/_sass/so-simple/_icons.scss +43 -43
  57. data/_sass/so-simple/_mixins.scss +5 -5
  58. data/_sass/so-simple/_notices.scss +93 -93
  59. data/_sass/so-simple/_page.scss +287 -282
  60. data/_sass/so-simple/_reset.scss +523 -523
  61. data/_sass/so-simple/_syntax-highlighting.scss +334 -334
  62. data/_sass/so-simple/_tables.scss +34 -34
  63. data/_sass/so-simple/_utilities.scss +7 -7
  64. data/_sass/so-simple/_variables.scss +132 -132
  65. data/_sass/so-simple/functions/_color.scss +21 -21
  66. data/_sass/so-simple/functions/_em.scss +7 -7
  67. data/_sass/so-simple/functions/_fluid-type.scss +33 -33
  68. data/_sass/so-simple/functions/_yiq.scss +38 -38
  69. data/_sass/so-simple/mixins/_clearfix.scss +32 -32
  70. data/_sass/so-simple/mixins/_float.scss +15 -15
  71. data/_sass/so-simple/mixins/_image.scss +38 -38
  72. data/_sass/so-simple/mixins/_lists.scss +9 -9
  73. data/_sass/so-simple/mixins/_text-truncate.scss +10 -10
  74. data/_sass/so-simple/utilities/_accessibility.scss +43 -43
  75. data/_sass/so-simple/utilities/_align.scss +60 -60
  76. data/_sass/so-simple/utilities/_animations.scss +99 -99
  77. data/_sass/so-simple/utilities/_clearfix.scss +7 -7
  78. data/_sass/so-simple/utilities/_float.scss +7 -7
  79. data/_sass/so-simple/utilities/_responsive-embed.scss +66 -66
  80. data/_sass/so-simple/utilities/_text.scss +48 -48
  81. data/_sass/so-simple/vendor/breakpoint/_breakpoint.scss +114 -114
  82. data/_sass/so-simple/vendor/breakpoint/_context.scss +94 -94
  83. data/_sass/so-simple/vendor/breakpoint/_helpers.scss +151 -151
  84. data/_sass/so-simple/vendor/breakpoint/_legacy-settings.scss +49 -49
  85. data/_sass/so-simple/vendor/breakpoint/_no-query.scss +15 -15
  86. data/_sass/so-simple/vendor/breakpoint/_parsers.scss +215 -215
  87. data/_sass/so-simple/vendor/breakpoint/_respond-to.scss +82 -82
  88. data/_sass/so-simple/vendor/breakpoint/_settings.scss +70 -70
  89. data/_sass/so-simple/vendor/breakpoint/parsers/_double.scss +33 -33
  90. data/_sass/so-simple/vendor/breakpoint/parsers/_query.scss +82 -82
  91. data/_sass/so-simple/vendor/breakpoint/parsers/_resolution.scss +31 -31
  92. data/_sass/so-simple/vendor/breakpoint/parsers/_single.scss +26 -26
  93. data/_sass/so-simple/vendor/breakpoint/parsers/_triple.scss +36 -36
  94. data/_sass/so-simple/vendor/breakpoint/parsers/double/_default-pair.scss +21 -21
  95. data/_sass/so-simple/vendor/breakpoint/parsers/double/_default.scss +22 -22
  96. data/_sass/so-simple/vendor/breakpoint/parsers/double/_double-string.scss +21 -21
  97. data/_sass/so-simple/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -60
  98. data/_sass/so-simple/vendor/breakpoint/parsers/single/_default.scss +13 -13
  99. data/_sass/so-simple/vendor/breakpoint/parsers/triple/_default.scss +18 -18
  100. data/_sass/so-simple/vendor/lity/_lity.scss +221 -221
  101. data/assets/css/main.scss +7 -7
  102. data/assets/js/lunr/lunr.da.min.js +17 -17
  103. data/assets/js/lunr/lunr.de.min.js +17 -17
  104. data/assets/js/lunr/lunr.du.min.js +17 -17
  105. data/assets/js/lunr/lunr.es.min.js +17 -17
  106. data/assets/js/lunr/lunr.fi.min.js +17 -17
  107. data/assets/js/lunr/lunr.fr.min.js +17 -17
  108. data/assets/js/lunr/lunr.hu.min.js +17 -17
  109. data/assets/js/lunr/lunr.it.min.js +17 -17
  110. data/assets/js/lunr/lunr.jp.min.js +1 -1
  111. data/assets/js/lunr/lunr.min.js +6 -6
  112. data/assets/js/lunr/lunr.no.min.js +17 -17
  113. data/assets/js/lunr/lunr.pt.min.js +17 -17
  114. data/assets/js/lunr/lunr.ro.min.js +17 -17
  115. data/assets/js/lunr/lunr.ru.min.js +17 -17
  116. data/assets/js/lunr/lunr.sv.min.js +17 -17
  117. data/assets/js/lunr/lunr.tr.min.js +17 -17
  118. data/assets/js/main.js +17 -15
  119. data/assets/js/main.min.js +2 -2
  120. data/assets/js/plugins/jquery.smooth-scroll.js +358 -358
  121. data/assets/js/plugins/jquery.smooth-scroll.min.js +8 -8
  122. data/assets/js/plugins/lity.js +655 -655
  123. data/assets/js/plugins/lity.min.js +4 -4
  124. data/assets/js/plugins/table-of-contents.js +59 -59
  125. data/assets/js/search-data.json +43 -27
  126. metadata +3 -3
@@ -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
+ }