hexo-theme-gnix 11.0.0 → 13.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.
@@ -1,14 +1,13 @@
1
1
  .callout {
2
2
  --callout-color: var(--blue);
3
- --callout-icon: lucide-pencil;
4
3
  --callout-collapse-icon: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0ibTkgMThsNi02bC02LTYiLz48L3N2Zz4=);
5
- background-color: hsl(from var(--callout-color) h s l / 0.2);
4
+ background-color: hsl(from var(--callout-color) h s l / 0.15);
6
5
  border-color: hsl(from var(--callout-color) h s l / 0.5);
7
6
  border-radius: 8px;
8
7
  border-style: solid;
9
8
  border-width: 1.5px;
10
9
  margin: 1.5em 0 !important;
11
- padding: 10px 12px 10px 15px;
10
+ padding: 10px 15px;
12
11
 
13
12
  svg {
14
13
  color: var(--callout-color);
@@ -18,19 +17,44 @@
18
17
  .callout-title {
19
18
  align-items: center;
20
19
  color: var(--callout-color);
21
- cursor: pointer;
22
20
  display: flex;
23
21
  font-size: inherit;
24
22
  font-weight: bold;
25
23
  gap: 7px;
26
24
  line-height: 1.3;
27
25
  padding: 0;
26
+ list-style: none;
27
+ }
28
+
29
+ .callout-title::-webkit-details-marker,
30
+ .callout-title::marker {
31
+ display: none;
32
+ }
33
+
34
+ details.callout > .callout-title {
35
+ cursor: pointer;
36
+ user-select: none;
37
+ }
38
+
39
+ details.callout > .callout-title:hover {
40
+ color: hsl(from var(--callout-color) h s calc(l + 5));
28
41
  }
29
42
 
30
- .callout-icon {
43
+ .callout-icon,
44
+ .callout-title-icon {
31
45
  flex: 0 0 auto;
32
46
  display: flex;
33
47
  align-items: center;
48
+
49
+ svg {
50
+ width: 1.1em;
51
+ height: 1.1em;
52
+ }
53
+ }
54
+
55
+ .callout-title-inner {
56
+ flex: 1 1 auto;
57
+ min-width: 0;
34
58
  }
35
59
 
36
60
  .callout-fold {
@@ -39,47 +63,48 @@
39
63
  mask-size: 100%;
40
64
  -webkit-mask-image: var(--callout-collapse-icon);
41
65
  -webkit-mask-size: 100%;
42
- height: 20px;
43
- width: 20px;
44
- transition: 0.1s ease-in-out;
66
+ height: 1em;
67
+ width: 1em;
68
+ flex: 0 0 auto;
69
+ transition: transform 0.15s ease-in-out;
70
+ }
71
+
72
+ details[open].callout > .callout-title > .callout-fold {
73
+ transform: rotate(90deg);
45
74
  }
46
75
 
47
76
  .callout-content {
48
77
  padding: 0;
49
78
  }
50
79
 
51
- details[close].callout > .callout-title > .callout-fold {
52
- transform: rotate(-90deg);
80
+ .callout-content > :first-child {
81
+ margin-top: 0.5em;
53
82
  }
54
83
 
55
- details[open].callout > .callout-title > .callout-fold {
56
- transform: rotate(90deg);
84
+ .callout-content > :last-child {
85
+ margin-bottom: 0;
57
86
  }
58
87
 
59
88
  .callout[data-callout="info"],
60
89
  .callout[data-callout="todo"] {
61
- --callout-icon: lucide-check-circle-2;
62
90
  --callout-color: var(--sapphire);
63
91
  }
64
92
 
65
93
  .callout[data-callout="success"],
66
94
  .callout[data-callout="check"],
67
95
  .callout[data-callout="done"] {
68
- --callout-icon: lucide-check;
69
96
  --callout-color: var(--green);
70
97
  }
71
98
 
72
99
  .callout[data-callout="warning"],
73
100
  .callout[data-callout="caution"],
74
101
  .callout[data-callout="attention"] {
75
- --callout-icon: lucide-alert-triangle;
76
102
  --callout-color: var(--peach);
77
103
  }
78
104
 
79
105
  .callout[data-callout="question"],
80
106
  .callout[data-callout="help"],
81
107
  .callout[data-callout="faq"] {
82
- --callout-icon: lucide-alert-mark;
83
108
  --callout-color: var(--yellow);
84
109
  }
85
110
 
@@ -89,31 +114,26 @@ details[open].callout > .callout-title > .callout-fold {
89
114
  .callout[data-callout="failure"],
90
115
  .callout[data-callout="fail"],
91
116
  .callout[data-callout="missing"] {
92
- --callout-icon: lucide-zap;
93
117
  --callout-color: var(--red);
94
118
  }
95
119
 
96
120
  .callout[data-callout="tip"],
97
121
  .callout[data-callout="hint"],
98
122
  .callout[data-callout="important"] {
99
- --callout-icon: lucide-flame;
100
123
  --callout-color: var(--pink);
101
124
  }
102
125
 
103
126
  .callout[data-callout="example"] {
104
- --callout-icon: lucide-list;
105
127
  --callout-color: var(--mauve);
106
128
  }
107
129
 
108
130
  .callout[data-callout="abstract"],
109
131
  .callout[data-callout="summary"],
110
132
  .callout[data-callout="tldr"] {
111
- --callout-icon: lucide-clipboard-list;
112
133
  --callout-color: var(--teal);
113
134
  }
114
135
 
115
136
  .callout[data-callout="quote"],
116
137
  .callout[data-callout="cite"] {
117
- --callout-icon: quote-glyph;
118
138
  --callout-color: var(--lavender);
119
139
  }
@@ -254,6 +254,33 @@ body {
254
254
  font-family: var(--font-sans-serif);
255
255
  }
256
256
 
257
+ .site-toast {
258
+ position: fixed;
259
+ top: 10rem;
260
+ left: 50%;
261
+ z-index: 102;
262
+ max-width: min(90vw, 32rem);
263
+ padding: 0.7rem 1rem;
264
+ border: 1px solid var(--surface2);
265
+ border-radius: 0.75rem;
266
+ background: var(--surface1);
267
+ color: var(--text);
268
+ box-shadow: 0 0.75rem 2rem -1rem hsl(from var(--text) h s l / 0.35);
269
+ font-size: 0.875rem;
270
+ line-height: 1.35;
271
+ pointer-events: none;
272
+ opacity: 0;
273
+ transform: translateX(-50%) translateY(-2rem);
274
+ transition:
275
+ opacity 160ms ease,
276
+ transform 160ms ease;
277
+ }
278
+
279
+ .site-toast.is-visible {
280
+ opacity: 1;
281
+ transform: translateX(-50%) translateY(0);
282
+ }
283
+
257
284
  .navbar-main,
258
285
  .navbar-menu {
259
286
  user-select: none;
@@ -532,7 +559,8 @@ html {
532
559
  .navbar {
533
560
  min-height: 4rem;
534
561
  position: sticky;
535
- top: env(safe-area-inset-top);
562
+ padding-top: env(safe-area-inset-top);
563
+ top: 0;
536
564
  left: 0;
537
565
  right: 0;
538
566
  z-index: 100;
@@ -578,23 +606,6 @@ html {
578
606
  transition: color 0.18s ease;
579
607
  }
580
608
 
581
- .navbar-start .navbar-item.is-active {
582
- color: var(--text);
583
- font-weight: 500;
584
- }
585
-
586
- .navbar-start .navbar-item.is-active::after {
587
- content: "";
588
- position: absolute;
589
- left: 50%;
590
- bottom: 0.875rem;
591
- width: 1.45em;
592
- height: 1px;
593
- background: currentColor;
594
- opacity: 0.36;
595
- transform: translateX(-50%);
596
- }
597
-
598
609
  .navbar-end {
599
610
  svg {
600
611
  width: 1.2em;
@@ -688,56 +699,6 @@ html {
688
699
 
689
700
  /* #endregion Pagination */
690
701
 
691
- /* #region Tabs */
692
-
693
- .tabs-tabs-wrapper {
694
- overflow: hidden;
695
- margin: 10px auto;
696
- }
697
-
698
- .tabs-tabs-header {
699
- padding: 0 0.5rem;
700
- white-space: nowrap;
701
- overflow-x: auto;
702
- overflow-y: hidden;
703
- }
704
-
705
- .tabs-tab-button {
706
- padding: 0.5em 1rem;
707
- border: none;
708
- border-bottom: 2px solid transparent;
709
- background: 0 0;
710
- font-size: 1em;
711
- cursor: pointer;
712
- position: relative;
713
- transition: color 0.3s ease;
714
- outline: 0;
715
- color: var(--subtext0);
716
- flex: 0 0 auto;
717
- white-space: nowrap;
718
-
719
- &:hover,
720
- &.active {
721
- color: var(--text);
722
- border-color: var(--text);
723
- }
724
- }
725
-
726
- .tabs-tabs-container {
727
- padding: 0.8em 0 10px 0;
728
- }
729
-
730
- .tabs-tab-content {
731
- display: none;
732
- }
733
-
734
- .tabs-tab-content.active,
735
- .tabs-tab-content[data-active] {
736
- display: block;
737
- }
738
-
739
- /* #endregion Tabs */
740
-
741
702
  .section {
742
703
  padding: 3rem 1.5rem;
743
704
  flex-grow: 1;
@@ -757,61 +718,51 @@ html {
757
718
 
758
719
  .footer {
759
720
  user-select: none;
760
- padding: 3rem 1.5rem 6rem;
761
721
  position: relative;
762
- border-top: 0.5px solid var(--surface0);
763
-
764
- iconify-icon {
765
- font-size: 1.2rem;
766
- }
767
- }
768
-
769
- .footer-grid {
770
- display: grid;
771
- grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
772
- grid-gap: 1.5rem;
773
- align-items: start;
722
+ padding: 4rem 1.5rem 3rem;
723
+ text-align: center;
724
+ color: var(--overlay0);
774
725
  }
775
726
 
776
- .footer-column {
727
+ .footer-brand {
777
728
  display: flex;
778
729
  flex-direction: column;
779
- gap: 0.5rem;
730
+ align-items: center;
731
+ gap: 0.25rem;
780
732
  }
781
733
 
782
- .footer-title {
783
- font-family: homemade-apple, var(--font-handwriting);
784
- font-weight: bolder;
785
- font-size: 1.1rem;
786
- margin-bottom: 0.25rem;
734
+ .footer-credit {
735
+ font-size: 0.75rem;
736
+ font-weight: 400;
737
+ margin: 0;
738
+ letter-spacing: 0.06em;
787
739
  }
788
740
 
789
- .footer-heading {
790
- font-weight: bolder;
791
- font-family: var(--font-serif);
741
+ .footer-author {
742
+ font-size: 0.8125rem;
792
743
  font-style: italic;
793
- font-size: 1.1rem;
794
- margin-bottom: 0.25rem;
744
+ font-family: homemade-apple, var(--font-handwriting);
745
+ color: var(--subtext0);
746
+ font-weight: 600;
747
+ letter-spacing: 0.01em;
795
748
  }
796
749
 
797
750
  .footer-meta {
798
- font-size: 0.75rem;
799
- color: var(--subtext0);
800
- line-height: 1.6;
751
+ font-size: 0.65rem;
752
+ font-weight: 400;
753
+ margin: 0;
754
+ line-height: 1.8;
755
+ letter-spacing: 0.02em;
801
756
  }
802
757
 
803
- .footer-links {
804
- display: flex;
805
- flex-wrap: wrap;
806
- gap: 0.5rem 1rem;
807
- align-items: center;
758
+ .footer-icp {
759
+ color: inherit;
760
+ text-decoration: none;
761
+ transition: color 0.2s ease;
808
762
  }
809
763
 
810
- .footer-link {
811
- display: inline-flex;
812
- align-items: center;
813
- gap: 0.4rem;
814
- color: var(--subtext0);
764
+ .footer-icp:hover {
765
+ color: var(--lavender);
815
766
  }
816
767
 
817
768
  /* #endregion Footer */
@@ -940,8 +891,7 @@ html {
940
891
  margin-bottom: 0.5rem;
941
892
  }
942
893
 
943
- p:last-child,
944
- .tabs-tabs-wrapper:last-child {
894
+ p:last-child {
945
895
  margin-bottom: 0;
946
896
  }
947
897
 
@@ -1157,13 +1107,19 @@ article.card-content .content :is(h1, h2, h3, h4, h5, h6, strong, b, th) {
1157
1107
  font-size: 0.9em;
1158
1108
  }
1159
1109
 
1160
- table {
1161
- width: 100%;
1162
- border-collapse: collapse;
1163
- border-spacing: 0;
1164
- overflow: auto;
1165
- margin: 1rem 0;
1166
- font-size: 1rem;
1110
+ .table-wrapper {
1111
+ max-width: 100%;
1112
+ margin: 1.5em 0;
1113
+ overflow-x: auto;
1114
+
1115
+ table {
1116
+ min-width: max-content;
1117
+ width: 100%;
1118
+ border-collapse: collapse;
1119
+ border-spacing: 0;
1120
+ overflow: auto;
1121
+ margin: 1rem 0;
1122
+ }
1167
1123
  }
1168
1124
 
1169
1125
  td,
@@ -1293,7 +1249,6 @@ small {
1293
1249
  /* #endregion Content */
1294
1250
 
1295
1251
  article,
1296
- aside,
1297
1252
  figure,
1298
1253
  footer,
1299
1254
  header,
@@ -2382,7 +2337,7 @@ input.searchbox-input {
2382
2337
  font-size: 1.8rem;
2383
2338
  }
2384
2339
  .toc-level-3 & {
2385
- color: var(--subtext1);
2340
+ color: var(--overlay1);
2386
2341
  font-size: 1.5rem;
2387
2342
  }
2388
2343
  .toc-level-4 & {
@@ -19,7 +19,12 @@
19
19
  opacity: 0;
20
20
  transition: opacity 0.2s ease;
21
21
  }
22
- .mermaid-wrapper:hover .mermaid-toolbar {
22
+ @media (hover: hover) and (pointer: fine) {
23
+ .mermaid-wrapper:hover .mermaid-toolbar {
24
+ opacity: 1;
25
+ }
26
+ }
27
+ .mermaid-wrapper.is-controls-visible .mermaid-toolbar {
23
28
  opacity: 1;
24
29
  }
25
30
  .mermaid-view-container {
@@ -57,7 +62,12 @@
57
62
  grid-template-rows: repeat(3, 1fr);
58
63
  gap: 4px;
59
64
  }
60
- .mermaid-wrapper:hover .mermaid-viewer-grid-panel {
65
+ @media (hover: hover) and (pointer: fine) {
66
+ .mermaid-wrapper:hover .mermaid-viewer-grid-panel {
67
+ opacity: 1;
68
+ }
69
+ }
70
+ .mermaid-wrapper.is-controls-visible .mermaid-viewer-grid-panel {
61
71
  opacity: 1;
62
72
  }
63
73
  .mermaid-viewer-grid-panel .grid-row {
@@ -112,10 +122,6 @@
112
122
  .mermaid-wrapper {
113
123
  border-radius: 3px;
114
124
  }
115
- .mermaid-toolbar,
116
- .mermaid-viewer-grid-panel {
117
- opacity: 1;
118
- }
119
125
  .btn {
120
126
  width: 28px;
121
127
  height: 28px;
@@ -56,7 +56,8 @@ figure.shiki {
56
56
  overflow: auto;
57
57
  background: var(--mantle);
58
58
  color: var(--text);
59
- iconify-icon {
59
+ svg {
60
+ width: 1em;
60
61
  color: transparent;
61
62
  cursor: pointer;
62
63
  transition:
@@ -65,7 +66,7 @@ figure.shiki {
65
66
  }
66
67
 
67
68
  &:hover {
68
- iconify-icon {
69
+ svg {
69
70
  color: var(--text);
70
71
  &:hover {
71
72
  color: var(--blue);
@@ -165,13 +166,13 @@ figure.shiki {
165
166
  align-items: center;
166
167
  font-size: 1em;
167
168
  cursor: pointer;
168
- > iconify-icon {
169
+ > svg {
169
170
  padding: 6px 0;
170
171
  animation: code-expand-pulse 1.2s infinite;
171
172
  transition: transform 0.3s ease;
172
173
  }
173
174
 
174
- &.expand-done > iconify-icon {
175
+ &.expand-done > svg {
175
176
  transform: rotate(180deg);
176
177
  }
177
178
  }