hexo-theme-gnix 13.0.0 → 14.0.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.
@@ -251,6 +251,7 @@ body {
251
251
  flex-direction: column;
252
252
  /* Ref: https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/text-autospace */
253
253
  text-autospace: normal;
254
+ font-synthesis: none;
254
255
  font-family: var(--font-sans-serif);
255
256
  }
256
257
 
@@ -557,7 +558,7 @@ html {
557
558
  /* #region Navbar */
558
559
 
559
560
  .navbar {
560
- min-height: 4rem;
561
+ min-height: 3.5rem;
561
562
  position: sticky;
562
563
  padding-top: env(safe-area-inset-top);
563
564
  top: 0;
@@ -565,14 +566,24 @@ html {
565
566
  right: 0;
566
567
  z-index: 100;
567
568
  background: var(--mantle);
568
- border-bottom: 0.5px solid var(--surface0);
569
+ }
570
+
571
+ .navbar::after {
572
+ content: "";
573
+ position: absolute;
574
+ left: 8%;
575
+ right: 8%;
576
+ bottom: 0;
577
+ height: 1px;
578
+ background: linear-gradient(90deg, transparent 0%, hsl(from var(--surface0) h s l / 0.75) 22%, hsl(from var(--surface0) h s l / 0.75) 78%, transparent 100%);
579
+ pointer-events: none;
569
580
  }
570
581
 
571
582
  @media screen and (min-width: 1024px) {
572
583
  .navbar {
573
- -webkit-backdrop-filter: blur(18px) saturate(1.35);
574
- backdrop-filter: blur(18px) saturate(1.35);
575
- background: hsl(from var(--mantle) h s l / 0.75);
584
+ -webkit-backdrop-filter: blur(20px) saturate(1.4);
585
+ backdrop-filter: blur(20px) saturate(1.4);
586
+ background: hsl(from var(--mantle) h s l / 0.72);
576
587
  }
577
588
  }
578
589
 
@@ -581,7 +592,7 @@ html {
581
592
  margin: 0 auto;
582
593
  width: auto;
583
594
  display: flex;
584
- min-height: 4rem;
595
+ min-height: 3.5rem;
585
596
 
586
597
  button {
587
598
  background: none;
@@ -590,10 +601,29 @@ html {
590
601
  }
591
602
  }
592
603
 
604
+ .navbar-main {
605
+ transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1);
606
+ }
607
+
593
608
  .navbar-main.navbar--hidden {
594
609
  transform: translateY(-100%);
595
610
  }
596
611
 
612
+ .navbar-logo {
613
+ font-family: homemade-apple, var(--font-handwriting);
614
+ color: var(--subtext1);
615
+ display: flex;
616
+ align-items: center;
617
+ padding: 0 1.25rem;
618
+ letter-spacing: 0.01em;
619
+ line-height: 1;
620
+ transition: color 240ms ease;
621
+ }
622
+
623
+ .navbar-logo:hover {
624
+ color: var(--rosewater);
625
+ }
626
+
597
627
  .navbar-item {
598
628
  color: var(--subtext0);
599
629
  align-items: center;
@@ -603,16 +633,63 @@ html {
603
633
  flex-grow: 0;
604
634
  flex-shrink: 0;
605
635
  letter-spacing: 0.05em;
606
- transition: color 0.18s ease;
636
+ transition: color 220ms ease;
637
+ }
638
+
639
+ @media screen and (min-width: 1024px) {
640
+ .navbar-start .navbar-item {
641
+ font-family: var(--font-sans-serif);
642
+ font-size: 0.78rem;
643
+ font-weight: 500;
644
+ letter-spacing: 0.18em;
645
+ text-transform: uppercase;
646
+ padding: 0 0.9rem;
647
+ color: var(--subtext0);
648
+ }
649
+
650
+ .navbar-start .navbar-item::after {
651
+ content: "";
652
+ position: absolute;
653
+ left: 50%;
654
+ bottom: 0.95rem;
655
+ width: 55%;
656
+ height: 1px;
657
+ background: var(--rosewater);
658
+ transform: translateX(-50%) scaleX(0);
659
+ transform-origin: center;
660
+ transition: transform 320ms cubic-bezier(0.4, 0, 0.2, 1);
661
+ }
662
+
663
+ .navbar-start .navbar-item:hover {
664
+ color: var(--text);
665
+ }
666
+
667
+ .navbar-start .navbar-item:hover::after {
668
+ transform: translateX(-50%) scaleX(1);
669
+ }
607
670
  }
608
671
 
609
672
  .navbar-end {
610
673
  svg {
611
- width: 1.2em;
674
+ width: 1.1em;
675
+ opacity: 0.78;
676
+ transition:
677
+ opacity 220ms ease,
678
+ transform 220ms ease;
679
+ }
680
+
681
+ .navbar-item {
682
+ padding: 0 0.6rem;
683
+ transition: color 220ms ease;
612
684
  }
613
685
 
614
686
  .navbar-item:hover {
615
- color: var(--lavender);
687
+ color: var(--text);
688
+ }
689
+
690
+ .navbar-item:hover svg {
691
+ opacity: 1;
692
+ transform: translateY(-1px);
616
693
  }
617
694
  }
618
695
 
@@ -656,49 +733,6 @@ html {
656
733
 
657
734
  /* #endregion Theme Selector */
658
735
 
659
- /* #region Pagination */
660
-
661
- .pagination,
662
- .pagination-list {
663
- align-items: center;
664
- display: flex;
665
- text-align: center;
666
- font-family: var(--font-serif);
667
- font-style: italic;
668
- }
669
-
670
- .pagination-link.is-current {
671
- color: var(--text);
672
- font-weight: bold;
673
- }
674
-
675
- .pagination-ellipsis,
676
- .pagination-link,
677
- .pagination-next,
678
- .pagination-previous {
679
- user-select: none;
680
- color: var(--subtext0);
681
- padding: 0 1rem;
682
- display: inline-flex;
683
- min-width: 1.5em;
684
- }
685
-
686
- .pagination-previous {
687
- margin-right: auto;
688
- margin-left: 0.5rem;
689
- }
690
-
691
- .pagination-next {
692
- margin-left: auto;
693
- margin-right: 0.5rem;
694
- }
695
-
696
- .pagination-list {
697
- flex-wrap: wrap;
698
- }
699
-
700
- /* #endregion Pagination */
701
-
702
736
  .section {
703
737
  padding: 3rem 1.5rem;
704
738
  flex-grow: 1;
@@ -722,6 +756,7 @@ html {
722
756
  padding: 4rem 1.5rem 3rem;
723
757
  text-align: center;
724
758
  color: var(--overlay0);
759
+ font-family: var(--font-mono);
725
760
  }
726
761
 
727
762
  .footer-brand {
@@ -731,11 +766,13 @@ html {
731
766
  gap: 0.25rem;
732
767
  }
733
768
 
734
- .footer-credit {
769
+ .footer-credit,
770
+ .footer-credit > a {
735
771
  font-size: 0.75rem;
736
772
  font-weight: 400;
737
773
  margin: 0;
738
774
  letter-spacing: 0.06em;
775
+ color: inherit;
739
776
  }
740
777
 
741
778
  .footer-author {
@@ -826,10 +863,11 @@ html {
826
863
  &::before {
827
864
  content: counter(h2-counter, decimal-leading-zero) ".";
828
865
  color: var(--flamingo);
829
- font-family: var(--font-mono);
866
+ font-family: var(--font-serif);
830
867
  padding-right: 0.2em;
868
+ letter-spacing: 0.1rem;
831
869
  font-size: 0.75em;
832
- font-variant-numeric: tabular-nums;
870
+ font-variant-numeric: oldstyle-nums;
833
871
  }
834
872
 
835
873
  &:hover::after {
@@ -1303,11 +1341,12 @@ section {
1303
1341
  color: var(--overlay0);
1304
1342
  }
1305
1343
 
1306
- .article-footer {
1344
+ .article-meta-bar {
1307
1345
  display: flex;
1308
1346
  justify-content: space-between;
1309
1347
  align-items: center;
1310
1348
  margin-top: 1rem;
1349
+ margin-bottom: 1rem;
1311
1350
  padding-bottom: 0.75rem;
1312
1351
  border-bottom: 1px dashed var(--surface0);
1313
1352
  font-family: var(--font-mono);
@@ -1332,20 +1371,6 @@ em,
1332
1371
  gap: 0.2rem;
1333
1372
  }
1334
1373
 
1335
- .article-read-more {
1336
- color: var(--subtext0);
1337
- text-decoration: none;
1338
- white-space: nowrap;
1339
-
1340
- &:hover {
1341
- color: var(--blue);
1342
- }
1343
- }
1344
-
1345
- .article-footer.article-meta-bar {
1346
- margin-bottom: 1rem;
1347
- }
1348
-
1349
1374
  .article-title-actions {
1350
1375
  display: flex;
1351
1376
  align-items: center;
@@ -1423,7 +1448,7 @@ em,
1423
1448
  }
1424
1449
 
1425
1450
  .language-switch-popover {
1426
- width: min(24rem, 90vw);
1451
+ width: min(40rem, 90vw);
1427
1452
  }
1428
1453
 
1429
1454
  .language-switch-popover-body {
@@ -2041,7 +2066,7 @@ em,
2041
2066
  display: flex;
2042
2067
  flex-direction: column;
2043
2068
  gap: 0.125rem;
2044
- min-width: 0;
2069
+ min-width: 20rem;
2045
2070
  flex: 1;
2046
2071
  padding-top: 0.125rem;
2047
2072
  }
@@ -2214,8 +2239,8 @@ input.searchbox-input {
2214
2239
 
2215
2240
  .toc-button {
2216
2241
  position: fixed;
2217
- top: 7rem;
2218
- left: 2rem;
2242
+ top: 10rem;
2243
+ left: max(2rem, calc(50% - 25em - 10rem));
2219
2244
  width: 3rem;
2220
2245
  height: 3rem;
2221
2246
  border-radius: 50%;
@@ -2276,19 +2301,16 @@ input.searchbox-input {
2276
2301
  margin: auto;
2277
2302
  max-width: 90vw;
2278
2303
  max-height: 85vh;
2279
- border: 1px solid var(--surface0);
2280
2304
  border-radius: 16px;
2281
- background: var(--mantle);
2305
+ /* background: var(--mantle); */
2282
2306
  color: var(--text);
2283
2307
  box-shadow:
2284
2308
  0 20px 60px -15px rgba(0, 0, 0, 0.3),
2285
2309
  0 0 0 1px var(--surface0);
2286
2310
  overflow: hidden;
2287
- backdrop-filter: none;
2288
- -webkit-backdrop-filter: none;
2289
2311
 
2290
2312
  &::backdrop {
2291
- background: hsl(from var(--mantle) h s l / 0.7);
2313
+ /* background: hsl(from var(--mantle) h s l / 0.7); */
2292
2314
  backdrop-filter: blur(10px);
2293
2315
  -webkit-backdrop-filter: blur(10px);
2294
2316
  }
@@ -2337,7 +2359,7 @@ input.searchbox-input {
2337
2359
  font-size: 1.8rem;
2338
2360
  }
2339
2361
  .toc-level-3 & {
2340
- color: var(--overlay1);
2362
+ color: var(--subtext1);
2341
2363
  font-size: 1.5rem;
2342
2364
  }
2343
2365
  .toc-level-4 & {
@@ -110,10 +110,6 @@
110
110
  margin-bottom: 0.5rem;
111
111
  }
112
112
 
113
- .is-hidden-mobile {
114
- display: none;
115
- }
116
-
117
113
  table {
118
114
  font-size: 14px;
119
115
  }
@@ -140,10 +136,6 @@
140
136
  border-radius: 0;
141
137
  }
142
138
 
143
- .pagination {
144
- height: 2.5em;
145
- }
146
-
147
139
  .article-comment-popover,
148
140
  .article-comment-popover-body {
149
141
  width: calc(100vw - 1rem);
@@ -169,46 +161,10 @@
169
161
  }
170
162
 
171
163
  @media screen and (min-width: 769px) {
172
- .is-hidden-tablet {
173
- display: none;
174
- }
175
-
176
164
  .level {
177
165
  display: flex;
178
166
  flex-grow: 1;
179
167
  }
180
-
181
- .pagination-list {
182
- flex-grow: 1;
183
- flex-shrink: 1;
184
- justify-content: flex-start;
185
- order: 1;
186
- }
187
-
188
- .pagination-previous {
189
- order: 2;
190
- }
191
-
192
- .pagination-next {
193
- order: 3;
194
- }
195
-
196
- .pagination {
197
- justify-content: space-between;
198
- }
199
-
200
- .pagination-previous {
201
- order: 1;
202
- }
203
-
204
- .pagination-list {
205
- justify-content: center;
206
- order: 2;
207
- }
208
-
209
- .pagination-next {
210
- order: 3;
211
- }
212
168
  }
213
169
 
214
170
  @media screen and (max-width: 1023px) {
@@ -222,7 +178,7 @@
222
178
  .navbar-menu.is-active {
223
179
  display: block;
224
180
  position: fixed;
225
- top: 4rem;
181
+ top: 3.5rem;
226
182
  left: 0;
227
183
  width: 100%;
228
184
  height: 100vh;
@@ -8,68 +8,68 @@
8
8
  }
9
9
 
10
10
  .tags-hero {
11
+ position: relative;
11
12
  display: grid;
12
- grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem);
13
- gap: 1.25rem;
14
- align-items: start;
15
- padding-bottom: 1.25rem;
13
+ gap: 0.6rem;
14
+ padding-bottom: 1.5rem;
16
15
  border-bottom: 1px solid var(--tags-line);
17
16
  }
18
17
 
18
+ .tags-hero::after {
19
+ content: "";
20
+ position: absolute;
21
+ bottom: -5px;
22
+ left: 0;
23
+ right: 0;
24
+ height: 2.5px;
25
+ background: color-mix(in oklch, var(--text) 50%, var(--base));
26
+ }
27
+
19
28
  .tags-eyebrow {
20
- margin: 0 0 0.35rem;
29
+ display: flex;
30
+ flex-wrap: wrap;
31
+ align-items: baseline;
32
+ gap: 0.5rem;
33
+ margin: 0;
21
34
  color: var(--tags-muted);
22
35
  font-family: var(--font-mono);
23
- font-size: 0.75rem;
36
+ font-size: 0.68rem;
24
37
  font-weight: 600;
25
- letter-spacing: 0.08em;
38
+ letter-spacing: 0.18em;
26
39
  text-transform: uppercase;
27
40
  }
28
41
 
29
- .tags-hero h1 {
30
- margin: 0;
31
- color: var(--text);
32
- font-family: var(--font-serif);
33
- font-size: 2.75rem;
34
- font-weight: 700;
35
- line-height: 1;
36
- letter-spacing: 0;
42
+ .tags-hero__sep {
43
+ opacity: 0.3;
37
44
  }
38
45
 
39
- .tags-hero__summary {
40
- max-width: 34rem;
41
- margin: 1rem 0 0;
42
- color: var(--subtext1);
46
+ .tags-hero__roman {
47
+ position: absolute;
48
+ right: 0;
49
+ bottom: 1.5rem;
50
+ color: var(--text);
43
51
  font-family: var(--font-serif);
44
- font-style: italic;
45
- }
46
-
47
- .tags-stats {
48
- display: grid;
49
- gap: 0.45rem;
50
- margin: 0;
51
- }
52
-
53
- .tags-stats > div {
54
- display: grid;
55
- grid-template-columns: 4.5rem minmax(0, 1fr);
56
- gap: 0.65rem;
57
- align-items: baseline;
58
- }
59
-
60
- .tags-stats dt {
61
- color: var(--tags-muted);
62
- font-family: var(--font-mono);
63
- font-size: 0.72rem;
64
- text-transform: uppercase;
52
+ font-size: 5rem;
53
+ font-weight: 400;
54
+ letter-spacing: 0.02em;
55
+ opacity: 0.06;
56
+ line-height: 1;
57
+ pointer-events: none;
58
+ user-select: none;
65
59
  }
66
60
 
67
- .tags-stats dd {
68
- min-width: 0;
61
+ .tags-hero h1 {
69
62
  margin: 0;
70
63
  color: var(--text);
71
- font-weight: 700;
72
- overflow-wrap: anywhere;
64
+ font-family: var(--font-serif);
65
+ font-style: italic;
66
+ font-synthesis: none;
67
+ font-size: 3.5rem;
68
+ font-weight: 500;
69
+ line-height: 1;
70
+ letter-spacing: -0.02em;
71
+ position: relative;
72
+ z-index: 1;
73
73
  }
74
74
 
75
75
  .tags-index {
@@ -142,23 +142,12 @@
142
142
  gap: 1.25rem;
143
143
  }
144
144
 
145
- .tags-hero {
146
- grid-template-columns: 1fr;
147
- }
148
-
149
145
  .tags-hero h1 {
150
- font-size: 2.35rem;
151
- }
152
-
153
- .tags-stats {
154
- grid-template-columns: repeat(3, minmax(0, 1fr));
155
- gap: 0.5rem;
146
+ font-size: 2.6rem;
156
147
  }
157
148
 
158
- .tags-stats > div {
159
- display: block;
160
- border-left: 1px solid color-mix(in oklch, var(--tags-line) 72%, transparent);
161
- padding: 0 0 0 0.6rem;
149
+ .tags-hero__roman {
150
+ font-size: 3.5rem;
162
151
  }
163
152
  }
164
153
 
@@ -168,7 +157,12 @@
168
157
  }
169
158
 
170
159
  .tags-hero h1 {
171
- font-size: 2rem;
160
+ font-size: 2.1rem;
161
+ }
162
+
163
+ .tags-hero__roman {
164
+ font-size: 2.5rem;
165
+ opacity: 0.04;
172
166
  }
173
167
 
174
168
  .tags-index {