@jet-w/astro-blog 0.1.6 → 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 (122) hide show
  1. package/dist/chunk-6D3XRDNY.js +145 -0
  2. package/dist/chunk-A2E2VSAQ.js +246 -0
  3. package/dist/{chunk-GYLSY3OJ.js → chunk-TJTPX2WP.js} +1 -1
  4. package/dist/config/index.d.ts +3 -47
  5. package/dist/config/index.js +18 -2
  6. package/dist/i18n-PgMCFBw0.d.ts +222 -0
  7. package/dist/index.d.ts +204 -7
  8. package/dist/index.js +255 -3
  9. package/dist/integration.d.ts +9 -1
  10. package/dist/integration.js +2 -1
  11. package/dist/{sidebar-DNdiCKBw.d.ts → sidebar-Da-W_4Lr.d.ts} +1 -1
  12. package/dist/utils/sidebar.d.ts +1 -1
  13. package/package.json +1 -1
  14. package/src/components/blog/FloatingToc.vue +11 -3
  15. package/src/components/blog/Hero.astro +17 -2
  16. package/src/components/blog/NavigationTabs.vue +46 -15
  17. package/src/components/blog/PostCard.astro +28 -10
  18. package/src/components/blog/RelatedPosts.astro +23 -7
  19. package/src/components/blog/TableOfContents.astro +10 -4
  20. package/src/components/blog/TagCloud.astro +4 -3
  21. package/src/components/home/FeaturedPostsSection.astro +22 -6
  22. package/src/components/home/QuickNavSection.astro +33 -4
  23. package/src/components/home/RecentPostsSection.astro +22 -6
  24. package/src/components/home/StatsSection.astro +24 -6
  25. package/src/components/layout/Footer.astro +36 -20
  26. package/src/components/layout/Header.astro +75 -17
  27. package/src/components/layout/Sidebar.astro +40 -25
  28. package/src/components/ui/LanguageSwitcher.vue +183 -0
  29. package/src/components/ui/SearchBox.vue +13 -5
  30. package/src/components/ui/SearchInterface.vue +49 -25
  31. package/src/layouts/BaseLayout.astro +77 -52
  32. package/src/layouts/PageLayout.astro +22 -27
  33. package/src/layouts/SlidesLayout.astro +14 -2
  34. package/src/pages/archives/[year]/[month].astro +36 -17
  35. package/src/pages/archives/index.astro +36 -20
  36. package/src/pages/categories/[category].astro +33 -16
  37. package/src/pages/categories/index.astro +37 -14
  38. package/src/pages/posts/[...slug].astro +125 -18
  39. package/src/pages/posts/index.astro +59 -37
  40. package/src/pages/posts/page/[page].astro +65 -27
  41. package/src/pages/rss.xml.ts +18 -6
  42. package/src/pages/search.astro +50 -14
  43. package/src/pages/slides/index.astro +25 -6
  44. package/src/pages/tags/[tag].astro +32 -15
  45. package/src/pages/tags/index.astro +39 -16
  46. package/src/plugins/remark-containers.mjs +351 -322
  47. package/src/plugins/remark-protect-code.mjs +69 -0
  48. package/src/styles/global.css +35 -1
  49. package/templates/default/.claude/ralph-loop.local.md +48 -0
  50. package/templates/default/astro.config.mjs +33 -4
  51. package/templates/default/content/posts/blog_docs_en/01.get-started/01-intro.md +81 -0
  52. package/templates/default/content/posts/blog_docs_en/01.get-started/02-install.md +137 -0
  53. package/templates/default/content/posts/blog_docs_en/01.get-started/03-create-post.md +176 -0
  54. package/templates/default/content/posts/blog_docs_en/01.get-started/04-structure.md +173 -0
  55. package/templates/default/content/posts/blog_docs_en/01.get-started/05-deploy.md +208 -0
  56. package/templates/default/content/posts/blog_docs_en/01.get-started/README.md +52 -0
  57. package/templates/default/content/posts/blog_docs_en/02.guide/02-containers.md +245 -0
  58. package/templates/default/content/posts/blog_docs_en/02.guide/03-code-blocks.md +207 -0
  59. package/templates/default/content/posts/blog_docs_en/02.guide/03-mermaid.md +194 -0
  60. package/templates/default/content/posts/blog_docs_en/02.guide/04-icons.md +229 -0
  61. package/templates/default/content/posts/blog_docs_en/02.guide/06-latex.md +233 -0
  62. package/templates/default/content/posts/blog_docs_en/02.guide/07-video.md +184 -0
  63. package/templates/default/content/posts/blog_docs_en/02.guide/08-slides.md +359 -0
  64. package/templates/default/content/posts/blog_docs_en/02.guide/README.md +213 -0
  65. package/templates/default/content/posts/blog_docs_en/03.config/01-site.md +208 -0
  66. package/templates/default/content/posts/blog_docs_en/03.config/02-sidebar.md +240 -0
  67. package/templates/default/content/posts/blog_docs_en/03.config/03-i18n.md +349 -0
  68. package/templates/default/content/posts/blog_docs_en/03.config/README.md +85 -0
  69. package/templates/default/content/posts/blog_docs_en/README.md +79 -0
  70. package/templates/default/content/posts/blog_docs_zh/01.get-started/01-intro.md +81 -0
  71. package/templates/default/content/posts/blog_docs_zh/01.get-started/02-install.md +137 -0
  72. package/templates/default/content/posts/blog_docs_zh/01.get-started/03-create-post.md +176 -0
  73. package/templates/default/content/posts/blog_docs_zh/01.get-started/04-structure.md +173 -0
  74. package/templates/default/content/posts/blog_docs_zh/01.get-started/05-deploy.md +208 -0
  75. package/templates/default/content/posts/blog_docs_zh/01.get-started/README.md +52 -0
  76. package/templates/default/content/posts/blog_docs_zh/02.guide/02-containers.md +245 -0
  77. package/templates/default/content/posts/blog_docs_zh/02.guide/03-code-blocks.md +206 -0
  78. package/templates/default/content/posts/blog_docs_zh/02.guide/03-mermaid.md +194 -0
  79. package/templates/default/content/posts/blog_docs_zh/02.guide/04-icons.md +229 -0
  80. package/templates/default/content/posts/blog_docs_zh/02.guide/06-latex.md +233 -0
  81. package/templates/default/content/posts/blog_docs_zh/02.guide/07-video.md +184 -0
  82. package/templates/default/content/posts/blog_docs_zh/02.guide/08-slides.md +359 -0
  83. package/templates/default/content/posts/blog_docs_zh/02.guide/README.md +213 -0
  84. package/templates/default/content/posts/blog_docs_zh/03.config/01-site.md +208 -0
  85. package/templates/default/content/posts/blog_docs_zh/03.config/02-sidebar.md +240 -0
  86. package/templates/default/content/posts/blog_docs_zh/03.config/03-i18n.md +348 -0
  87. package/templates/default/content/posts/blog_docs_zh/03.config/README.md +85 -0
  88. package/templates/default/content/posts/blog_docs_zh/README.md +78 -0
  89. package/templates/default/package-lock.json +9667 -0
  90. package/templates/default/package.json +1 -1
  91. package/templates/default/src/config/footer.ts +14 -11
  92. package/templates/default/src/config/locales/en/footer.ts +17 -0
  93. package/templates/default/src/config/locales/en/index.ts +20 -0
  94. package/templates/default/src/config/locales/en/menu.ts +14 -0
  95. package/templates/default/src/config/locales/en/sidebar.ts +34 -0
  96. package/templates/default/src/config/locales/en/site.ts +7 -0
  97. package/templates/default/src/config/locales/en/ui.ts +29 -0
  98. package/templates/default/src/config/locales/index.ts +7 -0
  99. package/templates/default/src/config/locales/zh-CN/footer.ts +17 -0
  100. package/templates/default/src/config/locales/zh-CN/index.ts +20 -0
  101. package/templates/default/src/config/locales/zh-CN/menu.ts +14 -0
  102. package/templates/default/src/config/locales/zh-CN/sidebar.ts +34 -0
  103. package/templates/default/src/config/locales/zh-CN/site.ts +7 -0
  104. package/templates/default/src/config/locales/zh-CN/ui.ts +29 -0
  105. package/templates/default/src/config/sidebar.ts +10 -12
  106. package/templates/default/src/config/site.ts +2 -2
  107. package/templates/default/src/content.config.ts +15 -3
  108. package/templates/default/src/env.d.ts +7 -0
  109. package/dist/chunk-MQXPSOYB.js +0 -124
  110. package/templates/default/content/posts/blog_docs/01-quick-start.md +0 -162
  111. package/templates/default/content/posts/blog_docs/02-frontmatter.md +0 -277
  112. package/templates/default/content/posts/blog_docs/03-markdown-basic.md +0 -350
  113. package/templates/default/content/posts/blog_docs/04-containers.md +0 -331
  114. package/templates/default/content/posts/blog_docs/05-code-blocks.md +0 -388
  115. package/templates/default/content/posts/blog_docs/06-mermaid.md +0 -431
  116. package/templates/default/content/posts/blog_docs/07-video.md +0 -243
  117. package/templates/default/content/posts/blog_docs/08-latex.md +0 -382
  118. package/templates/default/content/posts/blog_docs/09-icons.md +0 -326
  119. package/templates/default/content/posts/blog_docs/10-sidebar.md +0 -445
  120. package/templates/default/content/posts/blog_docs/11-config.md +0 -334
  121. package/templates/default/content/posts/blog_docs/12-slides.mdx +0 -552
  122. package/templates/default/content/posts/blog_docs/README.md +0 -151
