@xingwangzhe/stalux 1.29.7 → 1.30.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 (115) hide show
  1. package/README.md +6 -2
  2. package/package.json +10 -6
  3. package/src/components/stalux/archives/archivesList.astro +22 -16
  4. package/src/components/stalux/archives/toArchive.astro +2 -2
  5. package/src/components/stalux/categories/categoriesCard.astro +8 -7
  6. package/src/components/stalux/categories/categoriesList.astro +3 -2
  7. package/src/components/stalux/common/author.astro +3 -3
  8. package/src/components/stalux/common/date.astro +3 -4
  9. package/src/components/stalux/common/textType.astro +2 -2
  10. package/src/components/stalux/footer/FooterBadges.astro +9 -97
  11. package/src/components/stalux/footer/FooterBeian.astro +2 -44
  12. package/src/components/stalux/footer/FooterCopyright.astro +1 -16
  13. package/src/components/stalux/footer/FooterStats.astro +4 -25
  14. package/src/components/stalux/footer/FooterThemeInfo.astro +1 -28
  15. package/src/components/stalux/layout/footer.astro +3 -3
  16. package/src/components/stalux/layout/listPage.astro +3 -3
  17. package/src/components/stalux/layout/navs.astro +13 -13
  18. package/src/components/stalux/links/linkCard.astro +7 -6
  19. package/src/components/stalux/links/linkList.astro +4 -3
  20. package/src/components/stalux/links/socialMedia.astro +2 -2
  21. package/src/components/stalux/posts/PostTaxonomy.astro +13 -8
  22. package/src/components/stalux/posts/postAuthor.astro +6 -5
  23. package/src/components/stalux/posts/postCC.astro +10 -9
  24. package/src/components/stalux/posts/postCard.astro +15 -15
  25. package/src/components/stalux/posts/postContent.astro +22 -14
  26. package/src/components/stalux/posts/postLeft.astro +5 -4
  27. package/src/components/stalux/posts/postList.astro +2 -3
  28. package/src/components/stalux/posts/postNavigation.astro +24 -23
  29. package/src/components/stalux/posts/postRight.astro +7 -6
  30. package/src/components/stalux/posts/postToc.astro +7 -19
  31. package/src/components/stalux/posts/randomPost.astro +8 -7
  32. package/src/components/stalux/tags/tagHeader.astro +10 -6
  33. package/src/components/stalux/tags/tagsCloud.astro +10 -9
  34. package/src/components/stalux/words/wordCard.astro +11 -10
  35. package/src/components/stalux/words/wordList.astro +4 -3
  36. package/src/index.ts +5 -4
  37. package/src/internal/runtime-cache-key.ts +13 -1
  38. package/src/layouts/PostLayout.astro +3 -4
  39. package/src/layouts/Stalux.astro +0 -17
  40. package/src/pages/404.astro +6 -77
  41. package/src/pages/archives.astro +3 -3
  42. package/src/pages/categories/index.astro +3 -3
  43. package/src/pages/index.astro +4 -18
  44. package/src/pages/tags/index.astro +3 -3
  45. package/src/pages/words.astro +3 -3
  46. package/src/scripts/analytics-runtime.ts +9 -6
  47. package/src/scripts/waline-client.ts +1 -1
  48. package/src/styles/archives.css +2 -0
  49. package/src/styles/article.css +2 -0
  50. package/src/styles/categories.css +2 -0
  51. package/src/styles/components/posts/waline.css +19 -23
  52. package/src/styles/generated-archives.css +3 -0
  53. package/src/styles/generated-article.css +3 -0
  54. package/src/styles/generated-categories.css +3 -0
  55. package/src/styles/generated-links.css +3 -0
  56. package/src/styles/generated-prose.css +2 -0
  57. package/src/styles/generated-tags.css +3 -0
  58. package/src/styles/generated-waline.css +2 -0
  59. package/src/styles/generated-words.css +3 -0
  60. package/src/styles/generated.css +3 -0
  61. package/src/styles/links.css +2 -0
  62. package/src/styles/prose.css +3 -0
  63. package/src/styles/tags.css +2 -0
  64. package/src/styles/theme/archives.css +138 -0
  65. package/src/styles/theme/article.css +562 -0
  66. package/src/styles/theme/base.css +290 -0
  67. package/src/styles/theme/categories.css +54 -0
  68. package/src/styles/theme/common.css +79 -0
  69. package/src/styles/theme/footer.css +26 -0
  70. package/src/styles/theme/inline.css +153 -0
  71. package/src/styles/theme/layout.css +143 -0
  72. package/src/styles/theme/link-cards.css +114 -0
  73. package/src/styles/theme/links.css +69 -0
  74. package/src/styles/theme/pages.css +35 -0
  75. package/src/styles/theme/posts.css +79 -0
  76. package/src/styles/theme/prose.css +478 -0
  77. package/src/styles/theme/tags.css +130 -0
  78. package/src/styles/theme/words.css +84 -0
  79. package/src/styles/theme.css +12 -0
  80. package/src/styles/words.css +2 -0
  81. package/src/styles/base/init.css +0 -287
  82. package/src/styles/components/archives/archivesList.module.css +0 -203
  83. package/src/styles/components/archives/toArchive.module.css +0 -3
  84. package/src/styles/components/categories/categoriesCard.module.css +0 -88
  85. package/src/styles/components/categories/categoriesList.module.css +0 -23
  86. package/src/styles/components/common/author.module.css +0 -72
  87. package/src/styles/components/common/date.module.css +0 -15
  88. package/src/styles/components/common/textType.module.css +0 -10
  89. package/src/styles/components/footer/footer.module.css +0 -44
  90. package/src/styles/components/layout/navs.module.css +0 -261
  91. package/src/styles/components/links/linkCard.module.css +0 -116
  92. package/src/styles/components/links/linkList.module.css +0 -54
  93. package/src/styles/components/links/socialLinks.module.css +0 -80
  94. package/src/styles/components/markdown.css +0 -523
  95. package/src/styles/components/posts/postAuthor.module.css +0 -31
  96. package/src/styles/components/posts/postCC.module.css +0 -138
  97. package/src/styles/components/posts/postCard.module.css +0 -167
  98. package/src/styles/components/posts/postContent.module.css +0 -238
  99. package/src/styles/components/posts/postLayout.module.css +0 -138
  100. package/src/styles/components/posts/postList.module.css +0 -25
  101. package/src/styles/components/posts/postNavigation.module.css +0 -186
  102. package/src/styles/components/posts/postSidebar.module.css +0 -59
  103. package/src/styles/components/posts/postTaxonomy.module.css +0 -87
  104. package/src/styles/components/posts/postToc.module.css +0 -74
  105. package/src/styles/components/posts/randomPost.module.css +0 -131
  106. package/src/styles/components/tags/tagHeader.module.css +0 -44
  107. package/src/styles/components/tags/tagsCloud.module.css +0 -155
  108. package/src/styles/components/words/wordCard.module.css +0 -136
  109. package/src/styles/components/words/wordList.module.css +0 -26
  110. package/src/styles/pages/archives.module.css +0 -22
  111. package/src/styles/pages/categories.module.css +0 -17
  112. package/src/styles/pages/home.module.css +0 -61
  113. package/src/styles/pages/listPage.module.css +0 -16
  114. package/src/styles/pages/tags.module.css +0 -16
  115. package/src/styles/pages/words.module.css +0 -16
