jekyll-theme-eva 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.
@@ -0,0 +1,14 @@
1
+ module Jekyll
2
+ module ValuesFilter
3
+ def values(input)
4
+ case
5
+ when input.instance_of?(Hash)
6
+ input.values
7
+ else
8
+ input
9
+ end
10
+ end
11
+ end
12
+ end
13
+
14
+ Liquid::Template.register_filter(Jekyll::ValuesFilter)
@@ -0,0 +1,24 @@
1
+ Jekyll::Hooks.register :site, :after_init do |site|
2
+ unless (File.file?("package.json") and File.directory?("node_modules"))
3
+ p "-- Eva: Initializing Node package…"
4
+
5
+ system("npm init --yes")
6
+ system("npm install webpack webpack-cli jquery")
7
+ end
8
+ end
9
+
10
+ Jekyll::Hooks.register :site, :post_write do |site|
11
+ p "-- Eva: Building assets with Webpack…"
12
+
13
+ if site.theme or site.config["theme_root"]
14
+ theme_dir = site.config["theme_root"] || site.theme.root
15
+ else
16
+ theme_dir = site.source
17
+ end
18
+
19
+ out_assets_dir = File.join(site.config["destination"], 'assets')
20
+ cfg_path = site.config["webpack_config"] || File.join(theme_dir, 'webpack.config.js')
21
+ system("npx webpack --config #{cfg_path} --context #{theme_dir} --output-path #{out_assets_dir}")
22
+
23
+ p "-- Eva: Build complete"
24
+ end
data/_sass/buorg.scss ADDED
@@ -0,0 +1,47 @@
1
+ .buorg-icon {width: 22px; height: 16px; vertical-align: middle; position: relative; top: -0.05em; display: inline-block; background: no-repeat 0px center;}
2
+ .buorg {position:absolute;position:fixed;z-index:111111; width:100%; top:0px; left:0px; border-bottom:1px solid #A29330; text-align:center; cursor:pointer; color:#000; background-color: #fff8ea; font: 18px Calibri,Helvetica,Arial,sans-serif; box-shadow: 0 0 5px rgba(0,0,0,0.2);}.buorg-pad { padding: 9px; line-height: 1.7em; }.buorg-buttons { display: block; text-align: center; }.buorg div a { color: #fff; text-decoration: none; box-shadow: 0 0 2px rgba(0,0,0,0.4); padding: 1px 10px; border-radius: 4px; font-weight: normal; background: #5ab400; white-space: nowrap; margin: 0 2px; display: inline-block;}#buorgig { background-color: #edbc68; position: relative;}@media only screen and (max-width: 700px){.buorg div { padding:5px 12px 5px 9px; line-height: 1.3em;}}@keyframes buorgfly {from {opacity:0;transform:translateY(-50px)} to {opacity:1;transform:translateY(0px)}}.buorg { animation: 1s ease-out 0s buorgfly} .buorg-fadeout {transition: visibility 0s 8.5s, opacity 8s ease-out .5s;}
3
+
4
+ .buorg {
5
+ background-position: 8px 17px;
6
+ position:absolute;
7
+ position:fixed;
8
+ z-index:111111;
9
+ width:100%;
10
+ top:0px;
11
+ left:0px;
12
+ border-bottom:1px solid #A29330;
13
+ text-align:left;
14
+ cursor:pointer;
15
+ background-color: #fff;
16
+ box-shadow: 0 0 5px rgba(0,0,0,0.2);
17
+ }
18
+ .buorg div {
19
+ padding: 11px 12px 11px 30px;
20
+ line-height: 1.7em;
21
+ }
22
+ .buorg div a,.buorg div a:visited {
23
+ text-indent: 0;
24
+ color: #fff;
25
+ text-decoration: none;
26
+ box-shadow: 0 0 2px rgba(0,0,0,0.4);
27
+ padding: 1px 10px;
28
+ border-radius: 4px;
29
+ font-weight: normal;
30
+ background: #5ab400;
31
+ white-space: nowrap;
32
+ margin: 0 2px; display: inline-block;
33
+ }
34
+
35
+ #buorgig{
36
+ background-color: #edbc68;
37
+ }
38
+
39
+ @media only screen and (max-width: 700px){
40
+ .buorg div {
41
+ padding:5px 12px 5px 9px;
42
+ text-indent: 22px;
43
+ line-height: 1.3em;
44
+ }
45
+ .buorg {
46
+ background-position: 9px 8px;}
47
+ }
@@ -0,0 +1,534 @@
1
+ @import "buorg";
2
+
3
+ $color-primary: #555 !default;
4
+ $color-primary-darker: darken($color-primary, 15%) !default;
5
+ $color-primary-album-bg: desaturate(darken($color-primary, 20%), 35%) !default;
6
+
7
+ // Media query screen size breakpoints (bp), width (w) and height (h)
8
+ $h-bp: 794px;
9
+ $h-bp2: 1024px;
10
+ $w-bp: 873px;
11
+
12
+
13
+ @keyframes fade-in {
14
+ 10% { opacity: 0; }
15
+ 100% { opacity: 1; }
16
+ }
17
+ @keyframes fade-in-2 {
18
+ 10% { opacity: 0; }
19
+ 100% { opacity: 1; }
20
+ }
21
+ @keyframes fade-out {
22
+ 0% { opacity: 1; }
23
+ 100% { opacity: 0; }
24
+ }
25
+ @keyframes nav-hide-on-selection {
26
+ 0% { opacity: 1; display: block }
27
+ 90% { opacity: 0; display: block }
28
+ 100% { opacity: 0; display: none; }
29
+ }
30
+ @keyframes nav-enlarge-selected {
31
+ 0% { transform: scale(1) translateY(0); }
32
+ 100% { transform: scale(1.5) translateY(-30px); }
33
+ }
34
+ @keyframes enlarge {
35
+ 0% { transform: scale(0.9); }
36
+ 100% { transform: scale(1); }
37
+ }
38
+
39
+ h1, h2, h3, h4, p {
40
+ margin: 0;
41
+ padding: 0;
42
+ }
43
+
44
+ a, a:link, a:hover, a:visited {
45
+ color: #FFFFFF;
46
+ text-decoration: none;
47
+ }
48
+
49
+ html {
50
+ padding: 0;
51
+ margin: 0;
52
+ position: absolute;
53
+ left: 0px;
54
+ right: 0px;
55
+ top: 0px;
56
+ bottom: 0px;
57
+ }
58
+ body {
59
+ padding: 0;
60
+ margin: 0;
61
+ position: absolute;
62
+ left: 0px;
63
+ right: 0px;
64
+ top: 0px;
65
+ bottom: 0px;
66
+
67
+ background: linear-gradient(180deg, rgba($color-primary, 0.67) -12.01%, $color-primary 104.49%);
68
+ background-repeat: no-repeat;
69
+ background-attachment: fixed;
70
+
71
+ color: #fff;
72
+
73
+ font-family: "Barlow Condensed", "PT Sans Narrow", "Arial Narrow", Helvetica, Arial, sans-serif;
74
+ }
75
+ body > main {
76
+ padding: 0;
77
+ margin: 0;
78
+ position: absolute;
79
+ left: 0px;
80
+ right: 0px;
81
+ top: 0px;
82
+ bottom: 0px;
83
+
84
+ -webkit-font-smoothing: antialiased;
85
+ -moz-osx-font-smoothing: grayscale;
86
+
87
+ min-height: 640px;
88
+
89
+ transition: background 6s ease-in-out;
90
+ }
91
+
92
+
93
+ .footer {
94
+ position: absolute;
95
+ width: 260px;
96
+ height: 86px;
97
+ left: calc(50% - 260px/2 + 30px);
98
+ bottom: 0;
99
+
100
+ opacity: 0;
101
+ animation: fade-in 1s both;
102
+ animation-delay: .5s;
103
+
104
+ body.layout-album & {
105
+ left: 86px;
106
+ opacity: 0;
107
+ animation: fade-in-2 1s forwards;
108
+ animation-delay: 2s;
109
+ }
110
+ body.out & {
111
+ animation: fade-out .3s forwards;
112
+ }
113
+
114
+ @media screen and (max-width: $w-bp) {
115
+ position: fixed;
116
+ }
117
+
118
+ > .social {
119
+ position: absolute;
120
+ left: 0%;
121
+ right: 33.85%;
122
+ top: 0%;
123
+ bottom: 61.63%;
124
+
125
+ > .ico {
126
+ width: 33px;
127
+ height: 33px;
128
+ display: inline-block;
129
+
130
+ .fa-layers {
131
+ > .fa-circle {
132
+ color: rgba(255, 255, 255, 0.7);
133
+ }
134
+ > :not(.fa-circle) {
135
+ color: $color-primary-darker;
136
+ }
137
+ }
138
+ }
139
+ }
140
+
141
+ > .legal {
142
+ position: absolute;
143
+ left: 0%;
144
+ right: 0%;
145
+ top: 56.98%;
146
+ bottom: 0%;
147
+
148
+ font-style: normal;
149
+ font-weight: normal;
150
+ line-height: normal;
151
+ font-size: 16px;
152
+
153
+ color: rgba(255, 255, 255, 0.5);
154
+ }
155
+ }
156
+
157
+
158
+ /* HOME */
159
+
160
+ .home__header {
161
+ position: absolute;
162
+ height: 282px;
163
+ left: calc(50% - 199px/2 - 0.5px);
164
+ top: calc(50% - 282px/2 - 164px);
165
+ display: block;
166
+
167
+ @media screen and (max-height: $h-bp) {
168
+ top: calc(50% - 282px/2 - 104px);
169
+ height: 90px;
170
+ }
171
+
172
+ > .name {
173
+ height: 90px;
174
+ left: 0px;
175
+ right: 0px;
176
+ top: 0px;
177
+
178
+ font-style: normal;
179
+ font-weight: normal;
180
+ line-height: normal;
181
+ font-size: 75px;
182
+
183
+ color: #F2F2F2;
184
+ }
185
+
186
+ > .tagline {
187
+ position: relative;
188
+ left: 17px;
189
+ top: 30px;
190
+ width: 83px;
191
+ height: 161px;
192
+
193
+ font-style: normal;
194
+ font-weight: normal;
195
+ line-height: normal;
196
+ font-size: 28px;
197
+
198
+ color: #FFFFFF;
199
+
200
+ word-spacing: 83px; /* Wrap after every word */
201
+
202
+ @media screen and (max-height: $h-bp) {
203
+ word-spacing: unset;
204
+ width: auto;
205
+ height: auto;
206
+ top: 101px;
207
+ left: 0;
208
+ }
209
+ }
210
+
211
+ // Gets hidden when transitioning to album
212
+ body.out & {
213
+ animation: fade-out .3s forwards;
214
+ }
215
+ }
216
+ img.home__shadowything {
217
+ position: absolute;
218
+ width: 187px;
219
+ height: 542px;
220
+ left: calc(50% - 187px/2 - 244.5px);
221
+ top: calc(50% - 542px/2 - 118px);
222
+
223
+ mix-blend-mode: luminosity;
224
+
225
+ body.out & {
226
+ animation: fade-out 1s;
227
+ }
228
+
229
+ opacity: 0;
230
+ animation: fade-in-2 1s forwards;
231
+ animation-delay: .3s;
232
+ }
233
+
234
+
235
+ .home__nav {
236
+ position: absolute;
237
+ height: 255px;
238
+ left: calc(50% - 432px/2 + 116px);
239
+ top: calc(50% - 255px/2 + 139.5px);
240
+ transform-origin: top left;
241
+
242
+ display: flex;
243
+ flex-flow: row nowrap;
244
+
245
+ @media screen and (max-height: $h-bp) {
246
+ top: calc(50% - 255px/2 + 139.5px - 81px);
247
+ }
248
+ @media screen and (max-width: $w-bp) {
249
+ flex-flow: row wrap;
250
+ width: 250px;
251
+ height: auto;
252
+ position: relative;
253
+
254
+ margin-bottom: 150px;
255
+ }
256
+
257
+
258
+ > a.nav-item {
259
+ margin-right: 20px;
260
+ position: relative;
261
+ width: 211px;
262
+ height: 255px;
263
+
264
+ @media screen and (max-width: $w-bp) {
265
+ margin-bottom: 20px;
266
+ }
267
+
268
+ body.out &:not(.selected) {
269
+ animation: fade-out .2s forwards;
270
+ }
271
+ body.out &.selected {
272
+ animation: nav-enlarge-selected 1s ease-in-out, fade-out .6s forwards;
273
+ }
274
+
275
+ > .label {
276
+ position: absolute;
277
+ left: 0%;
278
+ right: 71.09%;
279
+ top: 88.63%;
280
+ bottom: 0%;
281
+
282
+ font-style: normal;
283
+ font-weight: normal;
284
+ line-height: normal;
285
+ font-size: 24px;
286
+
287
+ color: #FFFFFF;
288
+ }
289
+
290
+ > .icon {
291
+ mix-blend-mode: luminosity;
292
+ transition: mix-blend-mode .3s linear;
293
+ }
294
+
295
+ &.full-bleed {
296
+ > .backdrop {
297
+ position: absolute;
298
+ left: 0%;
299
+ right: 0%;
300
+ top: 0%;
301
+ bottom: 17.25%;
302
+
303
+ background: $color-primary-darker;
304
+ }
305
+ > .icon {
306
+ position: absolute;
307
+ left: 0%;
308
+ right: 0%;
309
+ top: 0%;
310
+ bottom: 17.25%;
311
+ width: 211px;
312
+ height: 211px;
313
+
314
+ mix-blend-mode: luminosity;
315
+ }
316
+ }
317
+
318
+ &.inset {
319
+ > .backdrop {
320
+ position: absolute;
321
+ left: 0%;
322
+ right: 0%;
323
+ top: 0%;
324
+ bottom: 17.25%;
325
+
326
+ background: $color-primary-darker;
327
+ box-shadow: inset 0px 4px 94px rgba(0, 0, 0, 0.15);
328
+ }
329
+ > .icon {
330
+ position: absolute;
331
+ width: 163px;
332
+ height: 161px;
333
+ left: 26px;
334
+ top: 27px;
335
+ }
336
+ }
337
+ }
338
+
339
+ > .nav-item:hover {
340
+ > .icon {
341
+ mix-blend-mode: normal;
342
+ }
343
+ }
344
+ }
345
+
346
+
347
+ /* ALBUM */
348
+
349
+ body.layout-album {
350
+ overflow-y: hidden;
351
+ }
352
+
353
+ .album__artwork {
354
+ position: absolute;
355
+ left: calc(50% - 187px/2 - 244.5px + 187px);
356
+ right: 0px;
357
+ top: 0px;
358
+ bottom: 0px;
359
+
360
+ background: $color-primary-album-bg;
361
+ box-shadow: 0px 4.8px 120px rgba(0, 0, 0, 0.15);
362
+
363
+ min-width: 449px;
364
+ overflow-y: auto;
365
+
366
+ display: flex;
367
+
368
+ opacity: 0;
369
+
370
+ animation: fade-in .3s forwards, enlarge .3s forwards;
371
+ animation-delay: .4s;
372
+
373
+ @media screen and (max-width: $w-bp) {
374
+ position: relative;
375
+ left: 0;
376
+ right: 0;
377
+ top: 400px;
378
+ align-items: center;
379
+ width: auto;
380
+ min-width: 0;
381
+ padding: 20px 0;
382
+
383
+ margin-bottom: 150px;
384
+ }
385
+
386
+ body.out & {
387
+ animation: fade-out .3s forwards;
388
+ }
389
+
390
+ > .item {
391
+ display: inline-block;
392
+
393
+ opacity: 0;
394
+ animation: fade-in .3s both, enlarge .3s forwards;
395
+ animation-delay: .7s;
396
+ }
397
+
398
+ // Styles
399
+ &.full-bleed {
400
+ > .item img {
401
+ max-width: 100%;
402
+ margin: 0;
403
+ display: block;
404
+ }
405
+ }
406
+ &.inset {
407
+ padding: 139px 96px 119px 116px;
408
+ }
409
+ &.one-column {
410
+ flex-flow: column nowrap;
411
+ justify-content: flex-start;
412
+ }
413
+ &.multi-column {
414
+ flex-flow: row wrap;
415
+ justify-content: center;
416
+
417
+ > .item {
418
+ width: 211px;
419
+ height: 211px;
420
+ padding: 10px;
421
+ margin-right: 20px;
422
+ margin-bottom: 20px;
423
+ display: inline-block;
424
+
425
+ img {
426
+ max-width: 201px;
427
+ max-height: 201px;
428
+ width: auto;
429
+ height: auto;
430
+ display: block;
431
+ }
432
+ }
433
+ }
434
+ }
435
+
436
+ .album__header {
437
+
438
+ > .shadowything-top {
439
+ position: absolute;
440
+ width: 280px;
441
+ height: 167px;
442
+ left: 50px;
443
+ top: 20px;
444
+
445
+ mix-blend-mode: luminosity;
446
+
447
+ @media screen and (min-height: $h-bp2) {
448
+ top: calc(50% - 167px/2 - 408.5px);
449
+ }
450
+
451
+ opacity: 0;
452
+ animation: fade-in-2 .5s forwards;
453
+ animation-delay: .2s;
454
+
455
+ body.out & {
456
+ animation: fade-out .4s forwards;
457
+ }
458
+ }
459
+
460
+ > .brand {
461
+ position: absolute;
462
+ width: 242px;
463
+ height: 212px;
464
+ left: 88px;
465
+ top: 208px;
466
+
467
+ @media screen and (min-height: $h-bp2) {
468
+ top: calc(50% - 212px/2 - 198px);
469
+ }
470
+
471
+ > .author {
472
+ position: absolute;
473
+ width: 61.82px;
474
+ height: 119.91px;
475
+ left: 13.39px;
476
+ top: 0px;
477
+
478
+ font-style: normal;
479
+ font-weight: normal;
480
+ line-height: normal;
481
+ font-size: 20.8538px;
482
+
483
+ color: #FFFFFF;
484
+
485
+ z-index: 2;
486
+
487
+ a {
488
+ background-image: linear-gradient(to right, white 33%, rgba(255, 255, 255, 0) 0%);
489
+ background-position: bottom;
490
+ background-size: 3px 1px;
491
+ background-repeat: repeat-x;
492
+ padding-bottom: 2px;
493
+ }
494
+ }
495
+
496
+ > .album-title {
497
+ position: absolute;
498
+ width: 240px;
499
+ height: 68px;
500
+ left: 1px;
501
+ top: 10px;
502
+
503
+ font-style: normal;
504
+ font-weight: normal;
505
+ line-height: normal;
506
+ font-size: 56px;
507
+
508
+ color: #FFFFFF;
509
+
510
+ body.out & {
511
+ animation: fade-out .4s forwards;
512
+ }
513
+ }
514
+
515
+ > .album-desc {
516
+ position: absolute;
517
+ width: 236px;
518
+ height: 47px;
519
+ left: 13px;
520
+ top: 110px;
521
+
522
+ font-style: normal;
523
+ font-weight: normal;
524
+ line-height: normal;
525
+ font-size: 18px;
526
+
527
+ color: #FFFFFF;
528
+
529
+ body.out & {
530
+ animation: fade-out .4s forwards;
531
+ }
532
+ }
533
+ }
534
+ }