@@ -1,552 +0,0 @@
1
- ---
2
- title: 幻灯片演示
3
- description: 使用 Reveal.js 创建专业的演示文稿
4
- pubDate: 2025-01-05
5
- author: Astro Blog
6
- categories:
7
- - 博客教程
8
- tags:
9
- - 幻灯片
10
- - Reveal.js
11
- - 演示
12
- ---
13
-
14
- import Slides from '@jet-w/astro-blog/components/media/Slides.astro';
15
-
16
- # 幻灯片演示
17
-
18
- 博客系统集成了 [Reveal.js](https://revealjs.com/),让你可以直接使用 Markdown 创建专业的演示文稿。
19
-
20
- ## 两种使用方式
21
-
22
- 博客系统提供了两种创建幻灯片的方式:
23
-
24
- | 方式 | 目录 | 说明 | 适用场景 |
25
- |------|------|------|----------|
26
- | **独立幻灯片** | `content/slides/` | 专门的幻灯片页面 | 独立演示、可复用内容 |
27
- | **文章内幻灯片** | `content/posts/` | 在文章中使用 `layout: slides` | 与博客内容结合 |
28
-
29
- ## 方式一:独立幻灯片
30
-
31
- 在 `content/slides/` 目录下创建 `.md` 文件:
32
-
33
- ```markdown
34
- ---
35
- title: 我的演示
36
- description: 演示描述
37
- pubDate: 2025-01-05
38
- theme: black
39
- slideNumber: true
40
- ---
41
-
42
- # 欢迎
43
-
44
- 这是第一页
45
-
46
- ---
47
-
48
- ## 第二页
49
-
50
- 使用 `---` 分隔幻灯片
51
-
52
- ---
53
-
54
- # 完成!
55
- ```
56
-
57
- 访问路径:`/slides/我的演示`
58
-
59
- ::: tip 幻灯片列表
60
- 访问 `/slides` 可以查看所有独立幻灯片的列表页面。
61
- :::
62
-
63
- ### 基础演示
64
-
65
- <Slides src="/slides/docs/basic-demo" height="400px" />
66
-
67
- ## 方式二:文章内幻灯片
68
-
69
- 在 `content/posts/` 目录下的任何位置创建 `.md` 文件,添加 `layout: slides` 即可:
70
-
71
- ```markdown
72
- ---
73
- title: 技术分享
74
- description: 在文章目录中的幻灯片
75
- pubDate: 2025-01-05
76
- tags:
77
- - 技术
78
- - 分享
79
- categories:
80
- - 演示
81
- layout: slides
82
- theme: white
83
- transition: fade
84
- slideNumber: true
85
- ---
86
-
87
- # 技术分享
88
-
89
- 这是在 posts 目录中的幻灯片
90
-
91
- ---
92
-
93
- ## 功能特点
94
-
95
- - 与博客文章在同一目录
96
- - 支持分类和标签
97
- - 会出现在文章列表中
98
- ```
99
-
100
- 访问路径:`/posts/目录/文件名`
101
-
102
- ::: note 示例
103
- 查看 [/posts/test/test-slides](/posts/test/test-slides) 查看实际效果。
104
- :::
105
-
106
- ## Frontmatter 配置
107
-
108
- ### 独立幻灯片 (content/slides/)
109
-
110
- | 字段 | 类型 | 默认值 | 说明 |
111
- |------|------|--------|------|
112
- | `title` | string | - | **必填**,演示标题 |
113
- | `description` | string | - | 演示描述 |
114
- | `pubDate` | date | - | 发布日期 |
115
- | `author` | string | - | 作者 |
116
- | `tags` | array | [] | 标签列表 |
117
- | `theme` | string | `black` | Reveal.js 主题 |
118
- | `transition` | string | `slide` | 过渡动画 |
119
- | `controls` | boolean | `true` | 显示控制箭头 |
120
- | `progress` | boolean | `true` | 显示进度条 |
121
- | `center` | boolean | `true` | 内容垂直居中 |
122
- | `slideNumber` | boolean | `false` | 显示页码 |
123
- | `hash` | boolean | `true` | URL 包含 hash |
124
- | `draft` | boolean | `false` | 草稿状态 |
125
-
126
- ### 文章内幻灯片 (content/posts/)
127
-
128
- 除了上述字段外,还支持:
129
-
130
- | 字段 | 类型 | 默认值 | 说明 |
131
- |------|------|--------|------|
132
- | `layout` | string | `default` | 设为 `slides` 启用幻灯片 |
133
- | `categories` | array | [] | 分类(会出现在博客分类中) |
134
-
135
- ### 完整配置示例
136
-
137
- ```yaml
138
- ---
139
- title: 产品发布会
140
- description: 2025年新产品发布演示
141
- pubDate: 2025-01-05
142
- author: 产品经理
143
- tags:
144
- - 产品
145
- - 发布
146
- categories:
147
- - 演示
148
- layout: slides # 关键:启用幻灯片布局
149
- theme: night
150
- transition: fade
151
- controls: true
152
- progress: true
153
- center: true
154
- slideNumber: true
155
- draft: false
156
- ---
157
- ```
158
-
159
- ## 可用主题
160
-
161
- | 主题 | 说明 | 适用场景 |
162
- |------|------|----------|
163
- | `black` | 黑色背景,白色文字 | 通用演示(默认) |
164
- | `white` | 白色背景,黑色文字 | 正式场合、打印 |
165
- | `league` | 深灰色背景 | 商务演示 |
166
- | `beige` | 米色背景 | 温馨风格 |
167
- | `night` | 深蓝色背景 | 夜间模式 |
168
- | `serif` | 衬线字体风格 | 学术演示 |
169
- | `simple` | 极简白色 | 简约风格 |
170
- | `solarized` | Solarized 配色 | 开发者演示 |
171
- | `blood` | 深红色强调 | 有冲击力的演示 |
172
- | `moon` | 深蓝月光风格 | 创意演示 |
173
-
174
- ### 主题演示
175
-
176
- <Slides src="/slides/docs/theme-demo" height="400px" />
177
-
178
- ## 过渡动画
179
-
180
- | 值 | 效果 |
181
- |------|------|
182
- | `none` | 无动画 |
183
- | `fade` | 淡入淡出 |
184
- | `slide` | 滑动(默认) |
185
- | `convex` | 凸面翻转 |
186
- | `concave` | 凹面翻转 |
187
- | `zoom` | 缩放 |
188
-
189
- ## 幻灯片语法
190
-
191
- ### 水平幻灯片
192
-
193
- 使用 `---` 分隔水平幻灯片(主线内容):
194
-
195
- ```markdown
196
- # 第一页
197
-
198
- 内容...
199
-
200
- ---
201
-
202
- # 第二页
203
-
204
- 按 → 键切换
205
-
206
- ---
207
-
208
- # 第三页
209
-
210
- 继续...
211
- ```
212
-
213
- ### 垂直幻灯片
214
-
215
- 使用 `----` 分隔垂直幻灯片(章节子内容):
216
-
217
- ```markdown
218
- # 第一章
219
-
220
- 概述内容
221
-
222
- ----
223
-
224
- ## 1.1 详细说明
225
-
226
- 按 ↓ 键查看
227
-
228
- ----
229
-
230
- ## 1.2 更多内容
231
-
232
- 按 → 返回主线
233
-
234
- ---
235
-
236
- # 第二章
237
-
238
- 新的章节
239
- ```
240
-
241
- ### 垂直幻灯片演示
242
-
243
- <Slides src="/slides/docs/vertical-demo" height="400px" />
244
-
245
- ::: tip 垂直幻灯片用途
246
- 垂直幻灯片适合:
247
- - 章节下的详细展开
248
- - 可选的补充内容
249
- - 深入解释某个概念
250
- :::
251
-
252
- ## 代码高亮
253
-
254
- 支持所有主流编程语言:
255
-
256
- ### 代码演示
257
-
258
- <Slides src="/slides/docs/code-demo" height="400px" />
259
-
260
- ## 数学公式
261
-
262
- 支持 LaTeX 语法:
263
-
264
- ```markdown
265
- ## 数学公式
266
-
267
- 行内公式:$E = mc^2$
268
-
269
- 块级公式:
270
-
271
- $$
272
- \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
273
- $$
274
- ```
275
-
276
- ### 数学公式演示
277
-
278
- <Slides src="/slides/docs/math-demo" height="400px" />
279
-
280
- ## Mermaid 图表
281
-
282
- 幻灯片支持 Mermaid 图表,可绘制流程图、时序图、类图等:
283
-
284
- ```markdown
285
- ## 流程图
286
-
287
- ​```mermaid
288
- graph TD
289
- A[开始] --> B{条件判断}
290
- B -->|是| C[执行操作]
291
- B -->|否| D[跳过]
292
- C --> E[结束]
293
- D --> E
294
- ​```
295
- ```
296
-
297
- ### Mermaid 演示
298
-
299
- <Slides src="/slides/docs/mermaid-demo" height="400px" />
300
-
301
- ## ECharts 图表
302
-
303
- 幻灯片支持 ECharts 交互式图表:
304
-
305
- ```markdown
306
- ## 折线图
307
-
308
- ​```echarts
309
- {
310
- "xAxis": {
311
- "type": "category",
312
- "data": ["Mon", "Tue", "Wed", "Thu", "Fri"]
313
- },
314
- "yAxis": { "type": "value" },
315
- "series": [{
316
- "data": [150, 230, 224, 218, 135],
317
- "type": "line"
318
- }]
319
- }
320
- ​```
321
- ```
322
-
323
- ### ECharts 演示
324
-
325
- <Slides src="/slides/docs/echarts-demo" height="400px" />
326
-
327
- ## 表格
328
-
329
- ```markdown
330
- ## 功能对比
331
-
332
- | 功能 | 免费版 | 专业版 |
333
- |------|:------:|:------:|
334
- | 基础功能 | ✓ | ✓ |
335
- | 高级分析 | ✗ | ✓ |
336
- | API 访问 | ✗ | ✓ |
337
- | 技术支持 | 邮件 | 24/7 |
338
- ```
339
-
340
- ## 分栏布局
341
-
342
- ```markdown
343
- ## 对比展示
344
-
345
- <div style="display: flex; gap: 2em;">
346
- <div style="flex: 1;">
347
-
348
- ### 方案 A
349
-
350
- - 成本低
351
- - 实现快
352
- - 风险小
353
-
354
- </div>
355
- <div style="flex: 1;">
356
-
357
- ### 方案 B
358
-
359
- - 性能高
360
- - 扩展性好
361
- - 长期收益
362
-
363
- </div>
364
- </div>
365
- ```
366
-
367
- ## Fragment 动画
368
-
369
- 逐步显示内容:
370
-
371
- ```markdown
372
- ## 核心功能
373
-
374
- <p class="fragment">1. 智能分析</p>
375
- <p class="fragment">2. 自动化处理</p>
376
- <p class="fragment">3. 可视化报表</p>
377
- <p class="fragment fade-up">4. 实时监控</p>
378
- ```
379
-
380
- ### Fragment 演示
381
-
382
- <Slides src="/slides/docs/fragment-demo" height="400px" />
383
-
384
- | 类名 | 效果 |
385
- |------|------|
386
- | `fragment` | 默认淡入 |
387
- | `fragment fade-out` | 淡出 |
388
- | `fragment fade-up` | 从下方淡入 |
389
- | `fragment fade-down` | 从上方淡入 |
390
- | `fragment highlight-red` | 高亮红色 |
391
- | `fragment highlight-green` | 高亮绿色 |
392
- | `fragment highlight-blue` | 高亮蓝色 |
393
-
394
- ## 演讲者备注
395
-
396
- ```markdown
397
- ## 重要观点
398
-
399
- 这是观众看到的内容
400
-
401
- Note:
402
- 这是演讲者备注,只在演讲者视图中显示。
403
- - 记得强调这一点
404
- - 准备回答相关问题
405
- ```
406
-
407
- 按 `S` 键打开演讲者视图。
408
-
409
- ## 键盘快捷键
410
-
411
- | 快捷键 | 功能 |
412
- |--------|------|
413
- | `→` / `Space` | 下一页 |
414
- | `←` | 上一页 |
415
- | `↑` | 上一个垂直页 |
416
- | `↓` | 下一个垂直页 |
417
- | `Esc` / `O` | 概览模式 |
418
- | `F` | 全屏模式 |
419
- | `S` | 演讲者视图 |
420
- | `B` / `.` | 黑屏暂停 |
421
- | `Home` | 第一页 |
422
- | `End` | 最后一页 |
423
-
424
- ## 在文章中嵌入幻灯片
425
-
426
- 除了独立的幻灯片页面,还可以在普通文章(`.mdx`)中嵌入幻灯片。
427
-
428
- ### 使用 Slides 组件
429
-
430
- ```mdx
431
- ---
432
- title: 我的文章
433
- ---
434
-
435
- import Slides from '@jet-w/astro-blog/components/media/Slides.astro';
436
-
437
- # 文章内容
438
-
439
- 下面是嵌入的幻灯片:
440
-
441
- <Slides src="/slides/demo" height="500px" />
442
-
443
- 继续阅读...
444
- ```
445
-
446
- ### Slides 组件属性
447
-
448
- | 属性 | 类型 | 默认值 | 说明 |
449
- |------|------|--------|------|
450
- | `src` | string | - | 幻灯片 URL |
451
- | `height` | string | - | 容器高度 |
452
- | `aspectRatio` | string | `"16/9"` | 宽高比 |
453
- | `theme` | string | `"black"` | 主题 |
454
- | `transition` | string | `"slide"` | 过渡效果 |
455
- | `controls` | boolean | `true` | 控制箭头 |
456
- | `progress` | boolean | `true` | 进度条 |
457
- | `slideNumber` | boolean | `false` | 页码 |
458
-
459
- ### 内联幻灯片内容
460
-
461
- ```mdx
462
- import Slides from '@jet-w/astro-blog/components/media/Slides.astro';
463
-
464
- <Slides height="400px" theme="white">
465
- # 欢迎
466
-
467
- 内嵌幻灯片
468
-
469
- ---
470
-
471
- ## 第二页
472
-
473
- - 要点一
474
- - 要点二
475
-
476
- ---
477
-
478
- # 完成!
479
- </Slides>
480
- ```
481
-
482
- ## 完整幻灯片示例
483
-
484
- 点击下方幻灯片查看完整演示:
485
-
486
- <Slides src="/slides/demo" height="500px" />
487
-
488
- ## 目录结构
489
-
490
- ```
491
- content/
492
- ├── slides/ # 独立幻灯片目录
493
- │ ├── demo.md # 示例演示
494
- │ ├── product-intro.md # 产品介绍
495
- │ └── docs/ # 文档演示幻灯片
496
- │ ├── basic-demo.md # 基础演示
497
- │ ├── code-demo.md # 代码高亮
498
- │ ├── vertical-demo.md # 垂直幻灯片
499
- │ ├── math-demo.md # 数学公式
500
- │ ├── fragment-demo.md # Fragment 动画
501
- │ ├── theme-demo.md # 主题演示
502
- │ ├── mermaid-demo.md # Mermaid 图表
503
- │ └── echarts-demo.md # ECharts 图表
504
- └── posts/ # 博客文章目录
505
- └── test/
506
- └── test-slides.md # layout: slides 的文章
507
- ```
508
-
509
- ## 常见问题
510
-
511
- ### 幻灯片不显示?
512
-
513
- 检查:
514
- 1. 独立幻灯片:文件在 `content/slides/` 目录
515
- 2. 文章幻灯片:添加了 `layout: slides`
516
- 3. Frontmatter 格式正确(`---` 包围)
517
- 4. `draft` 不是 `true`
518
-
519
- ### layout: slides 不生效?
520
-
521
- 确保:
522
- 1. 文件在 `content/posts/` 目录下
523
- 2. frontmatter 中 `layout: slides` 正确设置
524
- 3. 重启开发服务器清理缓存
525
-
526
- ### 代码高亮不工作?
527
-
528
- 确保代码块指定了语言:
529
-
530
- ````markdown
531
- ```javascript
532
- // 正确:指定语言
533
- const x = 1;
534
- ```
535
- ````
536
-
537
- ### 数学公式不渲染?
538
-
539
- 使用正确的 LaTeX 语法:
540
- - 行内:`$E = mc^2$`
541
- - 块级:`$$公式$$`
542
-
543
- ## 相关示例
544
-
545
- - [独立幻灯片示例](/slides/demo) - 查看 `content/slides/demo.md`
546
- - [文章内幻灯片](/posts/test/test-slides) - 查看 `content/posts/test/test-slides.md`
547
-
548
- ## 下一步
549
-
550
- - 阅读 [Reveal.js 官方文档](https://revealjs.com/) 了解更多高级功能
551
- - 查看 [Markdown 基础](./03-markdown-basic) 复习语法
552
- - 了解 [代码块](./05-code-blocks) 使用技巧
@@ -1,151 +0,0 @@
1
- ---
2
- title: 博客使用指南
3
- description: Astro Tech Blog 完整使用文档,涵盖配置、写作、样式等各个方面
4
- pubDate: 2025-12-11
5
- author: Astro Blog
6
- categories:
7
- - 博客教程
8
- tags:
9
- - 文档
10
- - 指南
11
- star: true
12
- ---
13
-
14
- # Astro Tech Blog 使用指南
15
-
16
- 欢迎使用 Astro Tech Blog!这是一个基于 Astro 构建的现代化技术博客系统,支持 Markdown/MDX 写作、代码高亮、数学公式、流程图、视频嵌入等丰富功能。
17
-
18
- ## 文档目录
19
-
20
- ### 入门指南
21
-
22
- | 文档 | 说明 |
23
- |------|------|
24
- | [快速开始](./01-quick-start) | 项目安装、运行与部署 |
25
- | [Frontmatter 配置](./02-frontmatter) | 文章头部元数据配置详解 |
26
-
27
- ### 内容写作
28
-
29
- | 文档 | 说明 |
30
- |------|------|
31
- | [Markdown 基础](./03-markdown-basic) | Markdown 基础语法与扩展 |
32
- | [容器语法](./04-containers) | 提示框、警告框等容器组件 |
33
- | [代码块](./05-code-blocks) | 代码高亮、行号、复制功能 |
34
- | [Mermaid 图表](./06-mermaid) | 流程图、时序图、甘特图等 |
35
- | [视频嵌入](./07-video) | YouTube、Bilibili、自托管视频 |
36
- | [LaTeX 数学公式](./08-latex) | 行内公式与公式块 |
37
-
38
- ### 系统配置
39
-
40
- | 文档 | 说明 |
41
- |------|------|
42
- | [图标系统](./09-icons) | 多图标库支持与使用方法 |
43
- | [侧边栏配置](./10-sidebar) | 导航菜单的自动扫描与手动配置 |
44
- | [站点配置](./11-config) | 站点信息、菜单、样式等配置 |
45
-
46
- ## 核心特性
47
-
48
- ::: tip 丰富的写作功能
49
- - **Markdown/MDX** - 支持标准 Markdown 及 MDX 组件
50
- - **代码高亮** - 基于 Shiki,支持 100+ 语言
51
- - **数学公式** - KaTeX 渲染,支持行内和块级公式
52
- - **Mermaid 图表** - 流程图、时序图、甘特图等
53
- - **容器语法** - tip、warning、danger 等提示框
54
- - **视频嵌入** - 支持 YouTube、Bilibili、自托管视频
55
- :::
56
-
57
- ::: info 系统功能
58
- - **深色模式** - 默认深色主题,支持切换
59
- - **响应式设计** - 完美适配桌面和移动端
60
- - **SEO 优化** - 自动生成 meta 标签和 sitemap
61
- - **RSS 订阅** - 自动生成 RSS feed (`/rss.xml`)
62
- - **全文搜索** - 快速搜索文章内容
63
- - **浮动目录** - 文章目录导航
64
- :::
65
-
66
- ## 配置系统
67
-
68
- 博客采用模块化配置设计,所有配置文件位于 `src/config/` 目录:
69
-
70
- | 文件 | 说明 |
71
- |------|------|
72
- | `site.ts` | 站点标题、描述、作者等基本信息 |
73
- | `menu.ts` | 顶部导航菜单配置 |
74
- | `sidebar.ts` | 侧边栏配置(支持自动扫描目录) |
75
- | `social.ts` | 社交链接配置 |
76
- | `footer.ts` | 页脚配置 |
77
-
78
- ## 目录结构
79
-
80
- ```
81
- astro_blog/
82
- ├── content/
83
- │ ├── posts/ # 博客文章(支持子目录分类)
84
- │ └── pages/ # 独立页面(如 about)
85
- ├── public/
86
- │ ├── images/ # 图片资源
87
- │ └── videos/ # 视频资源
88
- ├── src/
89
- │ ├── components/ # 组件
90
- │ │ └── media/ # 视频组件(YouTube、Bilibili、Video)
91
- │ ├── config/ # 配置文件
92
- │ ├── layouts/ # 布局模板
93
- │ ├── pages/ # 页面路由
94
- │ └── styles/ # 全局样式
95
- └── astro.config.mjs # Astro 配置
96
- ```
97
-
98
- ## 快速开始
99
-
100
- ```bash
101
- # 安装依赖
102
- npm install
103
-
104
- # 开发模式
105
- npm run dev
106
-
107
- # 构建生产版本
108
- npm run build
109
-
110
- # 预览构建结果
111
- npm run preview
112
- ```
113
-
114
- ## 创建文章
115
-
116
- 在 `content/posts/` 目录下创建 `.md` 或 `.mdx` 文件:
117
-
118
- ```markdown
119
- ---
120
- title: 文章标题
121
- description: 文章描述
122
- pubDate: 2025-01-01
123
- tags:
124
- - 标签1
125
- - 标签2
126
- categories:
127
- - 分类
128
- ---
129
-
130
- 文章内容...
131
- ```
132
-
133
- ::: note 目录即分类
134
- 将文章放入子目录可自动组织结构,如 `content/posts/tech/article.md` 会生成路径 `/posts/tech/article`。每个目录可包含 `README.md` 作为目录首页。
135
- :::
136
-
137
- ## 技术栈
138
-
139
- ::: details 查看完整技术栈
140
- - **框架**: [Astro](https://astro.build) v5.x
141
- - **样式**: [Tailwind CSS](https://tailwindcss.com) v4.x
142
- - **组件**: [Vue 3](https://vuejs.org)
143
- - **代码高亮**: [Shiki](https://shiki.style)
144
- - **数学公式**: [KaTeX](https://katex.org)
145
- - **图表**: [Mermaid](https://mermaid.js.org)
146
- - **图标**: Font Awesome、Material Icons、Remix Icon、Bootstrap Icons
147
- :::
148
-
149
- ---
150
-
151
- 准备好了吗?从 [快速开始](./01-quick-start) 开始你的博客之旅!