@@ -0,0 +1,143 @@
1
+ @layer components {
2
+ /* navs */
3
+ nav {
4
+ @apply w-full min-w-0 max-w-full;
5
+ }
6
+ .stalux-nav-scroll-btn:hover {
7
+ background: transparent;
8
+ }
9
+
10
+ .stalux-nav-scroll-btn[data-visible] {
11
+ opacity: 1;
12
+ pointer-events: auto;
13
+ }
14
+
15
+ .stalux-nav-scroll-btn[data-side="left"] {
16
+ left: 4px;
17
+ }
18
+
19
+ .stalux-nav-scroll-btn[data-side="right"] {
20
+ right: 4px;
21
+ }
22
+ .stalux-nav-container:hover .stalux-nav-scroll-btn[data-visible] {
23
+ opacity: 1;
24
+ }
25
+ .stalux-nav-scroll-btn svg {
26
+ width: 20px;
27
+ height: 20px;
28
+ stroke: currentColor;
29
+ stroke-width: 2;
30
+ fill: none;
31
+ }
32
+
33
+ .stalux-nav-link,
34
+ .stalux-nav-link:visited {
35
+ @apply text-inherit no-underline cursor-pointer stalux-flex-row w-full;
36
+ background: none;
37
+ border: none;
38
+ font: inherit;
39
+ padding: 0.5rem 0.75rem;
40
+ gap: 0.5rem;
41
+ min-height: 44px;
42
+ }
43
+
44
+ .stalux-nav-link .nav-icon {
45
+ stroke: var(--white-full);
46
+ }
47
+
48
+ .stalux-nav-link:hover .nav-icon,
49
+ .stalux-nav-link:hover .stalux-nav-text {
50
+ stroke: var(--stalux-accent-color);
51
+ color: var(--stalux-accent-color);
52
+ }
53
+
54
+ .stalux-nav-toggle svg {
55
+ width: 32px;
56
+ height: 32px;
57
+ }
58
+
59
+ .stalux-nav-overlay[data-state="show"] {
60
+ @apply block;
61
+ opacity: 1;
62
+ pointer-events: auto;
63
+ }
64
+ @media (max-width: 1100px) {
65
+ .stalux-nav-list {
66
+ gap: 1rem;
67
+ }
68
+
69
+ .stalux-nav-item {
70
+ font-size: 1em;
71
+ margin-right: 0.6em;
72
+ margin-left: 0.6em;
73
+ }
74
+ }
75
+ @media (max-width: 900px) {
76
+ .stalux-nav-item {
77
+ font-size: 0.95em;
78
+ margin-right: 0.25em;
79
+ margin-left: 0.25em;
80
+ }
81
+
82
+ .stalux-nav-list {
83
+ gap: 0.5rem;
84
+ }
85
+ }
86
+ @media (max-width: 600px) {
87
+ .stalux-nav-toggle {
88
+ @apply block fixed;
89
+ top: 0.75rem;
90
+ left: 0.75rem;
91
+ }
92
+
93
+ .stalux-nav-container {
94
+ overflow: visible;
95
+ }
96
+
97
+ nav {
98
+ width: auto;
99
+ }
100
+
101
+ .stalux-nav-list {
102
+ @apply fixed flex-col items-start justify-start overflow-y-auto pointer-events-none;
103
+ top: 0;
104
+ left: 0;
105
+ right: auto;
106
+ width: min(220px, calc(100vw - 1rem));
107
+ height: 100vh;
108
+ background: var(--black-20p);
109
+ backdrop-filter: blur(20px);
110
+ gap: 0;
111
+ padding: 0.5rem 1rem 2rem 1rem;
112
+ transform: translateX(-100%);
113
+ z-index: 1000;
114
+ }
115
+
116
+ .stalux-nav-list[data-state="open"] {
117
+ transform: translateX(0);
118
+ pointer-events: auto;
119
+ }
120
+
121
+ .stalux-nav-item {
122
+ @apply w-full m-0 shrink-0;
123
+ border-bottom: 1px solid var(--white-10p);
124
+ font-size: 0.9em;
125
+ }
126
+
127
+ .stalux-nav-text {
128
+ display: inline;
129
+ }
130
+
131
+ .stalux-nav-link {
132
+ @apply w-full;
133
+ padding: 0.45rem 0.75rem;
134
+ min-height: 44px;
135
+ font-size: inherit;
136
+ }
137
+
138
+ .stalux-nav-link .nav-icon {
139
+ width: 18px;
140
+ height: 18px;
141
+ }
142
+ }
143
+ }
@@ -0,0 +1,114 @@
1
+ @layer components {
2
+ /* linkList */
3
+ @media (min-width: 1400px) {
4
+ .stalux-links {
5
+ grid-template-columns: repeat(5, 1fr);
6
+ }
7
+ }
8
+ @media (1100px <= width <= 1399px) {
9
+ .stalux-links {
10
+ grid-template-columns: repeat(4, 1fr);
11
+ }
12
+ }
13
+ @media (768px <= width <= 1099px) {
14
+ .stalux-links {
15
+ grid-template-columns: repeat(3, 1fr);
16
+ }
17
+ }
18
+ @media (480px <= width <= 767px) {
19
+ .stalux-links {
20
+ grid-template-columns: repeat(2, 1fr);
21
+ gap: 16px;
22
+ }
23
+ }
24
+ @media (max-width: 479px) {
25
+ .stalux-links {
26
+ grid-template-columns: 1fr;
27
+ gap: 14px;
28
+ margin: 20px auto;
29
+ }
30
+ }
31
+
32
+ /* linkCard */
33
+
34
+ .stalux-link-card:hover {
35
+ transform: translateY(-3px);
36
+ background: var(--white-05p);
37
+ box-shadow: var(--card-box-shadow-hover);
38
+ }
39
+
40
+ .stalux-link-card-avatar img {
41
+ @apply rounded-full object-cover;
42
+ width: 80px;
43
+ height: 80px;
44
+ border: 2px solid var(--accent-60p);
45
+ transform-origin: center;
46
+ transition:
47
+ transform 220ms ease,
48
+ border-color 220ms ease;
49
+ }
50
+
51
+ .stalux-link-card:hover .stalux-link-card-avatar img {
52
+ transform: scale(1.04);
53
+ animation: stalux-link-avatar-spin 700ms ease-in-out 1;
54
+ box-shadow: 0 0 20px var(--accent-50p);
55
+ border-color: var(--accent-85p);
56
+ }
57
+
58
+ @keyframes stalux-link-avatar-spin {
59
+ from {
60
+ transform: rotate(0deg) scale(1.04);
61
+ }
62
+ to {
63
+ transform: rotate(360deg) scale(1.04);
64
+ }
65
+ }
66
+
67
+ .stalux-link-card-title {
68
+ @apply whitespace-nowrap overflow-hidden;
69
+ font-size: 1.1rem;
70
+ margin: 0 0 8px 0;
71
+ background: linear-gradient(90deg, var(--white-95p), var(--accent-90p));
72
+ background-clip: text;
73
+ -webkit-text-fill-color: transparent;
74
+ text-overflow: ellipsis;
75
+ }
76
+
77
+ .stalux-link-card-description {
78
+ @apply m-0 overflow-hidden;
79
+ font-size: 0.95rem;
80
+ color: var(--white-78p);
81
+ line-height: 1.45;
82
+ display: -webkit-box;
83
+ -webkit-line-clamp: 3;
84
+ -webkit-box-orient: vertical;
85
+ text-overflow: ellipsis;
86
+ }
87
+
88
+ @media (max-width: 480px) {
89
+ .stalux-link-card {
90
+ padding: 14px;
91
+ }
92
+
93
+ .stalux-link-card-avatar img {
94
+ width: 70px;
95
+ height: 70px;
96
+ }
97
+
98
+ .stalux-link-card-title {
99
+ font-size: 1rem;
100
+ }
101
+
102
+ .stalux-link-card-description {
103
+ font-size: 0.9rem;
104
+ }
105
+ }
106
+
107
+ @media (prefers-reduced-motion: reduce) {
108
+ .stalux-link-card:hover .stalux-link-card-avatar img {
109
+ animation: none;
110
+ transform: none;
111
+ transition: none;
112
+ }
113
+ }
114
+ }
@@ -0,0 +1,69 @@
1
+ @layer components {
2
+ /* socialLinks */
3
+ .stalux-social {
4
+ margin-top: 3em;
5
+ ul {
6
+ @apply flex flex-wrap justify-center p-0 m-0;
7
+ gap: 1em;
8
+ li {
9
+ @apply inline-flex items-center justify-center text-center rounded-full box-border overflow-hidden;
10
+ font-size: large;
11
+ width: 2.5em;
12
+ height: 2.5em;
13
+ background-color: var(--white-15p);
14
+ }
15
+ a,
16
+ .stalux-social-icon-container,
17
+ .stalux-social-custom-icon {
18
+ @apply inline-flex items-center justify-center w-full h-full;
19
+ line-height: 1;
20
+ }
21
+ }
22
+ }
23
+
24
+ .stalux-social[data-stalux-social-animate="true"] li {
25
+ animation: stalux-social-stalux-social-arrive 280ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
26
+ }
27
+
28
+ .stalux-social[data-stalux-social-animate="true"] li:nth-child(2) {
29
+ animation-delay: 30ms;
30
+ }
31
+
32
+ .stalux-social[data-stalux-social-animate="true"] li:nth-child(3) {
33
+ animation-delay: 60ms;
34
+ }
35
+
36
+ .stalux-social[data-stalux-social-animate="true"] li:nth-child(4) {
37
+ animation-delay: 90ms;
38
+ }
39
+
40
+ .stalux-social[data-stalux-social-animate="true"] li:nth-child(5) {
41
+ animation-delay: 120ms;
42
+ }
43
+
44
+ .stalux-social[data-stalux-social-animate="true"] li:nth-child(6) {
45
+ animation-delay: 150ms;
46
+ }
47
+
48
+ .stalux-social[data-stalux-social-animate="true"] li:nth-child(n + 7) {
49
+ animation-delay: 180ms;
50
+ }
51
+
52
+ @keyframes stalux-social-stalux-social-arrive {
53
+ from {
54
+ opacity: 0;
55
+ transform: translateY(0.75rem) rotate(-12deg);
56
+ }
57
+
58
+ to {
59
+ opacity: 1;
60
+ transform: translateY(0) rotate(0);
61
+ }
62
+ }
63
+
64
+ @media (prefers-reduced-motion: reduce) {
65
+ .stalux-social[data-stalux-social-animate="true"] li {
66
+ animation: none;
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,35 @@
1
+ @layer components {
2
+ /* home */
3
+
4
+ #stalux-home-show-post-list {
5
+ @apply cursor-pointer;
6
+ margin-top: 3em;
7
+ font-size: 1.5em;
8
+ @apply stalux-glow;
9
+ }
10
+ @media (max-width: 768px) {
11
+ .stalux-home-body {
12
+ @apply w-full box-border;
13
+ height: auto;
14
+ padding: 2rem 0.5rem 1.5rem 0.5rem;
15
+ max-width: 95vw;
16
+ }
17
+ .stalux-home-title {
18
+ font-size: 2em;
19
+ margin-top: 1em;
20
+ word-break: break-all;
21
+ }
22
+ .stalux-home-navs {
23
+ @apply flex-col items-center;
24
+ gap: 0.5em;
25
+ }
26
+
27
+ .stalux-home-navs nav {
28
+ @apply w-full;
29
+ }
30
+ #stalux-home-show-post-list {
31
+ margin-top: 2em;
32
+ font-size: 1.1em;
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,79 @@
1
+ @layer components {
2
+ /* postList */
3
+ .stalux-post-list-container {
4
+ @apply w-full;
5
+ height: auto;
6
+ margin: 5px 0;
7
+ ul {
8
+ @apply flex flex-wrap stalux-list-bare;
9
+ gap: 2rem;
10
+ margin: 3em;
11
+ }
12
+
13
+ @media (max-width: 768px) {
14
+ ul {
15
+ margin: 1rem;
16
+ }
17
+ }
18
+
19
+ ul > li {
20
+ @apply min-w-0 m-0;
21
+ flex: 1 1 min(22rem, 100%);
22
+ }
23
+ }
24
+
25
+ /* postCard */
26
+
27
+ .stalux-card-post-title a {
28
+ @apply text-inherit no-underline;
29
+ }
30
+
31
+ .stalux-post-card > a:first-child {
32
+ @apply block w-full min-w-0;
33
+ }
34
+
35
+ .stalux-card-post-cover img {
36
+ @apply w-full max-w-full h-full object-cover;
37
+ transition: transform var(--transition-fast) ease;
38
+ }
39
+
40
+ .stalux-post-card:is(:hover, :focus-within) .stalux-card-post-cover img {
41
+ transform: scale(1.05);
42
+ }
43
+ .stalux-post-card:is(:hover, :focus-within) {
44
+ transform: translateY(-3px);
45
+ box-shadow: var(--card-box-shadow-hover);
46
+ }
47
+ .stalux-card-post-date,
48
+ .stalux-card-post-updated {
49
+ @apply inline-flex items-center w-fit;
50
+ gap: 0.35rem;
51
+ padding: 0.28rem 0.6rem;
52
+ border-radius: 10px;
53
+ font-size: 0.9rem;
54
+ line-height: 1.1;
55
+ color: #e8f2ff;
56
+ }
57
+ .stalux-card-post-date {
58
+ @apply [background:var(--date-bg)] [border:1px_solid_var(--date-border)] [color:#e8f2ff];
59
+ }
60
+
61
+ .stalux-card-post-updated {
62
+ @apply [background:var(--updated-bg)] [border:1px_solid_var(--updated-border)] [color:#fff7de];
63
+ }
64
+
65
+ .stalux-card-post-tags a {
66
+ @apply no-underline;
67
+ }
68
+ .stalux-card-post-tag:focus,
69
+ .stalux-card-post-tag:hover {
70
+ background: var(--tag-bg-hover);
71
+ }
72
+ .stalux-card-post-categories a {
73
+ @apply no-underline;
74
+ }
75
+ .stalux-card-post-category:focus,
76
+ .stalux-card-post-category:hover {
77
+ background: var(--category-bg-hover);
78
+ }
79
+ }