tessera-jekyll-theme 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,761 @@
1
+ /* COLOR SCHEME /*
2
+
3
+ /* Default (dark mode) */
4
+ :root {
5
+ --bg: #2a2a2a;
6
+ --fg: #ccc;
7
+ --grey1: #999;
8
+ --black: #1a1a1a;
9
+ --red: #a66966;
10
+ --green: #91a666;
11
+ --yellow: #a69c66;
12
+ --blue: #6677a6;
13
+ --magenta: #9a66a6;
14
+ --cyan: #66a6aa;
15
+ --accent: var(--green);
16
+ --accentfg: var(--bg);
17
+ --accenthv: var(--grey1);
18
+ font-size: 16px;
19
+ }
20
+
21
+ /* Light mode overrides */
22
+ @media (prefers-color-scheme: light) {
23
+ :root {
24
+ --bg: #eee;
25
+ --fg: #2a2a2a;
26
+ --black: #a1a1a1;
27
+ /* No need to redefine colors that remain the same */
28
+ }
29
+ }
30
+
31
+ /* PAGE CONTENTS */
32
+
33
+ body {
34
+ background-color: var(--bg);
35
+ color: var(--fg);
36
+ margin: 0;
37
+ padding: 0;
38
+ padding-bottom: 3rem;
39
+ font-family:"Sans";
40
+ }
41
+
42
+ html, body {
43
+ min-height: 99vh;
44
+ position: relative;
45
+ }
46
+
47
+ a {
48
+ text-decoration: none;
49
+ color: var(--accent);
50
+ }
51
+ a:hover {
52
+ text-decoration: none;
53
+ color: var(--accenthv);
54
+ }
55
+
56
+
57
+ /*-*/
58
+
59
+
60
+ /* TOP PANEL STYLES */
61
+
62
+ .toppanel {
63
+ display: flex;
64
+ justify-content: space-between;
65
+ align-items: center;
66
+ padding: 15px;
67
+ background-color: var(--black);
68
+ height: 3rem;
69
+ position: relative;
70
+ }
71
+
72
+ .tp-banner {
73
+ height: 1.3rem;
74
+ }
75
+
76
+ .tp-left {
77
+ display: flex;
78
+ align-items: center;
79
+ padding-left: 1vw;
80
+ }
81
+
82
+ .tp-right {
83
+ display: flex;
84
+ align-items: center;
85
+ padding-right: 1vw;
86
+ }
87
+
88
+ /* Navigation styles */
89
+ /* Hide checkbox */
90
+ .burger-checkbox, .dropdown-checkbox {
91
+ display: none;
92
+ }
93
+
94
+ /* Burger menu styles */
95
+ .burger-menu {
96
+ display: none;
97
+ cursor: pointer;
98
+ flex-direction: column;
99
+ justify-content: space-between;
100
+ width: 30px;
101
+ height: 22px;
102
+ margin-right: 15px;
103
+ z-index: 2;
104
+ }
105
+
106
+ .burger-menu span {
107
+ display: block;
108
+ height: 3px;
109
+ width: 100%;
110
+ background-color: var(--fg);
111
+ border-radius: 2px;
112
+ transition: all 0.3s ease;
113
+ }
114
+
115
+ /* Desktop styles */
116
+
117
+ .tp-nav {
118
+ display: flex;
119
+ list-style: none;
120
+ margin: 0;
121
+ padding: 0;
122
+ }
123
+
124
+ .tp-nav a {
125
+ text-decoration: none;
126
+ color: var(--fg)
127
+ }
128
+
129
+ .tp-nav a:hover {
130
+ color: var(--accent)
131
+ }
132
+
133
+ .tp-nav li {
134
+ display: inline-block;
135
+ text-align: left;
136
+ margin: 0 1vw 0 1vw;
137
+ }
138
+
139
+ .tp-dropdown {
140
+ position: relative;
141
+ }
142
+
143
+ .tp-dropdown-elements {
144
+ display: none;
145
+ position: absolute;
146
+ background-color: var(--black);
147
+ min-height:1.3rem;
148
+ z-index: 1;
149
+ list-style: none;
150
+ padding: 0;
151
+ }
152
+
153
+ .tp-dropdown-elements li {
154
+ margin: 0 0px;
155
+ min-height: 2rem;
156
+ }
157
+
158
+ .tp-dropdown-elements li a{
159
+ margin: 0 10px;
160
+
161
+ }
162
+
163
+
164
+ .tp-dropdown:hover .tp-dropdown-elements {
165
+ display: block;
166
+ }
167
+
168
+ /*-*/
169
+
170
+
171
+ /* SEARCHBOX */
172
+
173
+
174
+ input[type="text"] {
175
+ flex: 1 1 auto;
176
+ font-size: 1.1rem;
177
+ min-width: 0;
178
+ background-color: var(--black);
179
+ color: var(--fg);
180
+ border-radius: 9px 9px 9px 9px;
181
+ border: none;
182
+ height: 3rem;
183
+ }
184
+
185
+ .search-box
186
+ {
187
+ display:flex;
188
+ width: 90%;
189
+ margin: 0 auto;
190
+ flex-direction: column;
191
+ margin: 0 auto 0 0;
192
+ }
193
+
194
+
195
+ /*-*/
196
+
197
+
198
+ /* MAIN CONTAINER */
199
+
200
+ #main-container {
201
+ display: flex;
202
+ padding-top: 2rem;
203
+ width: 100%;
204
+
205
+ justify-content: center;
206
+ }
207
+
208
+
209
+ /*-*/
210
+
211
+
212
+ /*LEFT SIDE*/
213
+
214
+ #left-container {
215
+ width: 10%;
216
+ padding: 0 0vw 0;
217
+ margin-left: 0vw;
218
+ }
219
+
220
+ .leftpane-portraitscreen {
221
+ display: none;
222
+ }
223
+
224
+
225
+ /*-*/
226
+
227
+
228
+ /*CENTER SIDE (POST CONTENT)*/
229
+
230
+ .post-postdate h3 {
231
+ position: relative;
232
+ top: -1rem;
233
+ margin-bottom: 1rem;
234
+ color: var(--grey1);
235
+ }
236
+ .post-postcontent {
237
+ max-width: 95%;
238
+ text-align: justify;
239
+ }
240
+
241
+ .language-plaintext.highlighter-rouge {
242
+ background-color: var(--black);
243
+ font-family: monospace;
244
+ border-radius: 5px;
245
+ padding: 1px;
246
+ }
247
+
248
+ .highlight {
249
+ overflow: hidden;
250
+ display: flex;
251
+ flex-direction: column;
252
+ }
253
+
254
+ .highlight pre {
255
+ background-color: var(--black);
256
+ font-family: monospace;
257
+ padding: 1em;
258
+ border-radius: 5px;
259
+ overflow-x: auto;
260
+ max-width: 90vw;
261
+ box-sizing: border-box;
262
+ }
263
+
264
+
265
+ hr.endseparator {
266
+ background-color: white; /* sets the color of the line */
267
+ width: 100%;
268
+ height: 2.6px;
269
+ margin-left: 0;
270
+ border: none; /* remove default border */
271
+ }
272
+
273
+ .userbox {
274
+ display: flex;
275
+ align-items: flex-start;
276
+ border: 3px solid var(--fg);
277
+ border-radius: 5px;
278
+ margin: 2vw 0vh 0vh 1vw;
279
+ max-width: 500px;
280
+ font-family: sans-serif;
281
+ position: relative;
282
+ }
283
+
284
+ .userpic {
285
+ width: 100px;
286
+ height: 100px;
287
+ object-fit: cover;
288
+ border-radius: 8px;
289
+ margin-right: 16px;
290
+ }
291
+
292
+ .userbox-content {
293
+ flex: 1;
294
+ display: flex;
295
+ flex-direction: column;
296
+ }
297
+
298
+ .userbox-content h1 {
299
+ margin: 0;
300
+ font-size: 1.5em;
301
+ }
302
+
303
+ .userbox-content h3 {
304
+ margin: 4px 0 12px 0;
305
+ font-weight: normal;
306
+ color: #666;
307
+ }
308
+
309
+ .userbox a {
310
+ display: block;
311
+ margin-top: auto;
312
+ padding-top: 12px;
313
+ border-top: 1px solid var(--fg);
314
+ text-decoration: none;
315
+ color: var(--accent);
316
+ font-weight: bold;
317
+ }
318
+ .userbox a:hover {
319
+ color: var(--grey1);
320
+ }
321
+
322
+
323
+ /*-*/
324
+
325
+
326
+ /* CENTER SIDE (POST LIST) */
327
+
328
+ #posts-container {
329
+ width: 70%;
330
+ display: grid;
331
+ grid-template-columns: repeat(auto-fill, minmax(30%, 1fr));
332
+ gap: 2vw;
333
+ padding: 0 1vw 0 1vw;
334
+ }
335
+
336
+ .post-card {
337
+ display: flex;
338
+ flex-direction: column;
339
+ border-radius: 8px;
340
+ overflow: hidden;
341
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
342
+ transition: transform 0.3s ease;
343
+ }
344
+
345
+ .post-card:hover {
346
+ transform: translateY(-5px);
347
+ color: var(--accent);
348
+ }
349
+
350
+ .post-card:hover h2 {
351
+ color: var(--acent);
352
+ }
353
+
354
+ .post-image-wrapper {
355
+ position: relative;
356
+ width: 100%;
357
+ padding-top: 56.25%; /* 16:9 aspect ratio (9 / 16 * 100%) */
358
+ overflow: hidden;
359
+ border-radius: 8px 8px 0 0;
360
+ }
361
+
362
+ .post-image {
363
+ position: absolute;
364
+ top: 0;
365
+ left: 0;
366
+ width: 100%;
367
+ height: 100%;
368
+ object-fit: cover;
369
+ }
370
+
371
+ .post-info {
372
+ padding: 1.5rem;
373
+ }
374
+
375
+ .post-date {
376
+ color: var(--grey1);
377
+ font-size: 0.9rem;
378
+ margin-bottom: 0.5rem;
379
+ }
380
+
381
+ .post-title {
382
+ margin: 0;
383
+ font-size: 1.2rem;
384
+ color: var(--fg);
385
+ }
386
+
387
+ .post-labels {
388
+ margin: 0;
389
+ font-size: 0.7rem;
390
+ color: var(--grey1);
391
+ }
392
+
393
+ .post-link {
394
+ text-decoration: none;
395
+ }
396
+
397
+ .pagination-controls {
398
+ grid-column: 1 / -1;
399
+ justify-self: center;
400
+ width: fit-content;
401
+ }
402
+
403
+ .pagination-controls a {
404
+ text-decoration: none;
405
+ border: 1px solid var(--grey1);
406
+ padding: 4px 8px;
407
+ margin: 0 4px;
408
+ display: inline-block;
409
+ color: var(--fg);
410
+ border-radius: 4px;
411
+ }
412
+
413
+ .pagination-controls a:hover {
414
+ background-color: var(--accent);
415
+ color: var(--accentfg);
416
+ }
417
+
418
+
419
+ .error-message {
420
+ color: #d32f2f;
421
+ padding: 1rem;
422
+ text-align: center;
423
+ }
424
+
425
+
426
+ /*-*/
427
+
428
+
429
+ /* RIGHT PANE */
430
+
431
+ #right-container {
432
+ width: 20%;
433
+ padding: 0 0vw 0;
434
+ margin-left: 0vw;
435
+ }
436
+
437
+
438
+ form {
439
+ width: 100%;
440
+ display: flex;
441
+ overflow: hidden;
442
+ flex-wrap: nowrap;
443
+ }
444
+
445
+ button {
446
+ padding: 10px 20px;
447
+ font-size: 1rem;
448
+ flex-shrink: 0;
449
+ color: #2a2a2a;
450
+ border: none;
451
+ border-radius: 0px 9px 9px 0px;
452
+ background-color: var(--accent);
453
+ }
454
+
455
+ .rp-post-title {
456
+ margin: 0;
457
+ font-size: 1.1rem;
458
+ }
459
+
460
+ .rp-post-link {
461
+ text-decoration: none;
462
+ color: var(--fg);
463
+ }
464
+
465
+ .rp-post-link:hover {
466
+ text-decoration: none;
467
+ color: var(--accent);
468
+ font-size: 0.9rem;
469
+ }
470
+
471
+
472
+ /*-*/
473
+
474
+
475
+ /*BOTTOM PANE (FOOTER)*/
476
+
477
+
478
+ .bottompane {
479
+ position: absolute;
480
+ bottom: 0;
481
+ left: 0;
482
+ width: 100%;
483
+ height: 3rem;
484
+ display: flex;
485
+ justify-content: space-between;
486
+ align-items: center;
487
+ background-color: var(--black);
488
+ z-index: 1000;
489
+ }
490
+
491
+
492
+ .bp-left {
493
+ display: flex;
494
+ align-items: center;
495
+ padding-left: 1vw;
496
+ }
497
+
498
+ .bp-right {
499
+ display: flex;
500
+ align-items: center;
501
+ padding-right: 1vw;
502
+ }
503
+
504
+ /* Navigation styles */
505
+ .bp-nav {
506
+ display: flex;
507
+ list-style: none;
508
+ color: var(--fg);
509
+ }
510
+
511
+ .bp-nav li {
512
+ margin-left: 20px;
513
+ color: var(--fg);
514
+ }
515
+ .bp-nav a {
516
+ color: var(--fg);
517
+ text-decoration: none;
518
+ }
519
+ .bp-nav a:hover {
520
+ color: var(--accent);
521
+ text-decoration: none;
522
+ }
523
+
524
+ /* Dropdown styles */
525
+ .bp-dropdown {
526
+ position: relative;
527
+ }
528
+
529
+ .bp-dropdown-elements {
530
+ display: none;
531
+ position: absolute;
532
+ top: 100%;
533
+ right: 0;
534
+ background-color: var(--background);
535
+ box-shadow: 0 2px 5px rgba(0,0,0,0.2);
536
+ padding: 10px 0;
537
+ list-style: none;
538
+ min-width: 150px;
539
+ }
540
+
541
+ .bp-dropdown:hover .tp-dropdown-elements {
542
+ display: block;
543
+ }
544
+
545
+ .bp-dropdown-elements li {
546
+ margin: 0;
547
+ background-color: var(--black);
548
+ color: var(--fg);
549
+ }
550
+
551
+ .bp-dropdown-elements li:hover {
552
+ background-color: var(--accentfg);
553
+ }
554
+
555
+ .bp-dropdown-elements a {
556
+ display: block;
557
+ padding: 8px 15px;
558
+ }
559
+
560
+
561
+ .search-results {
562
+ list-style: none;
563
+ padding: 0;
564
+ margin: 0.5em 0;
565
+ }
566
+
567
+ .search-results li {
568
+ margin: 0.4em 0;
569
+ }
570
+
571
+ .search-results li a {
572
+ display: block;
573
+ padding: 0.75em 1em;
574
+ background-color: var(--black);
575
+ color: var(--fg);
576
+ text-decoration: none;
577
+ border-radius: 8px;
578
+ font-weight: 500;
579
+ transition: background-color 0.2s ease, transform 0.1s ease;
580
+ }
581
+
582
+ .search-results li a:hover {
583
+ background-color: var(--accent);
584
+ color: var(--accentfg);
585
+
586
+ }
587
+
588
+ .search-results li a:active {
589
+ transform: scale(0.98);
590
+ }
591
+
592
+
593
+ /* PORTRAIT SCREEN CHANGES*/
594
+ @media only screen and (max-aspect-ratio: 1/1) {
595
+ body {
596
+ background-color: var(--bg);
597
+ color: var(--fg);
598
+ margin: 0;
599
+ padding: 0;
600
+ padding-bottom: 9rem;
601
+ font-family: "Sans";
602
+ }
603
+
604
+ .search-box
605
+ {
606
+ display:flex;
607
+ width: 90%;
608
+ margin: 0 auto;
609
+ flex-direction: column;
610
+ margin: 0 auto;
611
+ }
612
+
613
+ .bottompane {
614
+ position: absolute;
615
+ bottom: 0;
616
+ left: 0;
617
+ width: 100%;
618
+ height: 7rem;
619
+ display: flex;
620
+ justify-content: space-between;
621
+ align-items: center;
622
+ background-color: var(--black);
623
+ z-index: 1000;
624
+ flex-direction: column;
625
+ }
626
+
627
+ .burger-menu {
628
+ display: flex;
629
+ }
630
+
631
+ /* Hide menu by default on mobile */
632
+ .tp-right {
633
+ display: none;
634
+ position: absolute;
635
+ top: 100%;
636
+ left: 0;
637
+ right: 0;
638
+ background-color: var(--black);
639
+ box-shadow: 0 2px 5px rgba(0,0,0,0.2);
640
+ z-index: 1;
641
+ }
642
+
643
+ /* Show menu when burger checkbox is checked */
644
+ #burger-toggle:checked ~ .tp-right {
645
+ display: block;
646
+ }
647
+
648
+ .tp-nav {
649
+ flex-direction: column;
650
+ width: 100%;
651
+ }
652
+
653
+
654
+ .tp-nav li {
655
+ width: 100%;
656
+ text-align: left;
657
+ padding: 15px;
658
+ border-bottom: 1px solid var(--bg);
659
+ }
660
+
661
+ /* Handle dropdown on mobile */
662
+ .tp-dropdown-elements {
663
+ display: none;
664
+ position: static;
665
+ box-shadow: none;
666
+ padding-left: 15px;
667
+ margin-top: 10px;
668
+ }
669
+
670
+ /* Show dropdown when its checkbox is checked */
671
+ #social-toggle:checked ~ .tp-dropdown-elements {
672
+ display: block;
673
+ }
674
+
675
+ /* Override hover behavior on mobile */
676
+ .tp-dropdown:hover .tp-dropdown-elements {
677
+ display: none;
678
+ }
679
+
680
+ /* Label for dropdown toggle */
681
+ .tp-dropdown label {
682
+ display: block;
683
+ cursor: pointer;
684
+ }
685
+
686
+ #main-container {
687
+ display: flex;
688
+ flex-direction: column;
689
+ padding-top: 2rem;
690
+ width: 100vw;
691
+ max-width: 100vw;
692
+ justify-content: space-between;
693
+ align-items: center;
694
+ }
695
+
696
+ .post {
697
+ text-align: justify;
698
+ display: flex;
699
+ flex-wrap: wrap;
700
+ overflow: auto;
701
+ word-wrap: break-word;
702
+ word-break: break-word;
703
+ flex-direction: column;
704
+ align-items: start;
705
+ width: 90vw;
706
+ max-width: 90vw;
707
+ /*
708
+ overflow-x: hidden;
709
+ */
710
+ box-sizing: border-box;
711
+ }
712
+
713
+
714
+ #left-container {
715
+ width: 90%;
716
+ padding: 0 0vw 0;
717
+ margin-left: 0vw;
718
+ padding-bottom: 1rem;
719
+ }
720
+
721
+ .leftpane-landscapescreen {
722
+ display: none;
723
+ }
724
+
725
+ .leftpane-portraitscreen {
726
+ display: block;
727
+ }
728
+
729
+ #posts-container {
730
+ width: 90%;
731
+ display: grid;
732
+ grid-template-columns: repeat(auto-fill, minmax(60%, 1fr));
733
+ gap: 2vw;
734
+ padding: 0 0 0 0vw;
735
+ }
736
+
737
+ .pagination-controls {
738
+ margin-top: 1rem;
739
+ grid-column: 1 / -1;
740
+ justify-self: center;
741
+ width: fit-content;
742
+ }
743
+
744
+ .pagination-controls a {
745
+ font-size: 1.3rem;
746
+ text-decoration: none;
747
+ border: 2px solid var(--grey1);
748
+ padding: 4px 8px;
749
+ margin: 0 4px;
750
+ display: inline-block;
751
+ color: var(--fg);
752
+ border-radius: 4px;
753
+ }
754
+
755
+ #right-container {
756
+ width: 90%;
757
+ padding: 0 0vw 0;
758
+ margin-left: 0vw;
759
+ }
760
+
761
+ }