minearm-website 0.0.3-beta.2

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 (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +67 -0
  3. package/astro.config.ts +33 -0
  4. package/minearm.ts +174 -0
  5. package/package.json +64 -0
  6. package/public/13.jpg +0 -0
  7. package/public/1937daxue.png +0 -0
  8. package/public/3.png +0 -0
  9. package/public/404.png +0 -0
  10. package/public/5.jpg +0 -0
  11. package/public/BC.png +0 -0
  12. package/public/Chinese.png +0 -0
  13. package/public/avatar.avif +0 -0
  14. package/public/avatar.jpg +0 -0
  15. package/public/c++1.png +0 -0
  16. package/public/docker-hub.png +0 -0
  17. package/public/favicon.png +0 -0
  18. package/public/help1.png +0 -0
  19. package/public/heroimg.jpg +0 -0
  20. package/public/logo.png +0 -0
  21. package/public/mail.png +0 -0
  22. package/public/nahida.png +0 -0
  23. package/public/pojipao.avif +0 -0
  24. package/public/rust1.png +0 -0
  25. package/public/scripts/mdata.json +4 -0
  26. package/public/scripts/utils.js +190 -0
  27. package/public/xmrig.jpg +0 -0
  28. package/src/components/BodyInject.astro +5 -0
  29. package/src/components/HeadInject.astro +16 -0
  30. package/src/components/Search.astro +30 -0
  31. package/src/components/animation/bubbles.astro +82 -0
  32. package/src/components/animation/wave.astro +81 -0
  33. package/src/components/aside/announcement.astro +25 -0
  34. package/src/components/aside/aside.astro +32 -0
  35. package/src/components/aside/asideComps.astro +26 -0
  36. package/src/components/aside/authorInfo.astro +54 -0
  37. package/src/components/aside/blogToc.astro +26 -0
  38. package/src/components/aside/countScript.astro +18 -0
  39. package/src/components/aside/customCard.astro +23 -0
  40. package/src/components/aside/siteInfo.astro +51 -0
  41. package/src/components/client/searchCore.vue +77 -0
  42. package/src/components/client/themeControl.vue +77 -0
  43. package/src/components/footer/Footer.astro +32 -0
  44. package/src/components/header/Header.astro +40 -0
  45. package/src/components/header/HeaderButton.astro +59 -0
  46. package/src/components/header/HeaderItem.astro +63 -0
  47. package/src/components/header/heroWave.astro +19 -0
  48. package/src/components/header/searchBar.astro +21 -0
  49. package/src/components/icons/bilibili.astro +10 -0
  50. package/src/components/icons/c.astro +10 -0
  51. package/src/components/icons/code.astro +37 -0
  52. package/src/components/icons/computer.astro +4 -0
  53. package/src/components/icons/cube.astro +10 -0
  54. package/src/components/icons/game.astro +10 -0
  55. package/src/components/icons/getIcon.astro +64 -0
  56. package/src/components/icons/github.astro +10 -0
  57. package/src/components/icons/hardDriver.astro +10 -0
  58. package/src/components/icons/home.astro +14 -0
  59. package/src/components/icons/icon.ts +33 -0
  60. package/src/components/icons/icons.json +91961 -0
  61. package/src/components/icons/link.astro +4 -0
  62. package/src/components/icons/mail.astro +10 -0
  63. package/src/components/icons/paperPlane.astro +4 -0
  64. package/src/components/icons/pen.astro +14 -0
  65. package/src/components/icons/person.astro +14 -0
  66. package/src/components/icons/searchicon.astro +23 -0
  67. package/src/components/icons/tags.astro +10 -0
  68. package/src/components/icons/toTop.astro +10 -0
  69. package/src/components/icons/tools.astro +1 -0
  70. package/src/components/loading/loading.vue +185 -0
  71. package/src/components/postComment.astro +62 -0
  72. package/src/components/postlist/pagination.astro +40 -0
  73. package/src/components/postlist/postsList.astro +57 -0
  74. package/src/content/blog/default/Extended Search.md +50 -0
  75. package/src/content/blog/default/Mail.md +15 -0
  76. package/src/content/blog/default/history//345/205/254/345/205/203/345/211/215//347/247/246/345/247/213/347/232/207/347/273/237/344/270/200/345/205/255/345/233/275.md +40 -0
  77. package/src/content/blog/default/history//350/277/221/344/273/243/347/257/207//344/270/255/345/233/275/345/205/261/344/272/247/345/205/232/345/205/232/345/217/262.md +2361 -0
  78. package/src/content/blog/default/it/Rust/345/237/272/346/234/254/350/257/255/346/263/225.md +298 -0
  79. package/src/content/config.ts +38 -0
  80. package/src/env.d.ts +148 -0
  81. package/src/layouts/BaseLayout.astro +67 -0
  82. package/src/layouts/DefaultMdLayout.astro +46 -0
  83. package/src/layouts/HomeLayout.astro +27 -0
  84. package/src/layouts/PostLayout.astro +60 -0
  85. package/src/layouts/TagsLayout.astro +44 -0
  86. package/src/layouts/c.astro +42 -0
  87. package/src/layouts/h.astro +60 -0
  88. package/src/pages/404.md +10 -0
  89. package/src/pages/[...page].astro +46 -0
  90. package/src/pages/about/index.md +90 -0
  91. package/src/pages/blog/[...slug].astro +68 -0
  92. package/src/pages/categories/[category]/[...page].astro +45 -0
  93. package/src/pages/categories/index.astro +20 -0
  94. package/src/pages/friends/index.md +24 -0
  95. package/src/pages/rss.xml.js +20 -0
  96. package/src/pages/tags/[tag]/[...page].astro +42 -0
  97. package/src/pages/tags/index.astro +19 -0
  98. package/src/site_config.ts +15 -0
  99. package/src/styles/animation.scss +94 -0
  100. package/src/styles/blog/blog.scss +124 -0
  101. package/src/styles/blog/code.scss +111 -0
  102. package/src/styles/blog/directives.scss +356 -0
  103. package/src/styles/blog/index.scss +4 -0
  104. package/src/styles/blog/post.scss +474 -0
  105. package/src/styles/components/aside.scss +178 -0
  106. package/src/styles/components/footer.scss +74 -0
  107. package/src/styles/components/header.scss +421 -0
  108. package/src/styles/components/heroWave.scss +24 -0
  109. package/src/styles/components/main.scss +275 -0
  110. package/src/styles/components/page-content.scss +147 -0
  111. package/src/styles/components/pagination.scss +121 -0
  112. package/src/styles/components/search.scss +349 -0
  113. package/src/styles/custom.scss +21 -0
  114. package/src/styles/global.scss +167 -0
  115. package/src/styles/mixin.scss +17 -0
  116. package/src/styles/tags/tags.scss +83 -0
  117. package/src/theme_config.ts +178 -0
  118. package/src/utils/generateSearchData.ts +30 -0
  119. package/src/utils/md.ts +114 -0
  120. package/src/utils/processMd.ts +278 -0
  121. package/src/utils/utils.ts +87 -0
  122. package/tsconfig.json +32 -0
  123. package/vercel.json +26 -0
@@ -0,0 +1,421 @@
1
+ @import "../mixin.scss";
2
+ #site-header {
3
+ position: fixed;
4
+
5
+ z-index: 100;
6
+
7
+ top: 0;
8
+
9
+ width: 100%;
10
+
11
+ height: var(--header-nav-height);
12
+
13
+ margin-bottom: 1rem;
14
+
15
+ padding: 0;
16
+
17
+ user-select: none;
18
+
19
+ transition: 0.3s ease-in-out;
20
+
21
+ background: var(--navbar-bg-color);
22
+
23
+ background-size: 4px 4px;
24
+
25
+ backdrop-filter: blur(5px);
26
+
27
+ @include nav-flex();
28
+
29
+ &.not-top {
30
+ box-shadow: var(--header-shadow);
31
+ }
32
+
33
+ &:not(.not-top) {
34
+ #menu-totop {
35
+ margin-left: -32px;
36
+
37
+ transform: translateY(-4rem);
38
+ }
39
+ }
40
+
41
+ .header-menu {
42
+ width: 100%;
43
+
44
+ max-width: 1400px;
45
+
46
+ margin: 0;
47
+
48
+ padding: 0 1.8rem;
49
+
50
+ transform: translateZ(0);
51
+
52
+ @include nav-flex();
53
+
54
+ .header-nav {
55
+ margin: 0 15px;
56
+
57
+ @include nav-flex();
58
+
59
+ &.nav-left {
60
+ position: absolute;
61
+
62
+ left: 0;
63
+
64
+ .site-name {
65
+ display: inline;
66
+
67
+ transition: 0.3s ease;
68
+
69
+ color: var(--font-black-white);
70
+
71
+ font-size: 1.5rem;
72
+
73
+ font-weight: 900;
74
+ }
75
+ .site-logo {
76
+ order: 1;
77
+
78
+ width: 34px;
79
+
80
+ height: 34px;
81
+
82
+ margin: 0 10px;
83
+
84
+ transition: 0.3s ease;
85
+
86
+ filter: invert(0%);
87
+ }
88
+ }
89
+
90
+ &.nav-right {
91
+ position: absolute;
92
+
93
+ right: 0;
94
+ }
95
+ }
96
+ }
97
+ }
98
+
99
+ [data-theme="dark"] .site-logo {
100
+ filter: invert(100%) !important;
101
+ }
102
+
103
+ .menu-items {
104
+ @include nav-flex();
105
+
106
+ .menu-item {
107
+ margin: 0 4px;
108
+
109
+ padding: 4px 8px;
110
+
111
+ transition: 0.2s;
112
+
113
+ border-radius: 20px;
114
+
115
+ @include nav-flex();
116
+
117
+ &:hover {
118
+ padding: 4px 14px;
119
+
120
+ background: var(--theme-color);
121
+
122
+ box-shadow: var(--card-tiny-shadow);
123
+
124
+ .menu-item-icon,
125
+ .menu-item-name {
126
+ color: var(--background-white);
127
+ }
128
+
129
+ .menu-children {
130
+ display: flex;
131
+
132
+ animation: 0.3s ease 0.1s 1 normal both running come-up;
133
+ }
134
+
135
+ &.has-child::before {
136
+ position: absolute;
137
+
138
+ bottom: -40px;
139
+
140
+ width: 300px;
141
+
142
+ height: 40px;
143
+
144
+ content: "";
145
+ }
146
+ }
147
+
148
+ .menu-item-link,
149
+ .menu-child-link {
150
+ cursor: pointer;
151
+
152
+ text-decoration: none;
153
+
154
+ @include nav-flex();
155
+ }
156
+
157
+ .menu-item-icon,
158
+ .menu-child-icon {
159
+ width: var(--header-item-icon-size);
160
+
161
+ height: var(--header-item-icon-size);
162
+
163
+ margin-right: 2px;
164
+
165
+ transition: 0.2s;
166
+
167
+ color: var(--font-black-white);
168
+
169
+ i {
170
+ width: 100%;
171
+
172
+ height: 100%;
173
+
174
+ &::before {
175
+ font-size: var(--header-item-icon-size);
176
+ }
177
+ }
178
+ }
179
+
180
+ .menu-item-name,
181
+ .menu-child-name {
182
+ margin: 0 3px;
183
+
184
+ transition: 0.2s;
185
+
186
+ color: var(--font-black-white);
187
+
188
+ font-size: 1.1rem;
189
+ }
190
+ }
191
+
192
+ .menu-children {
193
+ position: absolute;
194
+
195
+ top: 35px;
196
+
197
+ display: none;
198
+
199
+ align-items: center;
200
+
201
+ margin-top: 8px;
202
+
203
+ padding: 8px 10px;
204
+
205
+ transition: 0.3s;
206
+
207
+ white-space: nowrap;
208
+
209
+ border-width: 1px;
210
+
211
+ border-style: solid;
212
+
213
+ border-color: var(--border-light-grey);
214
+
215
+ border-radius: 100px;
216
+
217
+ background: var(--card-background);
218
+
219
+ box-shadow: var(--card-shadow);
220
+
221
+ &:hover {
222
+ border-color: var(--theme-color);
223
+ }
224
+
225
+ .menu-child {
226
+ display: inline-flex;
227
+
228
+ margin: 0 2px;
229
+
230
+ padding: 5px 10px;
231
+
232
+ list-style: none;
233
+
234
+ transition: 0.2s;
235
+
236
+ border-radius: 100px;
237
+
238
+ &:hover {
239
+ padding: 5px 15px;
240
+
241
+ background: var(--theme-color);
242
+
243
+ .menu-child-icon,
244
+ .menu-child-name {
245
+ color: var(--button-background-white);
246
+ }
247
+ }
248
+ }
249
+ }
250
+ }
251
+
252
+ .menu-buttons {
253
+ @include nav-flex();
254
+
255
+ .menu-button {
256
+ margin: 0 5px;
257
+
258
+ padding: 5px;
259
+
260
+ cursor: pointer;
261
+
262
+ transition: 0.3s ease;
263
+
264
+ border-radius: 5px;
265
+
266
+ &:hover {
267
+ background: var(--theme-color);
268
+
269
+ .menu-button-link {
270
+ .menu-button-icon {
271
+ color: var(--button-background-white);
272
+ }
273
+ }
274
+ }
275
+
276
+ .menu-button-link {
277
+ cursor: pointer;
278
+
279
+ transition: 0.2s;
280
+
281
+ text-decoration: none;
282
+ .menu-button-icon {
283
+ width: var(--header-button-icon-size);
284
+
285
+ height: var(--header-button-icon-size);
286
+
287
+ color: var(--font-black-white);
288
+
289
+ @include nav-flex();
290
+
291
+ path {
292
+ transition: 0.3s ease;
293
+ }
294
+ }
295
+ }
296
+ }
297
+
298
+ .menu-button.percent:hover {
299
+ width: 32px;
300
+
301
+ height: 32px;
302
+
303
+ margin: 0 4px;
304
+
305
+ background: var(--theme-color);
306
+
307
+ #percent {
308
+ display: none;
309
+ }
310
+ }
311
+ }
312
+
313
+ #menu-totop {
314
+ width: 24px;
315
+
316
+ height: 24px;
317
+
318
+ margin: 0 8px;
319
+
320
+ transition: all 0.4s var(--elastic-animation);
321
+
322
+ border-radius: 50px;
323
+
324
+ background: var(--button-background-black);
325
+
326
+ @include nav-flex();
327
+
328
+ #percent {
329
+ color: var(--font-white-black);
330
+
331
+ font-size: 14px;
332
+ }
333
+
334
+ #totop {
335
+ width: 14px;
336
+
337
+ color: var(--font-white-black);
338
+ }
339
+
340
+ &.tobottom {
341
+ #totop {
342
+ animation: var(--appear-animation);
343
+ }
344
+
345
+ #percent {
346
+ display: none;
347
+ }
348
+ }
349
+
350
+ &:not(.tobottom, :hover) {
351
+ #percent {
352
+ animation: var(--appear-animation);
353
+ }
354
+
355
+ #totop {
356
+ display: none;
357
+ }
358
+ }
359
+
360
+ &:hover {
361
+ transform: scale(1.3);
362
+
363
+ background: var(--theme-color);
364
+ }
365
+ }
366
+
367
+ [data-theme="dark"] {
368
+ #percent {
369
+ font-weight: bold;
370
+ }
371
+ .menu-items {
372
+ .menu-item:hover {
373
+ .menu-item-name,
374
+ .menu-item-icon {
375
+ color: var(--font-black-white);
376
+ }
377
+ }
378
+ }
379
+ }
380
+
381
+ @media screen and (width <= 900px) {
382
+ #site-header {
383
+ .header-menu {
384
+ .header-nav {
385
+ &.nav-left {
386
+ .site-name {
387
+ display: none;
388
+ }
389
+ }
390
+ }
391
+ }
392
+ }
393
+ }
394
+
395
+ @media screen and (width <= 700px) {
396
+ #site-header {
397
+ .header-menu {
398
+ .header-nav {
399
+ &.nav-left {
400
+ display: none;
401
+ }
402
+ &.nav-center {
403
+ position: absolute;
404
+ left: 0;
405
+ .menu-items {
406
+ .menu-item {
407
+ &:hover {
408
+ padding: 8px;
409
+ }
410
+ .menu-item-link {
411
+ .menu-item-name {
412
+ display: none;
413
+ }
414
+ }
415
+ }
416
+ }
417
+ }
418
+ }
419
+ }
420
+ }
421
+ }
@@ -0,0 +1,24 @@
1
+ #hero-wave {
2
+ display: flex;
3
+
4
+ align-items: center;
5
+
6
+ flex-direction: column;
7
+
8
+ justify-content: center;
9
+
10
+ width: 100%;
11
+
12
+ padding-top: calc(var(--header-nav-height) + 2rem);
13
+
14
+ background: linear-gradient(#007aff, var(--body-background-color));
15
+ .hero-waves-area {
16
+ position: relative;
17
+
18
+ bottom: 0;
19
+
20
+ margin-top: 2rem;
21
+
22
+ margin-bottom: -10px;
23
+ }
24
+ }
@@ -0,0 +1,275 @@
1
+ @import "../mixin.scss";
2
+ .main-content {
3
+ user-select: none;
4
+
5
+ color: var(--font-black-white);
6
+
7
+ font-family: var(--heading-font-family-zh);
8
+
9
+ .main-card {
10
+ width: 100%;
11
+
12
+ height: fit-content;
13
+
14
+ margin-bottom: 1rem;
15
+
16
+ border-radius: 15px;
17
+
18
+ background: var(--card-background);
19
+
20
+ @include card-style();
21
+ }
22
+ }
23
+
24
+ .posts-list {
25
+ .post-card {
26
+ display: flex;
27
+
28
+ height: 214px;
29
+
30
+ cursor: pointer;
31
+
32
+ a {
33
+ text-decoration: none;
34
+ }
35
+
36
+ .post-card-cover {
37
+ display: flex;
38
+
39
+ overflow: hidden;
40
+
41
+ justify-content: center;
42
+
43
+ width: 420px;
44
+
45
+ height: 100%;
46
+
47
+ margin-right: 1rem;
48
+
49
+ transition: 0.3s ease-in-out;
50
+
51
+ border-radius: 15px 0 0 15px;
52
+
53
+ background: white;
54
+
55
+ img {
56
+ height: 100%;
57
+
58
+ transition: 0.3s ease-in-out;
59
+ }
60
+ }
61
+
62
+ &:hover {
63
+ .post-card-cover {
64
+ filter: brightness(0.8);
65
+
66
+ img {
67
+ transform: scale(1.1);
68
+ }
69
+ }
70
+ }
71
+
72
+ .post-card-info {
73
+ display: flex;
74
+
75
+ flex: 6;
76
+
77
+ flex-direction: column;
78
+
79
+ margin: 2rem 0;
80
+
81
+ .post-card-header {
82
+ display: flex;
83
+
84
+ align-items: center;
85
+
86
+ flex: 1;
87
+
88
+ .post-card-category {
89
+ display: flex;
90
+
91
+ align-items: center;
92
+
93
+ transition: 0.3s;
94
+
95
+ color: var(--font-black-white);
96
+
97
+ &:hover {
98
+ color: var(--theme-color);
99
+ }
100
+
101
+ &::before {
102
+ margin-top: 2px;
103
+
104
+ margin-right: 2px;
105
+
106
+ content: "&";
107
+
108
+ opacity: 0.4;
109
+
110
+ color: var(--font-light-grey);
111
+
112
+ font-weight: 900;
113
+ }
114
+ }
115
+ }
116
+
117
+ .post-card-title {
118
+ flex: 1;
119
+
120
+ padding-right: 1rem;
121
+
122
+ padding-bottom: 0.2rem;
123
+
124
+ transition: 0.3s;
125
+
126
+ color: var(--font-black-white);
127
+
128
+ font-size: 24px;
129
+
130
+ font-weight: 600;
131
+
132
+ &:hover {
133
+ color: var(--theme-color);
134
+ }
135
+ }
136
+
137
+ .post-card-desc {
138
+ overflow: hidden;
139
+
140
+ flex: 2;
141
+
142
+ padding-right: 2rem;
143
+
144
+ word-break: break-all;
145
+
146
+ color: var(--font-black-white);
147
+
148
+ font-size: 18px;
149
+ }
150
+
151
+ .post-card-footer {
152
+ display: flex;
153
+
154
+ align-items: center;
155
+
156
+ flex: 1;
157
+
158
+ justify-content: space-between;
159
+
160
+ padding-right: 2.5rem;
161
+
162
+ .post-card-tags {
163
+ display: flex;
164
+
165
+ padding: 0;
166
+
167
+ .post-card-tag {
168
+ margin: 0 0.2rem;
169
+
170
+ a {
171
+ transition: 0.3s;
172
+
173
+ color: var(--font-black-white);
174
+
175
+ &::before {
176
+ margin-right: 2px;
177
+
178
+ content: "#";
179
+
180
+ opacity: 0.4;
181
+
182
+ color: var(--font-light-grey);
183
+
184
+ font-weight: 900;
185
+ }
186
+ }
187
+
188
+ &:hover a {
189
+ color: var(--theme-color);
190
+ }
191
+ }
192
+ }
193
+
194
+ .post-card-update {
195
+ a {
196
+ transition: 0.3s;
197
+
198
+ color: var(--font-black-white);
199
+ }
200
+
201
+ &:hover a {
202
+ color: var(--theme-color);
203
+ }
204
+ }
205
+ }
206
+ }
207
+ }
208
+ }
209
+
210
+ [data-theme="dark"] .posts-list {
211
+ .post-card {
212
+ .post-card-cover {
213
+ filter: brightness(0.8);
214
+ }
215
+ }
216
+ }
217
+
218
+ @media screen and (width <= 1400px) {
219
+ .posts-list {
220
+ .post-card {
221
+ .post-card-cover {
222
+ }
223
+ .post-card-info {
224
+ }
225
+ }
226
+ }
227
+ }
228
+
229
+ @media screen and (width <= 1100px) {
230
+ .posts-list {
231
+ .post-card {
232
+ flex-direction: column;
233
+ height: fit-content;
234
+ .post-card-cover {
235
+ height: fit-content;
236
+ width: 100%;
237
+ border-radius: 15px 15px 0 0;
238
+ img {
239
+ width: 100%;
240
+ height: auto;
241
+ }
242
+ }
243
+ .post-card-info {
244
+ margin: 0.5rem 1rem;
245
+ .post-card-title {
246
+ font-size: 26px;
247
+ }
248
+ .post-card-desc {
249
+ margin-top: 0.2rem;
250
+ }
251
+ .post-card-footer {
252
+ .post-card-tags {
253
+ margin: 0.5rem 0;
254
+ }
255
+ }
256
+ }
257
+ }
258
+ }
259
+ }
260
+
261
+ @media screen and (width <= 700px) {
262
+ .posts-list {
263
+ .post-card {
264
+ .post-card-cover {
265
+ }
266
+ .post-card-info {
267
+ .post-card-footer {
268
+ .post-card-tags {
269
+ flex-direction: column;
270
+ }
271
+ }
272
+ }
273
+ }
274
+ }
275
+ }