jekyll-theme-flow 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +18 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +313 -0
  5. data/_includes/archive_versions.html +36 -0
  6. data/_includes/footer.html +5 -0
  7. data/_includes/head.html +9 -0
  8. data/_includes/icon.html +10 -0
  9. data/_includes/nav_tree.html +38 -0
  10. data/_includes/navbar.html +55 -0
  11. data/_includes/search_slot.html +19 -0
  12. data/_includes/shells/bare.html +5 -0
  13. data/_includes/shells/sidebar-left.html +18 -0
  14. data/_includes/shells/sidebar-right.html +18 -0
  15. data/_includes/shells/topnav.html +8 -0
  16. data/_includes/sidebar.html +10 -0
  17. data/_layouts/archive-index.html +26 -0
  18. data/_layouts/archive.html +14 -0
  19. data/_layouts/bare.html +5 -0
  20. data/_layouts/default.html +14 -0
  21. data/_layouts/search.html +15 -0
  22. data/_layouts/sidebar-left.html +5 -0
  23. data/_layouts/sidebar-right.html +5 -0
  24. data/_layouts/topnav.html +5 -0
  25. data/_sass/bulma/_index.scss +10 -0
  26. data/_sass/bulma/base/_index.scss +6 -0
  27. data/_sass/bulma/base/animations.scss +15 -0
  28. data/_sass/bulma/base/generic.scss +240 -0
  29. data/_sass/bulma/base/minireset.scss +92 -0
  30. data/_sass/bulma/base/skeleton.scss +114 -0
  31. data/_sass/bulma/components/_index.scss +13 -0
  32. data/_sass/bulma/components/breadcrumb.scss +139 -0
  33. data/_sass/bulma/components/card.scss +162 -0
  34. data/_sass/bulma/components/dropdown.scss +188 -0
  35. data/_sass/bulma/components/menu.scss +165 -0
  36. data/_sass/bulma/components/message.scss +183 -0
  37. data/_sass/bulma/components/modal.scss +164 -0
  38. data/_sass/bulma/components/navbar.scss +799 -0
  39. data/_sass/bulma/components/pagination.scss +379 -0
  40. data/_sass/bulma/components/panel.scss +218 -0
  41. data/_sass/bulma/components/tabs.scss +273 -0
  42. data/_sass/bulma/elements/_index.scss +16 -0
  43. data/_sass/bulma/elements/block.scss +6 -0
  44. data/_sass/bulma/elements/box.scss +59 -0
  45. data/_sass/bulma/elements/button.scss +659 -0
  46. data/_sass/bulma/elements/content.scss +289 -0
  47. data/_sass/bulma/elements/delete.scss +6 -0
  48. data/_sass/bulma/elements/icon.scss +67 -0
  49. data/_sass/bulma/elements/image.scss +64 -0
  50. data/_sass/bulma/elements/loader.scss +15 -0
  51. data/_sass/bulma/elements/notification.scss +105 -0
  52. data/_sass/bulma/elements/progress.scss +115 -0
  53. data/_sass/bulma/elements/table.scss +261 -0
  54. data/_sass/bulma/elements/tag.scss +219 -0
  55. data/_sass/bulma/elements/title.scss +130 -0
  56. data/_sass/bulma/form/_index.scss +9 -0
  57. data/_sass/bulma/form/checkbox-radio.scss +36 -0
  58. data/_sass/bulma/form/file.scss +330 -0
  59. data/_sass/bulma/form/input-textarea.scss +115 -0
  60. data/_sass/bulma/form/select.scss +144 -0
  61. data/_sass/bulma/form/shared.scss +178 -0
  62. data/_sass/bulma/form/tools.scss +352 -0
  63. data/_sass/bulma/grid/_index.scss +5 -0
  64. data/_sass/bulma/grid/columns.scss +961 -0
  65. data/_sass/bulma/grid/grid.scss +209 -0
  66. data/_sass/bulma/helpers/_index.scss +15 -0
  67. data/_sass/bulma/helpers/aspect-ratio.scss +12 -0
  68. data/_sass/bulma/helpers/border.scss +15 -0
  69. data/_sass/bulma/helpers/color.scss +344 -0
  70. data/_sass/bulma/helpers/flexbox.scss +62 -0
  71. data/_sass/bulma/helpers/float.scss +28 -0
  72. data/_sass/bulma/helpers/gap.scss +24 -0
  73. data/_sass/bulma/helpers/other.scss +19 -0
  74. data/_sass/bulma/helpers/overflow.scss +21 -0
  75. data/_sass/bulma/helpers/position.scss +19 -0
  76. data/_sass/bulma/helpers/spacing.scss +64 -0
  77. data/_sass/bulma/helpers/typography.scss +174 -0
  78. data/_sass/bulma/helpers/visibility.scss +221 -0
  79. data/_sass/bulma/layout/_index.scss +9 -0
  80. data/_sass/bulma/layout/container.scss +59 -0
  81. data/_sass/bulma/layout/footer.scss +23 -0
  82. data/_sass/bulma/layout/hero.scss +273 -0
  83. data/_sass/bulma/layout/level.scss +107 -0
  84. data/_sass/bulma/layout/media.scss +106 -0
  85. data/_sass/bulma/layout/section.scss +38 -0
  86. data/_sass/bulma/themes/_index.scss +36 -0
  87. data/_sass/bulma/themes/dark.scss +57 -0
  88. data/_sass/bulma/themes/light.scss +147 -0
  89. data/_sass/bulma/themes/setup.scss +174 -0
  90. data/_sass/bulma/utilities/_index.scss +7 -0
  91. data/_sass/bulma/utilities/controls.scss +85 -0
  92. data/_sass/bulma/utilities/css-variables.scss +502 -0
  93. data/_sass/bulma/utilities/derived-variables.scss +112 -0
  94. data/_sass/bulma/utilities/extends.scss +34 -0
  95. data/_sass/bulma/utilities/functions.scss +310 -0
  96. data/_sass/bulma/utilities/initial-variables.scss +157 -0
  97. data/_sass/bulma/utilities/mixins.scss +462 -0
  98. data/_sass/flow.scss +131 -0
  99. data/assets/css/theme.scss +3 -0
  100. data/assets/js/alpine.min.js +21 -0
  101. data/lib/jekyll-theme-flow.rb +38 -0
  102. metadata +209 -0
