Astro 个人博客架构设计记录

记录本项目为什么选择 Astro、Markdown/MDX 和静态部署,以及第一版架构边界和技术选型。

Web Astro, TypeScript, Tailwind CSS, 静态博客 RH XING

Astro 个人博客架构设计记录

为什么选择 Astro

本项目是一个个人技术博客,核心需求是:

  1. 内容以 Markdown 文件管理,便于长期写作和维护
  2. 构建产物为纯静态文件,不依赖服务器运行
  3. 技术栈简单,不引入不必要的复杂度
  4. 支持 Content Collections 进行内容校验

Astro 天然匹配这些需求。它默认输出零 JavaScript 的静态 HTML,支持 Markdown/MDX 作为一等公民的内容格式,内置 Content Collections 提供类型安全的内容管理。

技术栈边界

第一版固定使用的技术:

  • Astro:静态站点框架
  • TypeScript:类型约束和 Content Collections schema
  • Tailwind CSS:样式方案,保持视觉克制
  • Markdown / MDX:内容格式
  • pnpm:包管理器

第一版明确不引入 React、Vue、Svelte 等前端框架,不使用数据库、CMS 或后端服务。

部署策略

本项目优先部署到 Cloudflare Pages。腾讯云服务器只作为临时开发环境,服务器到期后站点迁移到静态托管平台继续运行。域名可以保留并绑定到新的托管平台。

这种策略保证了博客的长期可用性,不因为单台服务器到期而导致站点下线。

内容管理

所有文章和项目信息存放在 src/content/ 下,通过 Astro Content Collections 校验 frontmatter 字段。新增内容的流程为:本地创建 Markdown 文件 → 提交到 Git 仓库 → 推送远程 → 触发自动部署。

后续计划

第一版 MVP 聚焦于核心功能:首页、博客列表、文章详情、项目展示和关于页。RSS、搜索、评论等功能在第一版完成后再逐个评估。