minearm-website 0.1.3 → 0.2.1

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 (57) hide show
  1. package/README.md +2 -2
  2. package/astro.config.ts +75 -38
  3. package/minearm.ts +0 -2
  4. package/package.json +75 -63
  5. package/public/avatar.avif +0 -0
  6. package/public/favicon.png +0 -0
  7. package/public/favicon1.png +0 -0
  8. package/public/scripts/mdata.json +3 -3
  9. package/public/scripts/searchData.json +46 -46
  10. package/src/components/Search.astro +30 -0
  11. package/src/components/client/searchCore.vue +167 -45
  12. package/src/components/icons/bilibili.astro +1 -2
  13. package/src/components/icons/c.astro +1 -2
  14. package/src/components/icons/cube.astro +1 -3
  15. package/src/components/icons/hardDriver.astro +1 -2
  16. package/src/components/icons/home.astro +1 -2
  17. package/src/components/loading/loading.vue +0 -12
  18. package/src/components/postlist/pagination.astro +39 -25
  19. package/src/components/postlist/postsList.astro +57 -0
  20. package/src/content/blog/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 +1 -0
  21. package/src/content/blog/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 +2360 -2361
  22. package/src/content/blog/it/Rust/345/237/272/346/234/254/350/257/255/346/263/225.md +14 -0
  23. package/src/content/config.ts +0 -1
  24. package/src/layouts/BaseLayout.astro +1 -1
  25. package/src/layouts/DefaultMdLayout.astro +4 -0
  26. package/src/layouts/HomeLayout.astro +2 -0
  27. package/src/layouts/PostLayout.astro +2 -0
  28. package/src/layouts/TagsLayout.astro +2 -0
  29. package/src/pages/404.md +2 -0
  30. package/src/pages/[...page].astro +13 -10
  31. package/src/pages/about/index.md +3 -3
  32. package/src/pages/blog/[...slug].astro +10 -1
  33. package/src/pages/friends/index.md +12 -10
  34. package/src/styles/blog/code.scss +1 -1
  35. package/src/styles/components/aside.scss +1 -1
  36. package/src/styles/components/header.scss +1 -1
  37. package/src/styles/components/main.scss +1 -1
  38. package/src/styles/global.scss +2 -2
  39. package/src/styles/tags/tags.scss +13 -23
  40. package/src/theme_config.ts +11 -13
  41. package/tsconfig.json +13 -23
  42. package/public/13.jpg +0 -0
  43. package/public/13.png +0 -0
  44. package/public/1937daxue.png +0 -0
  45. package/public/3.png +0 -0
  46. package/public/404.png +0 -0
  47. package/public/5.jpg +0 -0
  48. package/public/avatar.jpg +0 -0
  49. package/public/c++1.png +0 -0
  50. package/public/logo.png +0 -0
  51. package/public/nahida.png +0 -0
  52. package/public/pojipao.avif +0 -0
  53. package/public/video.png +0 -0
  54. package/public/xmrig.jpg +0 -0
  55. package/src/content/blog/Mail.md +0 -15
  56. package/src/layouts/c.astro +0 -42
  57. package/src/layouts/h.astro +0 -60
@@ -23,6 +23,7 @@ category: 'Rust'
23
23
  这些基础概念将存在于每个 Rust 程序中,及早学习它们将使你以最快的速度学习 Rust 的使用。
24
24
 
25
25
  # 变量
26
+
26
27
  首先必须说明,Rust 是强类型语言,但具有自动判断变量类型的能力。这很容易让人与弱类型语言产生混淆。
27
28
 
28
29
  默认情况下,Rust 中的变量是不可变的,除非使用 mut 关键字声明为可变变量。
