用 Astro 从零搭建这个博客
记录这个博客的技术选型与实现要点:Astro 7 静态、深浅色主题、Shiki 双主题代码高亮、TOC、标签归档、RSS 与 Sveltia CMS。
这是本站的第一篇技术文章,用来验证代码高亮、目录、标签等功能是否正常。
为什么选 Astro
Astro 默认输出零 JavaScript 的静态 HTML,非常适合以阅读为主的博客:加载快、SEO 好,需要交互的地方再用「岛屿」局部注水。
代码高亮示例
下面是一个带高亮标注的代码块(// [!code highlight] 等标注由 @shikijs/transformers 提供):
function greet(name: string): string {
const prefix = 'Hello';
return `${prefix}, ${name}!`;
}
console.log(greet('Astro'));
diff 标注示例:
function sum(a, b) {
return a - b;
return a + b;
}
行内代码与引用
行内代码像这样:const x = 1。
引用块:工具是为了让你更愿意持续输出,别在工具上过度纠结。
提示容器(验证)
小技巧
这是一个 tip 容器。
注意
这是一个默认标题的 warning 容器。
点击展开
折叠内容藏在这里。
任务列表(验证)
- 已完成的事项
- 待办事项
Mermaid 图表(验证)
graph LR A[写作] --> B[git push] B --> C[自动构建] C --> D[上线]
数学公式(验证)
行内公式 ,以及块级公式:
更多 Markdown(验证)
行内高亮 重点内容,以及徽章 NEW 已废弃。
NOTE
这是 GitHub 风格提示(alert)。
WARNING
一条警告级别提示。
这是 Vue 选项卡内容。
这是 React 选项卡内容。
一张卡片
卡片可用作推荐位、说明块或友链条目。
带标题 + 行号的代码块:
const port = 3000;
const host = 'localhost';
console.log(`http://${host}:${port}`);
图表与媒体(验证)
小结
如果代码块有颜色、右上角有复制按钮、右侧有目录、切换深浅色时代码配色也跟着变——那么核心功能就都正常了。
最后更新于 2026-07-12