jekyll-theme-basically-basic 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -19
  3. data/LICENSE.md +20 -20
  4. data/README.md +32 -2
  5. data/_includes/author +30 -30
  6. data/_includes/contact-list.html +26 -26
  7. data/_includes/cv/awards.html +23 -23
  8. data/_includes/cv/education.html +36 -36
  9. data/_includes/cv/interests.html +19 -19
  10. data/_includes/cv/intro.html +18 -18
  11. data/_includes/cv/languages.html +19 -19
  12. data/_includes/cv/publications.html +29 -29
  13. data/_includes/cv/references.html +23 -23
  14. data/_includes/cv/skills.html +19 -19
  15. data/_includes/cv/volunteer.html +46 -46
  16. data/_includes/cv/work.html +46 -46
  17. data/_includes/disqus_comments.html +16 -16
  18. data/_includes/entry.html +29 -29
  19. data/_includes/footer.html +9 -9
  20. data/_includes/google-analytics.html +8 -8
  21. data/_includes/icon-bitbucket.html +4 -4
  22. data/_includes/icon-codepen.html +4 -4
  23. data/_includes/icon-dribbble.html +4 -4
  24. data/_includes/icon-facebook.html +4 -4
  25. data/_includes/icon-flickr.html +4 -4
  26. data/_includes/icon-github.html +4 -4
  27. data/_includes/icon-gitlab.html +4 -4
  28. data/_includes/icon-googleplus.html +4 -4
  29. data/_includes/icon-instagram.html +4 -4
  30. data/_includes/icon-lastfm.html +4 -4
  31. data/_includes/icon-linkedin.html +4 -4
  32. data/_includes/icon-pinterest.html +4 -4
  33. data/_includes/icon-soundcloud.html +4 -4
  34. data/_includes/icon-stackoverflow.html +4 -4
  35. data/_includes/icon-tumblr.html +4 -4
  36. data/_includes/icon-twitter.html +4 -4
  37. data/_includes/icon-xing.html +4 -4
  38. data/_includes/icon-youtube.html +4 -4
  39. data/_includes/navigation.html +24 -24
  40. data/_includes/page-intro.html +42 -42
  41. data/_includes/posts-all.html +2 -2
  42. data/_includes/posts-paginated.html +15 -15
  43. data/_includes/read-time.html +13 -13
  44. data/_includes/scripts.html +4 -4
  45. data/_includes/skip-links.html +7 -7
  46. data/_layouts/about.html +21 -21
  47. data/_layouts/cv.html +28 -28
  48. data/_layouts/default.html +38 -38
  49. data/_layouts/home.html +30 -30
  50. data/_layouts/page.html +17 -17
  51. data/_layouts/post.html +20 -20
  52. data/_sass/basically-basic.scss +41 -37
  53. data/_sass/basically-basic/_base.scss +110 -110
  54. data/_sass/basically-basic/_buttons.scss +39 -39
  55. data/_sass/basically-basic/_contact-lists.scss +11 -11
  56. data/_sass/basically-basic/_entries.scss +155 -155
  57. data/_sass/basically-basic/_footer.scss +13 -13
  58. data/_sass/basically-basic/_global.scss +36 -36
  59. data/_sass/basically-basic/_icons.scss +43 -43
  60. data/_sass/basically-basic/_intro.scss +65 -65
  61. data/_sass/basically-basic/_layout.scss +178 -178
  62. data/_sass/basically-basic/_mixins.scss +7 -7
  63. data/_sass/basically-basic/_navicons.scss +144 -144
  64. data/_sass/basically-basic/_navigation.scss +51 -51
  65. data/_sass/basically-basic/_print.scss +226 -0
  66. data/_sass/basically-basic/_reset.scss +522 -522
  67. data/_sass/basically-basic/_responsive-embed.scss +70 -0
  68. data/_sass/basically-basic/_sidebar.scss +177 -177
  69. data/_sass/basically-basic/_syntax-highlighting.scss +127 -127
  70. data/_sass/basically-basic/_tables.scss +42 -42
  71. data/_sass/basically-basic/_variables.scss +84 -84
  72. data/_sass/basically-basic/mixins/_clearfix.scss +11 -11
  73. data/_sass/basically-basic/mixins/_color.scss +21 -21
  74. data/_sass/basically-basic/mixins/_float.scss +15 -15
  75. data/_sass/basically-basic/mixins/_fluid-type.scss +33 -33
  76. data/_sass/basically-basic/mixins/_image.scss +38 -38
  77. data/_sass/basically-basic/mixins/_lists.scss +9 -9
  78. data/_sass/basically-basic/mixins/_text-truncate.scss +10 -10
  79. data/_sass/basically-basic/themes/_default.scss +5 -5
  80. data/_sass/basically-basic/themes/_night.scss +12 -12
  81. data/_sass/basically-basic/themes/_plum.scss +12 -12
  82. data/_sass/basically-basic/themes/_sea.scss +12 -12
  83. data/_sass/basically-basic/themes/_soft.scss +12 -12
  84. data/_sass/basically-basic/themes/_steel.scss +12 -12
  85. data/_sass/basically-basic/utilities/_accessibility.scss +54 -54
  86. data/_sass/basically-basic/utilities/_align.scss +64 -64
  87. data/_sass/basically-basic/utilities/_clearfix.scss +7 -7
  88. data/_sass/basically-basic/utilities/_float.scss +7 -7
  89. data/_sass/basically-basic/utilities/_text.scss +28 -28
  90. data/_sass/basically-basic/vendor/_breakpoint.scss +114 -114
  91. data/_sass/basically-basic/vendor/_su.scss +4 -4
  92. data/_sass/basically-basic/vendor/_susy.scss +4 -4
  93. data/_sass/basically-basic/vendor/_susyone.scss +4 -4
  94. data/_sass/basically-basic/vendor/breakpoint/_context.scss +94 -94
  95. data/_sass/basically-basic/vendor/breakpoint/_helpers.scss +151 -151
  96. data/_sass/basically-basic/vendor/breakpoint/_legacy-settings.scss +49 -49
  97. data/_sass/basically-basic/vendor/breakpoint/_no-query.scss +15 -15
  98. data/_sass/basically-basic/vendor/breakpoint/_parsers.scss +215 -215
  99. data/_sass/basically-basic/vendor/breakpoint/_respond-to.scss +82 -82
  100. data/_sass/basically-basic/vendor/breakpoint/_settings.scss +70 -70
  101. data/_sass/basically-basic/vendor/breakpoint/parsers/_double.scss +33 -33
  102. data/_sass/basically-basic/vendor/breakpoint/parsers/_query.scss +82 -82
  103. data/_sass/basically-basic/vendor/breakpoint/parsers/_resolution.scss +31 -31
  104. data/_sass/basically-basic/vendor/breakpoint/parsers/_single.scss +26 -26
  105. data/_sass/basically-basic/vendor/breakpoint/parsers/_triple.scss +36 -36
  106. data/_sass/basically-basic/vendor/breakpoint/parsers/double/_default-pair.scss +21 -21
  107. data/_sass/basically-basic/vendor/breakpoint/parsers/double/_default.scss +22 -22
  108. data/_sass/basically-basic/vendor/breakpoint/parsers/double/_double-string.scss +21 -21
  109. data/_sass/basically-basic/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -60
  110. data/_sass/basically-basic/vendor/breakpoint/parsers/single/_default.scss +13 -13
  111. data/_sass/basically-basic/vendor/breakpoint/parsers/triple/_default.scss +18 -18
  112. data/_sass/basically-basic/vendor/susy/_su.scss +7 -7
  113. data/_sass/basically-basic/vendor/susy/language/_susy.scss +24 -24
  114. data/_sass/basically-basic/vendor/susy/language/_susyone.scss +13 -13
  115. data/_sass/basically-basic/vendor/susy/language/susy/_background.scss +385 -385
  116. data/_sass/basically-basic/vendor/susy/language/susy/_bleed.scss +200 -200
  117. data/_sass/basically-basic/vendor/susy/language/susy/_box-sizing.scss +47 -47
  118. data/_sass/basically-basic/vendor/susy/language/susy/_breakpoint-plugin.scss +185 -185
  119. data/_sass/basically-basic/vendor/susy/language/susy/_container.scss +81 -81
  120. data/_sass/basically-basic/vendor/susy/language/susy/_context.scss +36 -36
  121. data/_sass/basically-basic/vendor/susy/language/susy/_gallery.scss +94 -94
  122. data/_sass/basically-basic/vendor/susy/language/susy/_grids.scss +64 -64
  123. data/_sass/basically-basic/vendor/susy/language/susy/_gutters.scss +154 -154
  124. data/_sass/basically-basic/vendor/susy/language/susy/_isolate.scss +77 -77
  125. data/_sass/basically-basic/vendor/susy/language/susy/_margins.scss +94 -94
  126. data/_sass/basically-basic/vendor/susy/language/susy/_padding.scss +74 -74
  127. data/_sass/basically-basic/vendor/susy/language/susy/_rows.scss +138 -138
  128. data/_sass/basically-basic/vendor/susy/language/susy/_settings.scss +216 -216
  129. data/_sass/basically-basic/vendor/susy/language/susy/_span.scss +163 -163
  130. data/_sass/basically-basic/vendor/susy/language/susy/_validation.scss +16 -16
  131. data/_sass/basically-basic/vendor/susy/language/susyone/_background.scss +18 -18
  132. data/_sass/basically-basic/vendor/susy/language/susyone/_functions.scss +377 -377
  133. data/_sass/basically-basic/vendor/susy/language/susyone/_grid.scss +312 -312
  134. data/_sass/basically-basic/vendor/susy/language/susyone/_isolation.scss +51 -51
  135. data/_sass/basically-basic/vendor/susy/language/susyone/_margin.scss +93 -93
  136. data/_sass/basically-basic/vendor/susy/language/susyone/_media.scss +105 -105
  137. data/_sass/basically-basic/vendor/susy/language/susyone/_padding.scss +92 -92
  138. data/_sass/basically-basic/vendor/susy/language/susyone/_settings.scss +60 -60
  139. data/_sass/basically-basic/vendor/susy/output/_float.scss +9 -9
  140. data/_sass/basically-basic/vendor/susy/output/_shared.scss +15 -15
  141. data/_sass/basically-basic/vendor/susy/output/_support.scss +9 -9
  142. data/_sass/basically-basic/vendor/susy/output/float/_container.scss +16 -16
  143. data/_sass/basically-basic/vendor/susy/output/float/_end.scss +40 -40
  144. data/_sass/basically-basic/vendor/susy/output/float/_isolate.scss +22 -22
  145. data/_sass/basically-basic/vendor/susy/output/float/_span.scss +35 -35
  146. data/_sass/basically-basic/vendor/susy/output/shared/_background.scss +26 -26
  147. data/_sass/basically-basic/vendor/susy/output/shared/_container.scss +21 -21
  148. data/_sass/basically-basic/vendor/susy/output/shared/_direction.scss +42 -42
  149. data/_sass/basically-basic/vendor/susy/output/shared/_inspect.scss +25 -25
  150. data/_sass/basically-basic/vendor/susy/output/shared/_margins.scss +23 -23
  151. data/_sass/basically-basic/vendor/susy/output/shared/_output.scss +14 -14
  152. data/_sass/basically-basic/vendor/susy/output/shared/_padding.scss +23 -23
  153. data/_sass/basically-basic/vendor/susy/output/support/_background.scss +58 -58
  154. data/_sass/basically-basic/vendor/susy/output/support/_box-sizing.scss +19 -19
  155. data/_sass/basically-basic/vendor/susy/output/support/_clearfix.scss +18 -18
  156. data/_sass/basically-basic/vendor/susy/output/support/_prefix.scss +19 -19
  157. data/_sass/basically-basic/vendor/susy/output/support/_rem.scss +22 -22
  158. data/_sass/basically-basic/vendor/susy/output/support/_support.scss +85 -85
  159. data/_sass/basically-basic/vendor/susy/su/_grid.scss +103 -103
  160. data/_sass/basically-basic/vendor/susy/su/_settings.scss +73 -73
  161. data/_sass/basically-basic/vendor/susy/su/_utilities.scss +111 -111
  162. data/_sass/basically-basic/vendor/susy/su/_validation.scss +57 -57
  163. data/assets/javascripts/main.js +57 -57
  164. data/assets/stylesheets/main.scss +9 -9
  165. metadata +4 -2