@@ -110,6 +111,7 @@ fn add(a: i32, b: i32) -> i32 {
110
111
  如果函数没有返回值,类型默认为 ()(即空元组)。
111
112
 
112
113
  **控制流**
114
+
113
115
  # if 表达式
114
116
 
115
117
  - 实例
@@ -121,6 +123,7 @@ if number < 5 {
121
123
  println!("大于等于 5");
122
124
  }
123
125
  ```
126
+
124
127
  # loop 循环
125
128
 
126
129
  loop 是 Rust 中的无限循环,可以使用 break 退出循环。
@@ -155,7 +158,9 @@ for number in 1..4 {
155
158
  println!("{}!", number);
156
159
  }
157
160
  ```
161
+
158
162
  # 所有权
163
+
159
164
  Rust 中的所有权是独特的内存管理机制,核心概念包括所有权 (ownership)、借用 (borrowing) 和引用 (reference)。
160
165
 
161
166
  所有权规则:
@@ -168,8 +173,11 @@ let s1 = String::from("hello");
168
173
  let s2 = s1; // s1 的所有权被转移给了 s2
169
174
  // println!("{}", s1); // 此处编译会报错,因为 s1 已不再拥有该值
170
175
  ```
176
+
171
177
  # 借用和引用
178
+
172
179
  借用允许引用数据而不获取所有权,通过 & 符号实现。
180
+
173
181
  ```rust
174
182
  fn main() {
175
183
  let s = String::from("hello");
@@ -181,6 +189,7 @@ fn calculate_length(s: &String) -> usize {
181
189
  s.len()
182
190
  }
183
191
  ```
192
+
184
193
  # 结构体
185
194
 
186
195
  结构体用于创建自定义类型,字段可以包含多种数据类型。
@@ -201,6 +210,7 @@ let user1 = User {
201
210
  active: true,
202
211
  };
203
212
  ```
213
+
204
214
  # 枚举
205
215
 
206
216
  枚举允许定义可能的几种数据类型中的一种。
@@ -215,7 +225,9 @@ enum IpAddrKind {
215
225
  let four = IpAddrKind::V4;
216
226
  let six = IpAddrKind::V6;
217
227
  ```
228
+
218
229
  # 模式匹配
230
+
219
231
  match 是 Rust 中强大的控制流工具,类似于 switch 语句。
220
232
 
221
233
  - 实例
@@ -236,6 +248,7 @@ fn value_in_cents(coin: Coin) -> u8 {
236
248
  }
237
249
  }
238
250
  ```
251
+
239
252
  # 错误处理
240
253
 
241
254
  Rust 有两种主要的错误处理方式:Result<T, E> 和 Option<T>。
@@ -282,6 +295,7 @@ fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
282
295
  }
283
296
  }
284
297
  ```
298
+
285
299
  # 重影
286
300
 
287
301
  重影的概念与其他面向对象语言里的"重写"(Override)或"重载"(Overload)是不一样的。重影就是刚才讲述的所谓"重新绑定",之所以加引号就是为了在没有介绍这个概念的时候代替一下概念。
@@ -1,6 +1,5 @@
1
1
  import { defineCollection, z } from "astro:content";
2
2
  import { utils } from "@utils/utils";
3
-
4
3
  const blogCollection = defineCollection({
5
4
  schema: z.object({
6
5
  title: z.string(),
@@ -2,6 +2,7 @@
2
2
  import "@style/global.scss";
3
3
  import "@style/components/page-content.scss";
4
4
  import HeadInsert from "@comp/HeadInject.astro";
5
+ import { ViewTransitions } from 'astro:transitions';
5
6
  import BodyInsert from "@comp/BodyInject.astro";
6
7
  import { ThemeConfig } from "@src/theme_config";
7
8
  import Header from "@comp/header/Header.astro";
@@ -14,7 +15,6 @@ interface Props {
14
15
  class?: string;
15
16
  description?: string;
16
17
  }
17
-
18
18
  const { class: pageClass, description } = Astro.props;
19
19
  ---
20
20
 
@@ -1,7 +1,9 @@
1
1
  ---
2
2
  import HeroWave from "@comp/header/heroWave.astro";
3
3
  import PostLayout from "@src/layouts/PostLayout.astro";
4
+ import { ViewTransitions } from 'astro:transitions';
4
5
  import { ThemeConfig } from "@src/theme_config";
6
+ import Code from '../components/icons/code.astro';
5
7
  interface FrontMatter {
6
8
  title: string;
7
9
  description?: string;
@@ -34,9 +36,11 @@ const { frontmatter } = Astro.props;
34
36
  slot="post-hero"
35
37
  heroColor={frontmatter.heroColor}
36
38
  >
39
+
37
40
  <div class="post-info">
38
41
  <h1 class="post-title">{frontmatter.title}</h1>
39
42
  </div>
40
43
  </HeroWave>
41
44
  <slot />
42
45
  </PostLayout>
46
+ <ViewTransitions />
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  import "@style/components/main.scss";
3
3
  import BaseLayout from "./BaseLayout.astro";
4
+ import { ViewTransitions } from 'astro:transitions';
4
5
  import Aside from "@comp/aside/aside.astro";
5
6
  import { ThemeConfig } from "@src/theme_config";
6
7
  interface Props {
@@ -23,3 +24,4 @@ const { asideDir } = Astro.props;
23
24
  </main>
24
25
  </article>
25
26
  </BaseLayout>
27
+ <ViewTransitions />
@@ -4,6 +4,7 @@ import BaseLayout from "@layout/BaseLayout.astro";
4
4
  import BlogToc from "@comp/aside/blogToc.astro";
5
5
  import Aside from "@comp/aside/aside.astro";
6
6
  import PostComment from "@comp/postComment.astro";
7
+ import { ViewTransitions } from 'astro:transitions';
7
8
  import type { CollectionEntry } from "astro:content";
8
9
  import { ThemeConfig } from "@src/theme_config";
9
10
 
@@ -58,3 +59,4 @@ const { toc, useComments = true, postData, desc } = Astro.props;
58
59
  </script>
59
60
  </Fragment>
60
61
  </BaseLayout>
62
+ <ViewTransitions />
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  import PostsList from "@comp/postlist/postsList.astro";
3
+ import { ViewTransitions } from 'astro:transitions';
3
4
  import Pagination from "@comp/postlist/pagination.astro";
4
5
  import HomeLayout from "@layout/HomeLayout.astro";
5
6
  import HeroWave from "@comp/header/heroWave.astro";
@@ -41,3 +42,4 @@ const { tags, baseurl, activeTag, page } = Astro.props;
41
42
  }
42
43
  </Fragment>
43
44
  </HomeLayout>
45
+ <ViewTransitions />
package/src/pages/404.md CHANGED
@@ -6,4 +6,6 @@ heroColor: "#007aff"
6
6
  useComments: false
7
7
  useToc: false
8
8
  ---
9
+ # 404 Not Found
10
+
9
11
  # 404了,非常抱歉,你要找的页面被作者吃了[doge]
@@ -6,11 +6,14 @@ import { ThemeConfig } from "@src/theme_config";
6
6
  import { utils } from "@src/utils/utils";
7
7
  import { type CollectionEntry, getCollection } from "astro:content";
8
8
 
9
- export async function getStaticPaths({ paginate }: any) {
10
- const posts: CollectionEntry<"blog">[] = (await getCollection("blog")).sort(
11
- (a: { data: { pubDate: string; }; }, b: { data: { pubDate: string; }; }) => utils.compareDates(a.data.pubDate, b.data.pubDate)
12
- );
13
- return paginate(posts, { pageSize: 10 });
9
+ export async function getStaticPaths({ paginate }) {
10
+ const posts = await getCollection("blog");
11
+
12
+ // 根据 pubDate 排序文章
13
+ const sortedPosts = posts.sort((a, b) => utils.compareDates(a.data.pubDate, b.data.pubDate));
14
+
15
+ // 使用 paginate 生成分页路径,每页 10 篇文章
16
+ return paginate(sortedPosts, { pageSize: 8 });
14
17
  }
15
18
 
16
19
  const { page } = Astro.props;
@@ -39,11 +42,11 @@ if (!page || !page.data) {
39
42
  <PostsList posts={page.data} />
40
43
  {
41
44
  page.lastPage > 1 && (
42
- <Pagination
43
- baseurl="/"
44
- pageSize={page.pageSize}
45
- activePage={page.currentPage}
46
- />
45
+ <Pagination
46
+ baseurl=""
47
+ currentPage={page.currentPage}
48
+ totalPages={page.lastPage}
49
+ />
47
50
  )
48
51
  }
49
52
  </Fragment>
@@ -7,11 +7,11 @@ useComments: true
7
7
  useToc: true
8
8
  ---
9
9
  # Minearm & Website
10
- # 本主题是从[HusBlog](https://github.com/KraHsu/HsuBlog.git)改进而来的
11
- 最新的正式版是0.1.3
10
+ # 本主题是从[HsuBlog](https://github.com/KraHsu/HsuBlog.git)改进而来的
11
+ 最新的正式版是0.2.1
12
12
  最新的测试版是0.0.3-beta.4
13
13
 
14
- 但是Minearm & Website做出了很大的改变,比如修复了scss警告和升级astro版本到5.1.2
14
+ 但是Minearm & Website做出了很大的改变,比如修复了scss警告和升级astro版本到5.5.4
15
15
 
16
16
  # 效果
17
17
  ![Minearm](https://portal.astro.build/_image?href=https%3A%2F%2Fstorage.googleapis.com%2Fdev-portal-bucket%2Fkotpt1ztaalrk5frua5pnwdvoh185ylgg0rio9.webp)
@@ -1,5 +1,5 @@
1
1
  ---
2
- import { CollectionEntry, getCollection } from "astro:content";
2
+ import { type CollectionEntry, getCollection } from "astro:content";
3
3
  import PostLayout from "@src/layouts/PostLayout.astro";
4
4
  import HeroWave from "@comp/header/heroWave.astro";
5
5
  import GetIcon from "@comp/icons/getIcon.astro";
@@ -66,3 +66,12 @@ const { Content, remarkPluginFrontmatter } = await post.render();
66
66
  </HeroWave>
67
67
  <Content />
68
68
  </PostLayout>
69
+ <article>
70
+ <!-- 文章正文 -->
71
+ <h1>{post.title}</h1>
72
+ <div>{post.content}</div>
73
+
74
+ <!-- 评论区域 -->
75
+ <div class="comments-section">
76
+ </div>
77
+ </article>
@@ -1,24 +1,26 @@
1
1
  ---
2
- layout: "../../layouts/DefaultMdLayout.astro"
2
+ layout: ../../layouts/DefaultMdLayout.astro
3
3
  title: Minearm盟友
4
4
  description: ""
5
- heroColor: "#007aff"
5
+ heroColor: "#00FF99"
6
6
  useComments: true
7
7
  useToc: true
8
8
  ---
9
-
10
9
  ## Minearm-RPM的盟友
11
10
 
12
11
  谁想成为盟友的来[这里](https://github.com/Minearm-RPM/minearm/issues/3)申请一下
13
12
 
14
- :::links[The Autor of Minearm-RPM & Website]
15
-
16
- ::link[纳西妲]{logo="/nahida.png" desc="我会为世界上所有的美好而战" link="https://nahida.im"}
13
+ <h2>或者发评论</h2>
17
14
 
18
- ::link[B站破击]{logo="/pojipao.avif" desc="全互联网最中二的傻逼" link="https://space.bilibili.com/1598534390"}
15
+ - 格式
19
16
 
20
- ::link[ღꦿlove.情绪℘]{logo="/13.jpg" desc="明天要被历史肘击😭" link="mailto:2939765322@qq.com"}
17
+ ```yaml
18
+ - name: 名称
19
+ link: 跳转链接
20
+ avatar: 头像链接
21
+ descr: 描述
22
+ ```
21
23
 
22
- ::link[三的根号]{logo="/3.png" desc="√3每日发疯" link="https://space.bilibili.com/1832902560"}
24
+ :::links[The Autor of Minearm-RPM & Website]
23
25
 
24
- ::link[只鱼]{logo="https://zhiyuhub.top/upload/be2bb1bb-8d91-4e9b-8b4d-00d4c45774ae.png" desc="root@kali:/#" link="https://zhiyuhub.top/"}
26
+ ::link[Minearm-RPM]{logo="/avatar.avif" desc="localhost@root #~" link="https://www.minearm.org/"}
@@ -18,7 +18,7 @@
18
18
  --astro-code-token-string-expression: #5ccfe6;
19
19
 
20
20
  --astro-code-token-punctuation: #cccac2;
21
-
21
+ //I love kunkun!
22
22
  --astro-code-token-link: #87d96c;
23
23
 
24
24
  --astro-code-color-ansi-black: #000000;
@@ -1,4 +1,4 @@
1
- @import "../mixin.scss";
1
+ @use "../mixin.scss" as *;
2
2
  .aside-content {
3
3
  user-select: none;
4
4
 
@@ -1,4 +1,4 @@
1
- @import "../mixin.scss";
1
+ @use "../mixin.scss" as *;
2
2
  #site-header {
3
3
  position: fixed;
4
4
 
@@ -1,4 +1,4 @@
1
- @import "../mixin.scss";
1
+ @use "../mixin.scss" as *;
2
2
  .main-content {
3
3
  user-select: none;
4
4
 
@@ -1,5 +1,5 @@
1
- @import "./animation.scss";
2
- @import "./custom.scss";
1
+ @use "./animation.scss" as animation;
2
+ @use "./custom.scss" as custom;
3
3
  // @import "./components/index.scss";
4
4
  // @import "./blog/index.scss";
5
5
 
@@ -1,69 +1,56 @@
1
- @import "../mixin.scss";
1
+ @use "../mixin.scss" as *;
2
+
2
3
  .tags-wrap {
3
4
  display: flex;
4
-
5
5
  align-items: center;
6
-
7
6
  justify-content: center;
8
-
9
7
  min-height: 300px;
8
+
10
9
  .tags {
11
10
  display: flex;
12
-
13
11
  align-items: center;
14
-
15
12
  flex-wrap: wrap;
16
-
17
13
  justify-content: center;
18
-
19
14
  width: 100%;
20
-
21
15
  max-width: 800px;
16
+
22
17
  .tag {
23
18
  margin: 0.5rem;
24
-
25
19
  padding: 5px 8px;
26
-
27
20
  text-decoration: none;
28
-
29
21
  color: var(--font-black-white);
30
-
31
22
  border-radius: 10px;
32
-
33
23
  background-color: var(--card-background);
34
-
35
24
  font-size: 20px;
36
-
25
+
37
26
  @include card-style();
27
+
38
28
  &:hover {
39
29
  transform: scale(1.2);
40
-
41
30
  color: white;
42
-
43
31
  background: var(--theme-color);
32
+
44
33
  .tag-text {
45
34
  &::before {
46
35
  color: white;
47
36
  }
48
37
  }
49
38
  }
39
+
50
40
  .tag-text {
51
41
  &::before {
52
42
  margin-right: 3px;
53
-
54
43
  content: "#";
55
-
56
44
  transition: 0.3s ease;
57
-
58
45
  color: var(--font-light-grey);
59
46
  }
60
47
  }
61
48
  }
62
-
49
+
63
50
  &.floating {
64
51
  .tag {
65
52
  animation: floating 7s ease-in-out infinite alternate;
66
-
53
+
67
54
  &:nth-child(3n + 1) {
68
55
  animation-delay: 0s;
69
56
  }
@@ -77,7 +64,10 @@
77
64
  }
78
65
  }
79
66
  }
67
+
80
68
  #inner-container {
81
69
  .main-content {
70
+ // 这里可以添加具体的样式或内容
71
+ // 例如:padding: 20px;
82
72
  }
83
73
  }
@@ -1,8 +1,8 @@
1
1
  import { Icons } from "@comp/icons/icon";
2
2
  import { SiteConfig } from "./site_config";
3
3
  // import { faStar } from "@fortawesome/free-solid-svg-icons";
4
- // import { library, icon } from "@fortawesome/fontawesome-svg-core";
5
- //import Code from '~/components/code.astro';
4
+ //import { library, icon } from "@fortawesome/fontawesome-svg-core";
5
+ // import Code from '~/components/code.astro';
6
6
  // library.add(faStar);
7
7
  // const starIcon = icon({ prefix: "fas", iconName: "star" });
8
8
 
@@ -17,7 +17,7 @@ export const ThemeConfig: Configs = {
17
17
  localSearch: {
18
18
  enable: true,
19
19
  comment: "你可以使用类似 unix 的格式:[扩展搜索](/blog/Search-help/)",
20
- hits: ["[扩展搜索](/blogSearch-help//)", "[Help](/blog/Search-help/)"],
20
+ hits: ["[扩展搜索](/blog/Search-help/)", "[Help](/blog/Search-help/)"],
21
21
  },
22
22
  backgroundBubbles: 20,
23
23
  },
@@ -65,7 +65,7 @@ export const ThemeConfig: Configs = {
65
65
  name: "MC",
66
66
  customClass: "MC",
67
67
  icon: "local:solid.paper-plane",
68
- link: "https://game.minearm.org",
68
+ link: "https://minecraft.minearm.org",
69
69
  },
70
70
  ],
71
71
  },
@@ -118,7 +118,7 @@ export const ThemeConfig: Configs = {
118
118
  announcement: {
119
119
  headline: "看公告啦!",
120
120
  content:
121
- "欢迎各位[找茬](https://github.com/Minearm-RPM/minearm-rpm-arch/issues)~",
121
+ "欢迎各位[找茬](https://github.com/Minearm-RPM/Minearm/issues)~",
122
122
  },
123
123
  siteInfo: {
124
124
  busuanzi: false,
@@ -137,8 +137,6 @@ export const ThemeConfig: Configs = {
137
137
  footer: {
138
138
  text: "Design & Build with ❤ by Minearm-RPM",
139
139
  copyright: `&copy; 2023-${today.getFullYear()} By [Minearm-RPM](/about)`,
140
- // 也可以使用 {{}} 包裹函数体,并返回替换值
141
- // You can also use {{}} to wrap the function body and return the replacement value.
142
140
  // copyright: `&copy; 2023-{{const today = new Date();return today.getFullYear();}} By [Minearm-RPM](/about)`,
143
141
  },
144
142
  homePage: {
@@ -168,11 +166,11 @@ export const ThemeConfig: Configs = {
168
166
  // envId: "",
169
167
  // lang: "zh-CN",
170
168
  // },
171
- type: "waline",
172
- options: {
173
- serverURL: "https://youserver.com",
174
- },
175
- //type: true,
176
- //options: null,
169
+ type: "waline",
170
+ options: {
171
+ serverURL: "https://comments.example.com/",
172
+ },
173
+ // type: false,
174
+ // options: null,
177
175
  },
178
176
  };
package/tsconfig.json CHANGED
@@ -1,32 +1,22 @@
1
1
  {
2
- "ts-node": {
3
- "esm": true
4
- },
5
2
  "extends": "astro/tsconfigs/strict",
6
3
  "compilerOptions": {
4
+ "target": "ESNext",
5
+ "module": "ESNext",
6
+ "moduleResolution": "node",
7
7
  "resolveJsonModule": true,
8
8
  "baseUrl": ".",
9
9
  "strictNullChecks": true,
10
10
  "jsx": "preserve",
11
11
  "paths": {
12
- "@comp/*": [
13
- "src/components/*"
14
- ],
15
- "@ass/*": [
16
- "src/assets/*"
17
- ],
18
- "@style/*": [
19
- "src/styles/*"
20
- ],
21
- "@src/*": [
22
- "src/*"
23
- ],
24
- "@utils/*": [
25
- "src/utils/*"
26
- ],
27
- "@layout/*": [
28
- "src/layouts/*"
29
- ]
30
- }
31
- }
12
+ "@comp/*": ["src/components/*"],
13
+ "@ass/*": ["src/assets/*"],
14
+ "@style/*": ["src/styles/*"],
15
+ "@src/*": ["src/*"],
16
+ "@utils/*": ["src/utils/*"],
17
+ "@layout/*": ["src/layouts/*"]
18
+ },
19
+ "allowSyntheticDefaultImports": true
20
+ },
21
+ "include": ["src"]
32
22
  }
package/public/13.jpg DELETED
Binary file
package/public/13.png DELETED
Binary file
Binary file
package/public/3.png DELETED
Binary file
package/public/404.png DELETED
Binary file
package/public/5.jpg DELETED
Binary file
package/public/avatar.jpg DELETED
Binary file
package/public/c++1.png DELETED
Binary file
package/public/logo.png DELETED
Binary file
package/public/nahida.png DELETED
Binary file
Binary file
package/public/video.png DELETED
Binary file
package/public/xmrig.jpg DELETED
Binary file
@@ -1,15 +0,0 @@
1
- ---
2
- title: Mail
3
- description: ''
4
- pubDate: 2024-09-30
5
- heroColor: ''
6
- abbrlink: mail
7
- cover: "/mail.png"
8
- coverAlt: "mail"
9
- tags:
10
- - 'Tutorial'
11
- category: 'Mail'
12
- ---
13
-
14
- ## Mali
15
- minearm@minearm.org
@@ -1,42 +0,0 @@
1
- ---
2
- import HeroWave from "@comp/header/heroWave.astro";
3
- import PostLayout from "@src/layouts/h.astro";
4
- import { ThemeConfig } from "@src/theme_config";
5
- interface FrontMatter {
6
- title: string;
7
- description?: string;
8
- heroColor?: string;
9
- useComments?: boolean;
10
- useToc?: boolean;
11
- toc?: {
12
- level: string;
13
- id: string;
14
- value: string;
15
- }[];
16
- file: string;
17
- url: string;
18
- }
19
-
20
- interface Props {
21
- frontmatter: FrontMatter;
22
- }
23
-
24
- const { frontmatter } = Astro.props;
25
- ---
26
-
27
- <PostLayout
28
- useComments={frontmatter.useComments && ThemeConfig.comments.type !== false}
29
- toc={frontmatter.useToc ? frontmatter.toc : undefined}
30
- desc={frontmatter.description}
31
- >
32
- <HeroWave
33
- class="post-header"
34
- slot="post-hero"
35
- heroColor={frontmatter.heroColor}
36
- >
37
- <div class="post-info">
38
- <h1 class="post-title">{frontmatter.title}</h1>
39
- </div>
40
- </HeroWave>
41
- <slot />
42
- </PostLayout>