@@ -0,0 +1,310 @@
1
+ @use "sass:color";
2
+ @use "sass:list";
3
+ @use "sass:map";
4
+ @use "sass:math";
5
+ @use "sass:meta";
6
+ @use "sass:string";
7
+
8
+ @function mergeColorMaps($bulma-colors, $custom-colors) {
9
+ // We return at least Bulma's hard-coded colors
10
+ $merged-colors: $bulma-colors;
11
+
12
+ // We want a map as input
13
+ @if meta.type-of($custom-colors) == "map" {
14
+ @each $name, $components in $custom-colors {
15
+ // The color name should be a string
16
+ // and the components either a single color
17
+ // or a colors list with at least one element
18
+ @if meta.type-of($name) ==
19
+ "string" and
20
+ (
21
+ meta.type-of($components) ==
22
+ "list" or
23
+ meta.type-of($components) ==
24
+ "color"
25
+ ) and
26
+ list.length($components) >=
27
+ 1
28
+ {
29
+ $color-base: null;
30
+ $color-invert: null;
31
+ $color-light: null;
32
+ $color-dark: null;
33
+ $value: null;
34
+
35
+ // The param can either be a single color
36
+ // or a list of 2 colors
37
+ @if meta.type-of($components) == "color" {
38
+ $color-base: $components;
39
+ $color-invert: bulmaFindColorInvert($color-base);
40
+ $color-light: bulmaFindLightColor($color-base);
41
+ $color-dark: bulmaFindDarkColor($color-base);
42
+ } @else if meta.type-of($components) == "list" {
43
+ $color-base: list.nth($components, 1);
44
+
45
+ // If Invert, Light and Dark are provided
46
+ @if list.length($components) > 3 {
47
+ $color-invert: list.nth($components, 2);
48
+ $color-light: list.nth($components, 3);
49
+ $color-dark: list.nth($components, 4);
50
+
51
+ // If only Invert and Light are provided
52
+ } @else if list.length($components) > 2 {
53
+ $color-invert: list.nth($components, 2);
54
+ $color-light: list.nth($components, 3);
55
+ $color-dark: bulmaFindDarkColor($color-base);
56
+
57
+ // If only Invert is provided
58
+ } @else {
59
+ $color-invert: list.nth($components, 2);
60
+ $color-light: bulmaFindLightColor($color-base);
61
+ $color-dark: bulmaFindDarkColor($color-base);
62
+ }
63
+ }
64
+
65
+ $value: $color-base, $color-invert, $color-light, $color-dark;
66
+
67
+ // We only want to merge the map if the color base is an actual color
68
+ @if meta.type-of($color-base) == "color" {
69
+ // We merge this colors elements as map with Bulma's colors map
70
+ // (we can override them this way, no multiple definition for the same name)
71
+ // $merged-colors: map_merge($merged-colors, ($name: ($color-base, $color-invert, $color-light, $color-dark)))
72
+ $merged-colors: map.merge(
73
+ $merged-colors,
74
+ (
75
+ $name: $value,
76
+ )
77
+ );
78
+ }
79
+ }
80
+ }
81
+ }
82
+
83
+ @return $merged-colors;
84
+ }
85
+
86
+ @function powerNumber($number, $exp) {
87
+ $value: 1;
88
+
89
+ @if $exp > 0 {
90
+ @for $i from 1 through $exp {
91
+ $value: $value * $number;
92
+ }
93
+ } @else if $exp < 0 {
94
+ @for $i from 1 through -$exp {
95
+ $value: math.div($value, $number);
96
+ }
97
+ }
98
+
99
+ @return $value;
100
+ }
101
+
102
+ @function bulmaColorLuminance($color) {
103
+ @if meta.type-of($color) != "color" {
104
+ @return 0.55;
105
+ }
106
+
107
+ $color-rgb: (
108
+ "red": color.channel($color, "red", $space: rgb),
109
+ "green": color.channel($color, "green", $space: rgb),
110
+ "blue": color.channel($color, "blue", $space: rgb),
111
+ );
112
+
113
+ @each $name, $value in $color-rgb {
114
+ $adjusted: 0;
115
+ $value: math.div($value, 255);
116
+
117
+ @if $value < 0.03928 {
118
+ $value: math.div($value, 12.92);
119
+ } @else {
120
+ $value: math.div($value + 0.055, 1.055);
121
+ $value: powerNumber($value, 2);
122
+ }
123
+
124
+ $color-rgb: map.merge(
125
+ $color-rgb,
126
+ (
127
+ $name: $value,
128
+ )
129
+ );
130
+ }
131
+
132
+ @return map.get($color-rgb, "red") * 0.2126 + map.get($color-rgb, "green") *
133
+ 0.7152 + map.get($color-rgb, "blue") * 0.0722;
134
+ }
135
+
136
+ @function bulmaFindColorInvert($color) {
137
+ @if bulmaColorLuminance($color) > 0.55 {
138
+ @return rgba(#000, 0.7);
139
+ } @else {
140
+ @return #fff;
141
+ }
142
+ }
143
+
144
+ @function bulmaFindLightColor($color, $l: 96%) {
145
+ @if meta.type-of($color) == "color" {
146
+ $l: 96%;
147
+
148
+ @if color.channel($color, "lightness", $space: hsl) > 96% {
149
+ $l: color.channel($color, "lightness", $space: hsl);
150
+ }
151
+
152
+ @return color.change($color, $lightness: $l);
153
+ }
154
+
155
+ @return $background;
156
+ }
157
+
158
+ @function bulmaFindDarkColor($color, $base-l: 29%) {
159
+ @if meta.type-of($color) == "color" {
160
+ $luminance: bulmaColorLuminance($color);
161
+ $luminance-delta: 0.53 - $luminance;
162
+ $target-l: math.round($base-l + $luminance-delta * 53);
163
+
164
+ @return color.change($color, $lightness: max($base-l, $target-l));
165
+ }
166
+
167
+ @return $text-strong;
168
+ }
169
+
170
+ @function bulmaRgba($color, $alpha) {
171
+ @if meta.type-of($color) != "color" {
172
+ @return $color;
173
+ }
174
+
175
+ @return rgba($color, $alpha);
176
+ }
177
+
178
+ @function bulmaDarken($color, $amount) {
179
+ @if meta.type-of($color) != "color" {
180
+ @return $color;
181
+ }
182
+
183
+ @return color.adjust($color, $lightness: -$amount, $space: hsl);
184
+ }
185
+
186
+ @function bulmaLighten($color, $amount) {
187
+ @if meta.type-of($color) != "color" {
188
+ @return $color;
189
+ }
190
+
191
+ @return color.adjust($color, $lightness: $amount, $space: hsl);
192
+ }
193
+
194
+ @function bulmaColorBrightness($n) {
195
+ $color-brightness: math.round(
196
+ math.div(
197
+ (color.channel($n, "red", $space: rgb) * 299) +
198
+ (color.channel($n, "green", $space: rgb) * 587) +
199
+ (color.channel($n, "blue", $space: rgb) * 114),
200
+ 1000
201
+ )
202
+ );
203
+ $light-color: math.round(
204
+ math.div(
205
+ (color.channel(#ffffff, "red", $space: rgb) * 299) +
206
+ (color.channel(#ffffff, "green", $space: rgb) * 587) +
207
+ (color.channel(#ffffff, "blue", $space: rgb) * 114),
208
+ 1000
209
+ )
210
+ );
211
+
212
+ @if abs($color-brightness) < math.div($light-color, 2) {
213
+ @return "dark";
214
+ }
215
+
216
+ @return "bright";
217
+ }
218
+
219
+ @function bulmaEnoughContrast($foreground, $background) {
220
+ $r: (
221
+ max(
222
+ color.channel($foreground, "red", $space: rgb),
223
+ color.channel($background, "red", $space: rgb)
224
+ )
225
+ ) -
226
+ (
227
+ min(
228
+ color.channel($foreground, "red", $space: rgb),
229
+ color.channel($background, "red", $space: rgb)
230
+ )
231
+ );
232
+ $g: (
233
+ max(
234
+ color.channel($foreground, "green", $space: rgb),
235
+ color.channel($background, "green", $space: rgb)
236
+ )
237
+ ) -
238
+ (
239
+ min(
240
+ color.channel($foreground, "green", $space: rgb),
241
+ color.channel($background, "green", $space: rgb)
242
+ )
243
+ );
244
+ $b: (
245
+ max(
246
+ color.channel($foreground, "blue", $space: rgb),
247
+ color.channel($background, "blue", $space: rgb)
248
+ )
249
+ ) -
250
+ (
251
+ min(
252
+ color.channel($foreground, "blue", $space: rgb),
253
+ color.channel($background, "blue", $space: rgb)
254
+ )
255
+ );
256
+ $sum-rgb: $r + $g + $b;
257
+
258
+ @if $sum-rgb < 500 {
259
+ @return false;
260
+ }
261
+
262
+ @return true;
263
+ }
264
+
265
+ // By Cory Simmons https://corysimmons.com/
266
+ @function bulmaStringToNumber($value) {
267
+ @if meta.type-of($value) == "number" {
268
+ @return $value;
269
+ } @else if meta.type-of($value) != "string" {
270
+ $_: log("Value for `to-number` should be a number or a string.");
271
+ }
272
+
273
+ $result: 0;
274
+ $digits: 0;
275
+ $minus: string.slice($value, 1, 1) == "-";
276
+ $numbers: (
277
+ "0": 0,
278
+ "1": 1,
279
+ "2": 2,
280
+ "3": 3,
281
+ "4": 4,
282
+ "5": 5,
283
+ "6": 6,
284
+ "7": 7,
285
+ "8": 8,
286
+ "9": 9,
287
+ );
288
+
289
+ @for $i from if($minus, 2, 1) through string.length($value) {
290
+ $character: string.slice($value, $i, $i);
291
+
292
+ @if not(list.index(map.keys($numbers), $character) or $character == ".") {
293
+ @return to-length(
294
+ if($minus, -$result, $result),
295
+ string.slice($value, $i)
296
+ );
297
+ }
298
+
299
+ @if $character == "." {
300
+ $digits: 1;
301
+ } @else if $digits == 0 {
302
+ $result: $result * 10 + map.get($numbers, $character);
303
+ } @else {
304
+ $digits: $digits * 10;
305
+ $result: $result + map.get($numbers, $character) / $digits;
306
+ }
307
+ }
308
+
309
+ @return if($minus, -$result, $result);
310
+ }
@@ -0,0 +1,157 @@
1
+ // Scheme Hue and Saturation
2
+
3
+ $scheme-h: 221 !default;
4
+ $scheme-s: 14% !default;
5
+ $dark-l: 20% !default;
6
+ $light-l: 90% !default;
7
+
8
+ // Colors
9
+
10
+ $black: hsl(221, 14%, 4%) !default;
11
+ $black-bis: hsl(221, 14%, 9%) !default;
12
+ $black-ter: hsl(221, 14%, 14%) !default;
13
+
14
+ $grey-darker: hsl(221, 14%, 21%) !default;
15
+ $grey-dark: hsl(221, 14%, 29%) !default;
16
+ $grey: hsl(221, 14%, 48%) !default;
17
+ $grey-light: hsl(221, 14%, 71%) !default;
18
+ $grey-lighter: hsl(221, 14%, 86%) !default;
19
+ $grey-lightest: hsl(221, 14%, 93%) !default;
20
+
21
+ $white-ter: hsl(221, 14%, 96%) !default;
22
+ $white-bis: hsl(221, 14%, 98%) !default;
23
+ $white: hsl(221, 14%, 100%) !default;
24
+
25
+ $orange: hsl(14, 100%, 53%) !default;
26
+ $yellow: hsl(42, 100%, 53%) !default;
27
+ $green: hsl(153, 53%, 53%) !default;
28
+ $turquoise: hsl(171, 100%, 41%) !default;
29
+ $cyan: hsl(198, 100%, 70%) !default;
30
+ $blue: hsl(233, 100%, 63%) !default;
31
+ $purple: hsl(271, 100%, 71%) !default;
32
+ $red: hsl(348, 100%, 70%) !default;
33
+
34
+ // Typography
35
+
36
+ $family-sans-serif: "Inter", "SF Pro", "Segoe UI", "Roboto", "Oxygen", "Ubuntu",
37
+ "Helvetica Neue", "Helvetica", "Arial", sans-serif !default;
38
+ $family-monospace: "Inconsolata", "Hack", "SF Mono", "Roboto Mono",
39
+ "Source Code Pro", "Ubuntu Mono", monospace !default;
40
+ $render-mode: optimizeLegibility !default;
41
+
42
+ $size-1: 3rem !default;
43
+ $size-2: 2.5rem !default;
44
+ $size-3: 2rem !default;
45
+ $size-4: 1.5rem !default;
46
+ $size-5: 1.25rem !default;
47
+ $size-6: 1rem !default;
48
+ $size-7: 0.75rem !default;
49
+
50
+ $weight-light: 300 !default;
51
+ $weight-normal: 400 !default;
52
+ $weight-medium: 500 !default;
53
+ $weight-semibold: 600 !default;
54
+ $weight-bold: 700 !default;
55
+ $weight-extrabold: 800 !default;
56
+
57
+ // Spacing
58
+
59
+ $block-spacing: 1.5rem !default;
60
+ $aspect-ratios: (
61
+ (1, 1),
62
+ (5, 4),
63
+ (4, 3),
64
+ (3, 2),
65
+ (5, 3),
66
+ (16, 9),
67
+ (2, 1),
68
+ (3, 1),
69
+ (4, 5),
70
+ (3, 4),
71
+ (2, 3),
72
+ (3, 5),
73
+ (9, 16),
74
+ (1, 2),
75
+ (1, 3)
76
+ ) !default;
77
+
78
+ // Responsiveness
79
+
80
+ // The container horizontal gap, which acts as the offset for breakpoints
81
+ $gap: 32px !default;
82
+
83
+ // 960, 1152, and 1344 have been chosen because they are divisible by both 12 and 16
84
+ $tablet: 769px !default;
85
+
86
+ // 960px container + 4rem
87
+ $desktop: 960px + 2 * $gap !default;
88
+
89
+ // 1152px container + 4rem
90
+ $widescreen: 1152px + 2 * $gap !default;
91
+ $widescreen-enabled: true !default;
92
+
93
+ // 1344px container + 4rem
94
+ $fullhd: 1344px + 2 * $gap !default;
95
+ $fullhd-enabled: true !default;
96
+ $breakpoints: (
97
+ "mobile": (
98
+ "until": $tablet,
99
+ ),
100
+ "tablet": (
101
+ "from": $tablet,
102
+ ),
103
+ "tablet-only": (
104
+ "from": $tablet,
105
+ "until": $desktop,
106
+ ),
107
+ "touch": (
108
+ "from": $desktop,
109
+ ),
110
+ "desktop": (
111
+ "from": $desktop,
112
+ ),
113
+ "desktop-only": (
114
+ "from": $desktop,
115
+ "until": $widescreen,
116
+ ),
117
+ "until-widescreen": (
118
+ "until": $widescreen,
119
+ ),
120
+ "widescreen": (
121
+ "from": $widescreen,
122
+ ),
123
+ "widescreen-only": (
124
+ "from": $widescreen,
125
+ "until": $fullhd,
126
+ ),
127
+ "until-fullhd": (
128
+ "until": $fullhd,
129
+ ),
130
+ "fullhd": (
131
+ "from": $fullhd,
132
+ ),
133
+ ) !default;
134
+
135
+ // Miscellaneous
136
+
137
+ $duration: 294ms !default;
138
+ $easing: ease-out !default;
139
+ $radius-small: 0.25rem !default;
140
+ $radius: 0.375rem !default;
141
+ $radius-medium: 0.5em !default;
142
+ $radius-large: 0.75rem !default;
143
+ $radius-rounded: 9999px !default;
144
+ $speed: 86ms !default;
145
+
146
+ // Flags
147
+
148
+ $variable-columns: true !default;
149
+ $rtl: false !default;
150
+
151
+ // Prefixes
152
+
153
+ $class-prefix: "" !default;
154
+ $cssvars-prefix: "bulma-" !default;
155
+ $helpers-prefix: "is-" !default;
156
+ $helpers-has-prefix: "has-" !default;
157
+ $variables-host: ":root" !default;