@@ -1,82 +1,82 @@
1
- ////////////////////////
2
- // Default the Breakpoints variable
3
- ////////////////////////
4
- $breakpoints: () !default;
5
- $BREAKPOINTS: () !default;
6
-
7
- ////////////////////////
8
- // Respond-to API Mixin
9
- ////////////////////////
10
- @mixin respond-to($context, $no-query: false) {
11
- @if length($breakpoints) > 0 and length($BREAKPOINTS) == 0 {
12
- @warn "In order to avoid variable namespace collisions, we have updated the way to add breakpoints for respond-to. Please change all instances of `$breakpoints: add-breakpoint()` to `@include add-breakpoint()`. The `add-breakpoint()` function will be deprecated in a future release.";
13
- $BREAKPOINTS: $breakpoints !global;
14
- $breakpoints: () !global;
15
- }
16
-
17
- @if type-of($BREAKPOINTS) != 'map' {
18
- // Just in case someone writes gibberish to the $breakpoints variable.
19
- @warn "Your breakpoints aren't a map! `respond-to` expects a map. Please check the value of $BREAKPOINTS variable.";
20
- @content;
21
- }
22
- @else if map-has-key($BREAKPOINTS, $context) {
23
- @include breakpoint(map-get($BREAKPOINTS, $context), $no-query) {
24
- @content;
25
- }
26
- }
27
- @else if not map-has-key($BREAKPOINTS, $context) {
28
- @warn "`#{$context}` isn't a defined breakpoint! Please add it using `$breakpoints: add-breakpoint(`#{$context}`, $value);`";
29
- @content;
30
- }
31
- @else {
32
- @warn "You haven't created any breakpoints yet! Make some already! `@include add-breakpoint($name, $bkpt)`";
33
- @content;
34
- }
35
- }
36
-
37
- //////////////////////////////
38
- // Add Breakpoint to Breakpoints
39
- // TODO: Remove function in next release
40
- //////////////////////////////
41
- @function add-breakpoint($name, $bkpt, $overwrite: false) {
42
- $output: ($name: $bkpt);
43
-
44
- @if length($breakpoints) == 0 {
45
- @return $output;
46
- }
47
- @else {
48
- @if map-has-key($breakpoints, $name) and $overwrite != true {
49
- @warn "You already have a breakpoint named `#{$name}`, please choose another breakpoint name, or pass in `$overwrite: true` to overwrite the previous breakpoint.";
50
- @return $breakpoints;
51
- }
52
- @else if not map-has-key($breakpoints, $name) or $overwrite == true {
53
- @return map-merge($breakpoints, $output);
54
- }
55
- }
56
- }
57
-
58
- @mixin add-breakpoint($name, $bkpt, $overwrite: false) {
59
- $output: ($name: $bkpt);
60
-
61
- @if length($BREAKPOINTS) == 0 {
62
- $BREAKPOINTS: $output !global;
63
- }
64
- @else {
65
- @if map-has-key($BREAKPOINTS, $name) and $overwrite != true {
66
- @warn "You already have a breakpoint named `#{$name}`, please choose another breakpoint name, or pass in `$overwrite: true` to overwrite the previous breakpoint.";
67
- $BREAKPOINTS: $BREAKPOINTS !global;
68
- }
69
- @else if not map-has-key($BREAKPOINTS, $name) or $overwrite == true {
70
- $BREAKPOINTS: map-merge($BREAKPOINTS, $output) !global;
71
- }
72
- }
73
- }
74
-
75
- @function get-breakpoint($name: false) {
76
- @if $name == false {
77
- @return $BREAKPOINTS;
78
- }
79
- @else {
80
- @return map-get($BREAKPOINTS, $name);
81
- }
82
- }
1
+ ////////////////////////
2
+ // Default the Breakpoints variable
3
+ ////////////////////////
4
+ $breakpoints: () !default;
5
+ $BREAKPOINTS: () !default;
6
+
7
+ ////////////////////////
8
+ // Respond-to API Mixin
9
+ ////////////////////////
10
+ @mixin respond-to($context, $no-query: false) {
11
+ @if length($breakpoints) > 0 and length($BREAKPOINTS) == 0 {
12
+ @warn "In order to avoid variable namespace collisions, we have updated the way to add breakpoints for respond-to. Please change all instances of `$breakpoints: add-breakpoint()` to `@include add-breakpoint()`. The `add-breakpoint()` function will be deprecated in a future release.";
13
+ $BREAKPOINTS: $breakpoints !global;
14
+ $breakpoints: () !global;
15
+ }
16
+
17
+ @if type-of($BREAKPOINTS) != 'map' {
18
+ // Just in case someone writes gibberish to the $breakpoints variable.
19
+ @warn "Your breakpoints aren't a map! `respond-to` expects a map. Please check the value of $BREAKPOINTS variable.";
20
+ @content;
21
+ }
22
+ @else if map-has-key($BREAKPOINTS, $context) {
23
+ @include breakpoint(map-get($BREAKPOINTS, $context), $no-query) {
24
+ @content;
25
+ }
26
+ }
27
+ @else if not map-has-key($BREAKPOINTS, $context) {
28
+ @warn "`#{$context}` isn't a defined breakpoint! Please add it using `$breakpoints: add-breakpoint(`#{$context}`, $value);`";
29
+ @content;
30
+ }
31
+ @else {
32
+ @warn "You haven't created any breakpoints yet! Make some already! `@include add-breakpoint($name, $bkpt)`";
33
+ @content;
34
+ }
35
+ }
36
+
37
+ //////////////////////////////
38
+ // Add Breakpoint to Breakpoints
39
+ // TODO: Remove function in next release
40
+ //////////////////////////////
41
+ @function add-breakpoint($name, $bkpt, $overwrite: false) {
42
+ $output: ($name: $bkpt);
43
+
44
+ @if length($breakpoints) == 0 {
45
+ @return $output;
46
+ }
47
+ @else {
48
+ @if map-has-key($breakpoints, $name) and $overwrite != true {
49
+ @warn "You already have a breakpoint named `#{$name}`, please choose another breakpoint name, or pass in `$overwrite: true` to overwrite the previous breakpoint.";
50
+ @return $breakpoints;
51
+ }
52
+ @else if not map-has-key($breakpoints, $name) or $overwrite == true {
53
+ @return map-merge($breakpoints, $output);
54
+ }
55
+ }
56
+ }
57
+
58
+ @mixin add-breakpoint($name, $bkpt, $overwrite: false) {
59
+ $output: ($name: $bkpt);
60
+
61
+ @if length($BREAKPOINTS) == 0 {
62
+ $BREAKPOINTS: $output !global;
63
+ }
64
+ @else {
65
+ @if map-has-key($BREAKPOINTS, $name) and $overwrite != true {
66
+ @warn "You already have a breakpoint named `#{$name}`, please choose another breakpoint name, or pass in `$overwrite: true` to overwrite the previous breakpoint.";
67
+ $BREAKPOINTS: $BREAKPOINTS !global;
68
+ }
69
+ @else if not map-has-key($BREAKPOINTS, $name) or $overwrite == true {
70
+ $BREAKPOINTS: map-merge($BREAKPOINTS, $output) !global;
71
+ }
72
+ }
73
+ }
74
+
75
+ @function get-breakpoint($name: false) {
76
+ @if $name == false {
77
+ @return $BREAKPOINTS;
78
+ }
79
+ @else {
80
+ @return map-get($BREAKPOINTS, $name);
81
+ }
82
+ }
@@ -1,71 +1,71 @@
1
- //////////////////////////////
2
- // Has Setting
3
- //////////////////////////////
4
- @function breakpoint-has($setting) {
5
- @if map-has-key($breakpoint, $setting) {
6
- @return true;
7
- }
8
- @else {
9
- @return false;
10
- }
11
- }
12
-
13
- //////////////////////////////
14
- // Get Settings
15
- //////////////////////////////
16
- @function breakpoint-get($setting) {
17
- @if breakpoint-has($setting) {
18
- @return map-get($breakpoint, $setting);
19
- }
20
- @else {
21
- @return map-get($Breakpoint-Settings, $setting);
22
- }
23
- }
24
-
25
- //////////////////////////////
26
- // Set Settings
27
- //////////////////////////////
28
- @function breakpoint-set($setting, $value) {
29
- @if (str-index($setting, '-') or str-index($setting, '_')) and str-index($setting, ' ') == null {
30
- @warn "Words in Breakpoint settings should be separated by spaces, not dashes or underscores. Please replace dashes and underscores between words with spaces. Settings will not work as expected until changed.";
31
- }
32
- $breakpoint: map-merge($breakpoint, ($setting: $value)) !global;
33
- @return true;
34
- }
35
-
36
- @mixin breakpoint-change($setting, $value) {
37
- $breakpoint-change: breakpoint-set($setting, $value);
38
- }
39
-
40
- @mixin breakpoint-set($setting, $value) {
41
- @include breakpoint-change($setting, $value);
42
- }
43
-
44
- @mixin bkpt-change($setting, $value) {
45
- @include breakpoint-change($setting, $value);
46
- }
47
- @mixin bkpt-set($setting, $value) {
48
- @include breakpoint-change($setting, $value);
49
- }
50
-
51
- //////////////////////////////
52
- // Remove Setting
53
- //////////////////////////////
54
- @function breakpoint-reset($settings...) {
55
- @if length($settings) == 1 {
56
- $settings: nth($settings, 1);
57
- }
58
-
59
- @each $setting in $settings {
60
- $breakpoint: map-remove($breakpoint, $setting) !global;
61
- }
62
- @return true;
63
- }
64
-
65
- @mixin breakpoint-reset($settings...) {
66
- $breakpoint-reset: breakpoint-reset($settings);
67
- }
68
-
69
- @mixin bkpt-reset($settings...) {
70
- $breakpoint-reset: breakpoint-reset($settings);
1
+ //////////////////////////////
2
+ // Has Setting
3
+ //////////////////////////////
4
+ @function breakpoint-has($setting) {
5
+ @if map-has-key($breakpoint, $setting) {
6
+ @return true;
7
+ }
8
+ @else {
9
+ @return false;
10
+ }
11
+ }
12
+
13
+ //////////////////////////////
14
+ // Get Settings
15
+ //////////////////////////////
16
+ @function breakpoint-get($setting) {
17
+ @if breakpoint-has($setting) {
18
+ @return map-get($breakpoint, $setting);
19
+ }
20
+ @else {
21
+ @return map-get($Breakpoint-Settings, $setting);
22
+ }
23
+ }
24
+
25
+ //////////////////////////////
26
+ // Set Settings
27
+ //////////////////////////////
28
+ @function breakpoint-set($setting, $value) {
29
+ @if (str-index($setting, '-') or str-index($setting, '_')) and str-index($setting, ' ') == null {
30
+ @warn "Words in Breakpoint settings should be separated by spaces, not dashes or underscores. Please replace dashes and underscores between words with spaces. Settings will not work as expected until changed.";
31
+ }
32
+ $breakpoint: map-merge($breakpoint, ($setting: $value)) !global;
33
+ @return true;
34
+ }
35
+
36
+ @mixin breakpoint-change($setting, $value) {
37
+ $breakpoint-change: breakpoint-set($setting, $value);
38
+ }
39
+
40
+ @mixin breakpoint-set($setting, $value) {
41
+ @include breakpoint-change($setting, $value);
42
+ }
43
+
44
+ @mixin bkpt-change($setting, $value) {
45
+ @include breakpoint-change($setting, $value);
46
+ }
47
+ @mixin bkpt-set($setting, $value) {
48
+ @include breakpoint-change($setting, $value);
49
+ }
50
+
51
+ //////////////////////////////
52
+ // Remove Setting
53
+ //////////////////////////////
54
+ @function breakpoint-reset($settings...) {
55
+ @if length($settings) == 1 {
56
+ $settings: nth($settings, 1);
57
+ }
58
+
59
+ @each $setting in $settings {
60
+ $breakpoint: map-remove($breakpoint, $setting) !global;
61
+ }
62
+ @return true;
63
+ }
64
+
65
+ @mixin breakpoint-reset($settings...) {
66
+ $breakpoint-reset: breakpoint-reset($settings);
67
+ }
68
+
69
+ @mixin bkpt-reset($settings...) {
70
+ $breakpoint-reset: breakpoint-reset($settings);
71
71
  }
@@ -1,33 +1,33 @@
1
- //////////////////////////////
2
- // Import Pieces
3
- //////////////////////////////
4
- @import "double/default-pair";
5
- @import "double/double-string";
6
- @import "double/default";
7
-
8
- @function breakpoint-parse-double($feature, $empty-media, $first) {
9
- $parsed: '';
10
- $leader: '';
11
- // If we're forcing
12
- @if not ($empty-media) or not ($first) {
13
- $leader: 'and ';
14
- }
15
-
16
- $first: nth($feature, 1);
17
- $second: nth($feature, 2);
18
-
19
- // If we've got two numbers, we know we need to use the default pair because there are no media queries that has a media feature that is a number
20
- @if type-of($first) == 'number' and type-of($second) == 'number' {
21
- $parsed: breakpoint-parse-default-pair($first, $second);
22
- }
23
- // If they are both strings, we send it through the string parser
24
- @else if type-of($first) == 'string' and type-of($second) == 'string' {
25
- $parsed: breakpoint-parse-double-string($first, $second);
26
- }
27
- // If it's a string/number pair, we parse it as a normal double
28
- @else {
29
- $parsed: breakpoint-parse-double-default($first, $second);
30
- }
31
-
32
- @return $leader + $parsed;
33
- }
1
+ //////////////////////////////
2
+ // Import Pieces
3
+ //////////////////////////////
4
+ @import "double/default-pair";
5
+ @import "double/double-string";
6
+ @import "double/default";
7
+
8
+ @function breakpoint-parse-double($feature, $empty-media, $first) {
9
+ $parsed: '';
10
+ $leader: '';
11
+ // If we're forcing
12
+ @if not ($empty-media) or not ($first) {
13
+ $leader: 'and ';
14
+ }
15
+
16
+ $first: nth($feature, 1);
17
+ $second: nth($feature, 2);
18
+
19
+ // If we've got two numbers, we know we need to use the default pair because there are no media queries that has a media feature that is a number
20
+ @if type-of($first) == 'number' and type-of($second) == 'number' {
21
+ $parsed: breakpoint-parse-default-pair($first, $second);
22
+ }
23
+ // If they are both strings, we send it through the string parser
24
+ @else if type-of($first) == 'string' and type-of($second) == 'string' {
25
+ $parsed: breakpoint-parse-double-string($first, $second);
26
+ }
27
+ // If it's a string/number pair, we parse it as a normal double
28
+ @else {
29
+ $parsed: breakpoint-parse-double-default($first, $second);
30
+ }
31
+
32
+ @return $leader + $parsed;
33
+ }
@@ -1,82 +1,82 @@
1
- @function breakpoint-parse-query($query) {
2
- // Parse features out of an individual query
3
- $feature-holder: ();
4
- $query-holder: ();
5
- $length: length($query);
6
-
7
- @if $length == 2 {
8
- // If we've got a string/number, number/string, check to see if it's a valid string/number pair or two singles
9
- @if (type-of(nth($query, 1)) == 'string' and type-of(nth($query, 2)) == 'number') or (type-of(nth($query, 1)) == 'number' and type-of(nth($query, 2)) == 'string') {
10
-
11
- $number: '';
12
- $value: '';
13
-
14
- @if type-of(nth($query, 1)) == 'string' {
15
- $number: nth($query, 2);
16
- $value: nth($query, 1);
17
- }
18
- @else {
19
- $number: nth($query, 1);
20
- $value: nth($query, 2);
21
- }
22
-
23
- // If the string value can be a single value, check to see if the number passed in is a valid input for said single value. Fortunately, all current single-value options only accept unitless numbers, so this check is easy.
24
- @if breakpoint-single-string($value) {
25
- @if unitless($number) {
26
- $feature-holder: append($value, $number, space);
27
- $query-holder: append($query-holder, $feature-holder, comma);
28
- @return $query-holder;
29
- }
30
- }
31
- // If the string is a media type, split the query
32
- @if breakpoint-is-media($value) {
33
- $query-holder: append($query-holder, nth($query, 1));
34
- $query-holder: append($query-holder, nth($query, 2));
35
- @return $query-holder;
36
- }
37
- // If it's not a single feature, we're just going to assume it's a proper string/value pair, and roll with it.
38
- @else {
39
- $feature-holder: append($value, $number, space);
40
- $query-holder: append($query-holder, $feature-holder, comma);
41
- @return $query-holder;
42
- }
43
-
44
- }
45
- // If they're both numbers, we assume it's a double and roll with that
46
- @else if (type-of(nth($query, 1)) == 'number' and type-of(nth($query, 2)) == 'number') {
47
- $feature-holder: append(nth($query, 1), nth($query, 2), space);
48
- $query-holder: append($query-holder, $feature-holder, comma);
49
- @return $query-holder;
50
- }
51
- // If they're both strings and neither are singles, we roll with that.
52
- @else if (type-of(nth($query, 1)) == 'string' and type-of(nth($query, 2)) == 'string') {
53
- @if not breakpoint-single-string(nth($query, 1)) and not breakpoint-single-string(nth($query, 2)) {
54
- $feature-holder: append(nth($query, 1), nth($query, 2), space);
55
- $query-holder: append($query-holder, $feature-holder, comma);
56
- @return $query-holder;
57
- }
58
- }
59
- }
60
- @else if $length == 3 {
61
- // If we've got three items and none is a list, we check to see
62
- @if type-of(nth($query, 1)) != 'list' and type-of(nth($query, 2)) != 'list' and type-of(nth($query, 3)) != 'list' {
63
- // If none of the items are single string values and none of the values are media values, we're good.
64
- @if (not breakpoint-single-string(nth($query, 1)) and not breakpoint-single-string(nth($query, 2)) and not breakpoint-single-string(nth($query, 3))) and ((not breakpoint-is-media(nth($query, 1)) and not breakpoint-is-media(nth($query, 2)) and not breakpoint-is-media(nth($query, 3)))) {
65
- $feature-holder: append(nth($query, 1), nth($query, 2), space);
66
- $feature-holder: append($feature-holder, nth($query, 3), space);
67
- $query-holder: append($query-holder, $feature-holder, comma);
68
- @return $query-holder;
69
- }
70
- // let's check to see if the first item is a media type
71
- @else if breakpoint-is-media(nth($query, 1)) {
72
- $query-holder: append($query-holder, nth($query, 1));
73
- $feature-holder: append(nth($query, 2), nth($query, 3), space);
74
- $query-holder: append($query-holder, $feature-holder);
75
- @return $query-holder;
76
- }
77
- }
78
- }
79
-
80
- // If it's a single item, or if it's not a special case double or triple, we can simply return the query.
81
- @return $query;
82
- }
1
+ @function breakpoint-parse-query($query) {
2
+ // Parse features out of an individual query
3
+ $feature-holder: ();
4
+ $query-holder: ();
5
+ $length: length($query);
6
+
7
+ @if $length == 2 {
8
+ // If we've got a string/number, number/string, check to see if it's a valid string/number pair or two singles
9
+ @if (type-of(nth($query, 1)) == 'string' and type-of(nth($query, 2)) == 'number') or (type-of(nth($query, 1)) == 'number' and type-of(nth($query, 2)) == 'string') {
10
+
11
+ $number: '';
12
+ $value: '';
13
+
14
+ @if type-of(nth($query, 1)) == 'string' {
15
+ $number: nth($query, 2);
16
+ $value: nth($query, 1);
17
+ }
18
+ @else {
19
+ $number: nth($query, 1);
20
+ $value: nth($query, 2);
21
+ }
22
+
23
+ // If the string value can be a single value, check to see if the number passed in is a valid input for said single value. Fortunately, all current single-value options only accept unitless numbers, so this check is easy.
24
+ @if breakpoint-single-string($value) {
25
+ @if unitless($number) {
26
+ $feature-holder: append($value, $number, space);
27
+ $query-holder: append($query-holder, $feature-holder, comma);
28
+ @return $query-holder;
29
+ }
30
+ }
31
+ // If the string is a media type, split the query
32
+ @if breakpoint-is-media($value) {
33
+ $query-holder: append($query-holder, nth($query, 1));
34
+ $query-holder: append($query-holder, nth($query, 2));
35
+ @return $query-holder;
36
+ }
37
+ // If it's not a single feature, we're just going to assume it's a proper string/value pair, and roll with it.
38
+ @else {
39
+ $feature-holder: append($value, $number, space);
40
+ $query-holder: append($query-holder, $feature-holder, comma);
41
+ @return $query-holder;
42
+ }
43
+
44
+ }
45
+ // If they're both numbers, we assume it's a double and roll with that
46
+ @else if (type-of(nth($query, 1)) == 'number' and type-of(nth($query, 2)) == 'number') {
47
+ $feature-holder: append(nth($query, 1), nth($query, 2), space);
48
+ $query-holder: append($query-holder, $feature-holder, comma);
49
+ @return $query-holder;
50
+ }
51
+ // If they're both strings and neither are singles, we roll with that.
52
+ @else if (type-of(nth($query, 1)) == 'string' and type-of(nth($query, 2)) == 'string') {
53
+ @if not breakpoint-single-string(nth($query, 1)) and not breakpoint-single-string(nth($query, 2)) {
54
+ $feature-holder: append(nth($query, 1), nth($query, 2), space);
55
+ $query-holder: append($query-holder, $feature-holder, comma);
56
+ @return $query-holder;
57
+ }
58
+ }
59
+ }
60
+ @else if $length == 3 {
61
+ // If we've got three items and none is a list, we check to see
62
+ @if type-of(nth($query, 1)) != 'list' and type-of(nth($query, 2)) != 'list' and type-of(nth($query, 3)) != 'list' {
63
+ // If none of the items are single string values and none of the values are media values, we're good.
64
+ @if (not breakpoint-single-string(nth($query, 1)) and not breakpoint-single-string(nth($query, 2)) and not breakpoint-single-string(nth($query, 3))) and ((not breakpoint-is-media(nth($query, 1)) and not breakpoint-is-media(nth($query, 2)) and not breakpoint-is-media(nth($query, 3)))) {
65
+ $feature-holder: append(nth($query, 1), nth($query, 2), space);
66
+ $feature-holder: append($feature-holder, nth($query, 3), space);
67
+ $query-holder: append($query-holder, $feature-holder, comma);
68
+ @return $query-holder;
69
+ }
70
+ // let's check to see if the first item is a media type
71
+ @else if breakpoint-is-media(nth($query, 1)) {
72
+ $query-holder: append($query-holder, nth($query, 1));
73
+ $feature-holder: append(nth($query, 2), nth($query, 3), space);
74
+ $query-holder: append($query-holder, $feature-holder);
75
+ @return $query-holder;
76
+ }
77
+ }
78
+ }
79
+
80
+ // If it's a single item, or if it's not a special case double or triple, we can simply return the query.
81
+ @return $query;
82
+ }