jekyll-theme-basically-basic 1.0.0 → 1.0.1

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.
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,138 +1,138 @@
1
- // Row Start & End
2
- // ===============
3
-
4
- // Break
5
- // -----
6
- // Apply to any element that should force a line break.
7
- @mixin break {
8
- @include output((clear: both));
9
- }
10
-
11
-
12
- // NoBreak
13
- // -------
14
- // Cancel the break() effect, e.g. when using media queries.
15
- @mixin nobreak {
16
- @include output((clear: none));
17
- }
18
-
19
-
20
- // Full
21
- // ----
22
- // - [$context]: <layout shorthand>
23
- @mixin full(
24
- $context: $susy
25
- ) {
26
- $inspect : $context;
27
- @include susy-inspect(full, $inspect);
28
- @include span(full of parse-grid($context) break);
29
- }
30
-
31
-
32
- // First
33
- // -----
34
- // - [$context]: <settings>
35
- @mixin first(
36
- $context: $susy
37
- ) {
38
- $inspect : $context;
39
- $context : parse-grid($context);
40
- $flow : susy-get(flow, $context);
41
-
42
- @include susy-inspect(first, $inspect);
43
- @if not(is-split($context)) {
44
- @include float-first($flow);
45
- }
46
- }
47
-
48
- @mixin alpha(
49
- $context: $susy
50
- ) {
51
- @include first($context);
52
- }
53
-
54
-
55
- // Last
56
- // ----
57
- // - [$context]: <settings>
58
- @mixin last(
59
- $context: $susy
60
- ) {
61
- $inspect : $context;
62
- $context : parse-grid($context);
63
-
64
- @include susy-inspect(last, $inspect);
65
-
66
- $output: (
67
- flow: susy-get(flow, $context),
68
- last-flow: susy-get(last-flow, $context),
69
- margin: if(is-split($context), null, 0),
70
- );
71
-
72
- @include float-last($output...);
73
- }
74
-
75
- @mixin omega(
76
- $context: $susy
77
- ) {
78
- @include last($context);
79
- }
80
-
81
-
82
- // Get Edge
83
- // --------
84
- // Calculate edge value based on location, if possible
85
- @function get-edge(
86
- $span
87
- ) {
88
- $span : parse-span($span);
89
- $edge : susy-get(edge, $span);
90
-
91
- @if not($edge) {
92
- $count: susy-count(susy-get(columns, $span));
93
- $location: susy-get(location, $span);
94
- $n: susy-get(span, $span);
95
-
96
- $number: if(type-of($location) == number, true, false);
97
- $index: if($number and unitless($location), true, false);
98
-
99
- @if $n == $count {
100
- $edge: full;
101
- } @else if $location and $n and $index {
102
- @if $location == 1 {
103
- $edge: if($n == $count, full, first);
104
- } @else if $location + $n - 1 == $count {
105
- $edge: last;
106
- }
107
- }
108
- }
109
-
110
- @if $edge == alpha or $edge == omega {
111
- $edge: if($edge == alpha, first, last);
112
- }
113
-
114
- @return $edge;
115
- }
116
-
117
-
118
- // Get Location
119
- // ------------
120
- // Calculate location value based on edge, if possible
121
- @function get-location(
122
- $span
123
- ) {
124
- $span : parse-span($span);
125
- $location : susy-get(location, $span);
126
- $edge : get-edge($span);
127
- $n : susy-get(span, $span);
128
-
129
- @if $edge and not($location) and type-of($n) == number and unitless($n) {
130
- @if $edge == first {
131
- $location: 1;
132
- } @else if $edge == last {
133
- $location: susy-count(susy-get(columns, $span)) - $n + 1;
134
- }
135
- }
136
-
137
- @return $location
138
- }
1
+ // Row Start & End
2
+ // ===============
3
+
4
+ // Break
5
+ // -----
6
+ // Apply to any element that should force a line break.
7
+ @mixin break {
8
+ @include output((clear: both));
9
+ }
10
+
11
+
12
+ // NoBreak
13
+ // -------
14
+ // Cancel the break() effect, e.g. when using media queries.
15
+ @mixin nobreak {
16
+ @include output((clear: none));
17
+ }
18
+
19
+
20
+ // Full
21
+ // ----
22
+ // - [$context]: <layout shorthand>
23
+ @mixin full(
24
+ $context: $susy
25
+ ) {
26
+ $inspect : $context;
27
+ @include susy-inspect(full, $inspect);
28
+ @include span(full of parse-grid($context) break);
29
+ }
30
+
31
+
32
+ // First
33
+ // -----
34
+ // - [$context]: <settings>
35
+ @mixin first(
36
+ $context: $susy
37
+ ) {
38
+ $inspect : $context;
39
+ $context : parse-grid($context);
40
+ $flow : susy-get(flow, $context);
41
+
42
+ @include susy-inspect(first, $inspect);
43
+ @if not(is-split($context)) {
44
+ @include float-first($flow);
45
+ }
46
+ }
47
+
48
+ @mixin alpha(
49
+ $context: $susy
50
+ ) {
51
+ @include first($context);
52
+ }
53
+
54
+
55
+ // Last
56
+ // ----
57
+ // - [$context]: <settings>
58
+ @mixin last(
59
+ $context: $susy
60
+ ) {
61
+ $inspect : $context;
62
+ $context : parse-grid($context);
63
+
64
+ @include susy-inspect(last, $inspect);
65
+
66
+ $output: (
67
+ flow: susy-get(flow, $context),
68
+ last-flow: susy-get(last-flow, $context),
69
+ margin: if(is-split($context), null, 0),
70
+ );
71
+
72
+ @include float-last($output...);
73
+ }
74
+
75
+ @mixin omega(
76
+ $context: $susy
77
+ ) {
78
+ @include last($context);
79
+ }
80
+
81
+
82
+ // Get Edge
83
+ // --------
84
+ // Calculate edge value based on location, if possible
85
+ @function get-edge(
86
+ $span
87
+ ) {
88
+ $span : parse-span($span);
89
+ $edge : susy-get(edge, $span);
90
+
91
+ @if not($edge) {
92
+ $count: susy-count(susy-get(columns, $span));
93
+ $location: susy-get(location, $span);
94
+ $n: susy-get(span, $span);
95
+
96
+ $number: if(type-of($location) == number, true, false);
97
+ $index: if($number and unitless($location), true, false);
98
+
99
+ @if $n == $count {
100
+ $edge: full;
101
+ } @else if $location and $n and $index {
102
+ @if $location == 1 {
103
+ $edge: if($n == $count, full, first);
104
+ } @else if $location + $n - 1 == $count {
105
+ $edge: last;
106
+ }
107
+ }
108
+ }
109
+
110
+ @if $edge == alpha or $edge == omega {
111
+ $edge: if($edge == alpha, first, last);
112
+ }
113
+
114
+ @return $edge;
115
+ }
116
+
117
+
118
+ // Get Location
119
+ // ------------
120
+ // Calculate location value based on edge, if possible
121
+ @function get-location(
122
+ $span
123
+ ) {
124
+ $span : parse-span($span);
125
+ $location : susy-get(location, $span);
126
+ $edge : get-edge($span);
127
+ $n : susy-get(span, $span);
128
+
129
+ @if $edge and not($location) and type-of($n) == number and unitless($n) {
130
+ @if $edge == first {
131
+ $location: 1;
132
+ } @else if $edge == last {
133
+ $location: susy-count(susy-get(columns, $span)) - $n + 1;
134
+ }
135
+ }
136
+
137
+ @return $location
138
+ }
@@ -1,216 +1,216 @@
1
- // Susy Settings
2
- // =============
3
-
4
- // Susy Language Defaults
5
- // ----------------------
6
- // - PRIVATE
7
- @include susy-defaults((
8
- container: auto,
9
- math: fluid,
10
- output: float,
11
- container-position: center,
12
- gutter-position: after,
13
- global-box-sizing: content-box,
14
- debug: (
15
- image: hide,
16
- color: rgba(#66f, .25),
17
- output: background,
18
- toggle: top right,
19
- ),
20
- ));
21
-
22
-
23
- // Valid Keyword Values
24
- // --------------------
25
- // - PRIVATE: DONT'T TOUCH
26
- $susy-keywords: (
27
- container: auto,
28
- math: static fluid,
29
- output: isolate float,
30
- container-position: left center right,
31
- flow: ltr rtl,
32
- gutter-position: before after split inside inside-static,
33
- box-sizing: border-box content-box,
34
- span: full,
35
- edge: first alpha last omega full,
36
- spread: narrow wide wider,
37
- gutter-override: no-gutters no-gutter,
38
- role: nest,
39
- clear: break nobreak,
40
- debug image: show hide show-columns show-baseline,
41
- debug output: background overlay,
42
- );
43
-
44
-
45
- // Parse Susy Keywords and Maps
46
- // ----------------------------
47
- @function parse-settings(
48
- $short: $susy
49
- ) {
50
- $_return: ();
51
-
52
- @if type-of($short) == map {
53
- $_return: $short;
54
- } @else {
55
- @each $item in $short {
56
- // strings
57
- @if type-of($item) == string {
58
- @each $key, $value in $susy-keywords {
59
- @if index($value, $item) {
60
- $_key-value: append($key, $item);
61
- $_return: _susy-deep-set($_return, $_key-value...);
62
- }
63
- }
64
- // maps
65
- } @else if type-of($item) == map {
66
- $_return: map-merge($_return, $item);
67
- }
68
- }
69
- }
70
-
71
- @return $_return;
72
- }
73
-
74
-
75
- // Parse Columns & Gutters
76
- // -----------------------
77
- @function parse-layout(
78
- $short
79
- ) {
80
- $_return: ();
81
- $_columns: ();
82
- $_gutters: null;
83
-
84
- @if not(unitless(nth(nth($short, 1), 1))) {
85
- $_gutters: nth($short, 1);
86
- } @else {
87
- $_columns: (columns: nth($short, 1));
88
- $_gutters: if(length($short) > 1, nth($short, 2), $_gutters);
89
- }
90
-
91
- @if type-of($_gutters) == list and length($_gutters) > 0 {
92
- $_gutters: (
93
- gutters: nth($_gutters, 2) / nth($_gutters, 1),
94
- column-width: nth($_gutters, 1),
95
- );
96
- } @else {
97
- $_gutters: if($_gutters, (gutters: $_gutters), ());
98
- }
99
-
100
- $_return: map-merge($_return, $_columns);
101
- $_return: map-merge($_return, $_gutters);
102
-
103
- @return $_return;
104
- }
105
-
106
-
107
- // Parse Grid/Context
108
- // ------------------
109
- @function parse-grid(
110
- $short: $susy
111
- ) {
112
- $_return: parse-settings($short);
113
- $_layout: ();
114
-
115
- @if type-of($short) == map {
116
- $_return: $short;
117
- } @else {
118
- @each $item in $short {
119
- // number or list
120
- @if type-of($item) == number or type-of($item) == list {
121
- @if type-of($item) == list or unitless($item) {
122
- $_layout: append($_layout, $item);
123
- } @else {
124
- $_return: map-merge($_return, (container: $item));
125
- }
126
- }
127
- }
128
-
129
- $_layout: if(length($_layout) > 0, parse-layout($_layout), $_layout);
130
- }
131
-
132
- @return map-merge($_return, $_layout);
133
- }
134
-
135
-
136
- // Parse Span
137
- // ----------
138
- @function parse-span(
139
- $short,
140
- $key: span
141
- ) {
142
- $_return: ();
143
-
144
- @if type-of($short) == map {
145
- $_return: $short;
146
- } @else {
147
- $_at: index($short, at);
148
-
149
- @if $_at {
150
- $_loci: $_at + 1;
151
- $_location: nth($short, $_loci);
152
- $_return: map-merge($_return, (location: $_location));
153
- $short: set-nth($short, $_at, null);
154
- $short: set-nth($short, $_loci, null);
155
- }
156
-
157
- $_i: 1;
158
- $_span: ();
159
-
160
- @while $_i <= length($short) {
161
- $_this: nth($short, $_i);
162
-
163
- @if type-of($_this) == number {
164
- $_span: append($_span, $_this);
165
- $short: set-nth($short, $_i, null);
166
- } @else if $_this == of {
167
- $short: set-nth($short, $_i, null);
168
- $_i: length($short) + 1;
169
- }
170
-
171
- $_i: $_i + 1;
172
- }
173
-
174
- @if length($_span) > 0 {
175
- $_span: if(length($_span) == 1, nth($_span, 1), $_span);
176
- $_return: map-merge($_return, ($key: $_span));
177
- }
178
-
179
- $_return: map-merge($_return, parse-grid($short));
180
- }
181
-
182
- @return $_return;
183
- }
184
-
185
-
186
- // Parse Gutters
187
- // -------------
188
- @function parse-gutters(
189
- $short: $susy
190
- ) {
191
- $_gutters: parse-span($short, gutter-override);
192
- $_span: susy-get(gutter-override, $_gutters);
193
-
194
- @if $_span and not(map-get($_gutters, columns)) {
195
- $_context: ();
196
- $_new: ();
197
-
198
- @each $item in $_span {
199
- @if type-of($item) == number and unitless($item) {
200
- $_context: append($_context, $item);
201
- } @else {
202
- $_new: append($_new, $item);
203
- }
204
- }
205
-
206
- $_context: parse-grid($_context);
207
- $_new: if(length($_new) == 0, null, $_new);
208
- $_new: if(length($_new) == 1, nth($_new, 1), $_new);
209
- $_new: (gutter-override: if($_new != $_span, $_new, $_span));
210
-
211
- $_gutters: map-merge($_gutters, $_new);
212
- $_gutters: map-merge($_gutters, $_context);
213
- }
214
-
215
- @return $_gutters;
216
- }
1
+ // Susy Settings
2
+ // =============
3
+
4
+ // Susy Language Defaults
5
+ // ----------------------
6
+ // - PRIVATE
7
+ @include susy-defaults((
8
+ container: auto,
9
+ math: fluid,
10
+ output: float,
11
+ container-position: center,
12
+ gutter-position: after,
13
+ global-box-sizing: content-box,
14
+ debug: (
15
+ image: hide,
16
+ color: rgba(#66f, .25),
17
+ output: background,
18
+ toggle: top right,
19
+ ),
20
+ ));
21
+
22
+
23
+ // Valid Keyword Values
24
+ // --------------------
25
+ // - PRIVATE: DONT'T TOUCH
26
+ $susy-keywords: (
27
+ container: auto,
28
+ math: static fluid,
29
+ output: isolate float,
30
+ container-position: left center right,
31
+ flow: ltr rtl,
32
+ gutter-position: before after split inside inside-static,
33
+ box-sizing: border-box content-box,
34
+ span: full,
35
+ edge: first alpha last omega full,
36
+ spread: narrow wide wider,
37
+ gutter-override: no-gutters no-gutter,
38
+ role: nest,
39
+ clear: break nobreak,
40
+ debug image: show hide show-columns show-baseline,
41
+ debug output: background overlay,
42
+ );
43
+
44
+
45
+ // Parse Susy Keywords and Maps
46
+ // ----------------------------
47
+ @function parse-settings(
48
+ $short: $susy
49
+ ) {
50
+ $_return: ();
51
+
52
+ @if type-of($short) == map {
53
+ $_return: $short;
54
+ } @else {
55
+ @each $item in $short {
56
+ // strings
57
+ @if type-of($item) == string {
58
+ @each $key, $value in $susy-keywords {
59
+ @if index($value, $item) {
60
+ $_key-value: append($key, $item);
61
+ $_return: _susy-deep-set($_return, $_key-value...);
62
+ }
63
+ }
64
+ // maps
65
+ } @else if type-of($item) == map {
66
+ $_return: map-merge($_return, $item);
67
+ }
68
+ }
69
+ }
70
+
71
+ @return $_return;
72
+ }
73
+
74
+
75
+ // Parse Columns & Gutters
76
+ // -----------------------
77
+ @function parse-layout(
78
+ $short
79
+ ) {
80
+ $_return: ();
81
+ $_columns: ();
82
+ $_gutters: null;
83
+
84
+ @if not(unitless(nth(nth($short, 1), 1))) {
85
+ $_gutters: nth($short, 1);
86
+ } @else {
87
+ $_columns: (columns: nth($short, 1));
88
+ $_gutters: if(length($short) > 1, nth($short, 2), $_gutters);
89
+ }
90
+
91
+ @if type-of($_gutters) == list and length($_gutters) > 0 {
92
+ $_gutters: (
93
+ gutters: nth($_gutters, 2) / nth($_gutters, 1),
94
+ column-width: nth($_gutters, 1),
95
+ );
96
+ } @else {
97
+ $_gutters: if($_gutters, (gutters: $_gutters), ());
98
+ }
99
+
100
+ $_return: map-merge($_return, $_columns);
101
+ $_return: map-merge($_return, $_gutters);
102
+
103
+ @return $_return;
104
+ }
105
+
106
+
107
+ // Parse Grid/Context
108
+ // ------------------
109
+ @function parse-grid(
110
+ $short: $susy
111
+ ) {
112
+ $_return: parse-settings($short);
113
+ $_layout: ();
114
+
115
+ @if type-of($short) == map {
116
+ $_return: $short;
117
+ } @else {
118
+ @each $item in $short {
119
+ // number or list
120
+ @if type-of($item) == number or type-of($item) == list {
121
+ @if type-of($item) == list or unitless($item) {
122
+ $_layout: append($_layout, $item);
123
+ } @else {
124
+ $_return: map-merge($_return, (container: $item));
125
+ }
126
+ }
127
+ }
128
+
129
+ $_layout: if(length($_layout) > 0, parse-layout($_layout), $_layout);
130
+ }
131
+
132
+ @return map-merge($_return, $_layout);
133
+ }
134
+
135
+
136
+ // Parse Span
137
+ // ----------
138
+ @function parse-span(
139
+ $short,
140
+ $key: span
141
+ ) {
142
+ $_return: ();
143
+
144
+ @if type-of($short) == map {
145
+ $_return: $short;
146
+ } @else {
147
+ $_at: index($short, at);
148
+
149
+ @if $_at {
150
+ $_loci: $_at + 1;
151
+ $_location: nth($short, $_loci);
152
+ $_return: map-merge($_return, (location: $_location));
153
+ $short: set-nth($short, $_at, null);
154
+ $short: set-nth($short, $_loci, null);
155
+ }
156
+
157
+ $_i: 1;
158
+ $_span: ();
159
+
160
+ @while $_i <= length($short) {
161
+ $_this: nth($short, $_i);
162
+
163
+ @if type-of($_this) == number {
164
+ $_span: append($_span, $_this);
165
+ $short: set-nth($short, $_i, null);
166
+ } @else if $_this == of {
167
+ $short: set-nth($short, $_i, null);
168
+ $_i: length($short) + 1;
169
+ }
170
+
171
+ $_i: $_i + 1;
172
+ }
173
+
174
+ @if length($_span) > 0 {
175
+ $_span: if(length($_span) == 1, nth($_span, 1), $_span);
176
+ $_return: map-merge($_return, ($key: $_span));
177
+ }
178
+
179
+ $_return: map-merge($_return, parse-grid($short));
180
+ }
181
+
182
+ @return $_return;
183
+ }
184
+
185
+
186
+ // Parse Gutters
187
+ // -------------
188
+ @function parse-gutters(
189
+ $short: $susy
190
+ ) {
191
+ $_gutters: parse-span($short, gutter-override);
192
+ $_span: susy-get(gutter-override, $_gutters);
193
+
194
+ @if $_span and not(map-get($_gutters, columns)) {
195
+ $_context: ();
196
+ $_new: ();
197
+
198
+ @each $item in $_span {
199
+ @if type-of($item) == number and unitless($item) {
200
+ $_context: append($_context, $item);
201
+ } @else {
202
+ $_new: append($_new, $item);
203
+ }
204
+ }
205
+
206
+ $_context: parse-grid($_context);
207
+ $_new: if(length($_new) == 0, null, $_new);
208
+ $_new: if(length($_new) == 1, nth($_new, 1), $_new);
209
+ $_new: (gutter-override: if($_new != $_span, $_new, $_span));
210
+
211
+ $_gutters: map-merge($_gutters, $_new);
212
+ $_gutters: map-merge($_gutters, $_context);
213
+ }
214
+
215
+ @return $_gutters;
216
+ }