想建个人博客,又不想花三个月折腾,或者每月为CMS付费?现在有更轻的路线:用Astro框架,加上Markdown文件、Content Collections、少量Tailwind,最后部署到Cloudflare Workers这类静态托管上。本文这套搭建方式,正是这个站点正在用的方案。

Astro官方对自己的定位就是"面向内容型站点的框架,默认服务端渲染"。落到实际使用中,它的好处很直接:没有状态管理,不用为了写篇文章去学一个JavaScript框架;默认输出静态HTML,不主动加载JS脚本;构建产物是纯静态文件,部署到任意CDN只需几秒。每篇文章就是一个.md文件,用Git管理版本,任何文本编辑器都能改。

打开网易新闻 查看精彩图片

内容集合(Content Collections)用Zod给文章front matter做类型校验,构建时就检查数据格式,写错字段会让构建直接失败,而不是上线后悄悄出问题——相当于把错误拦截在发布之前。

搭建步骤也简单。先创建项目,几行命令搞定:

npm create astro@latest -- --template minimal
cd mon-blog
npm install

接着安装Tailwind v4,用Vite插件方式接入,不需要单独维护tailwind.config.js文件。装好依赖后在astro.config.ts里注册插件,再在全局CSS里加一句@import "tailwindcss"即可。

目录结构刻意保持精简:content.config.ts管文章结构,data/blog/下每篇文章一个文件夹,Layout.astro负责页头、meta和主题,PostDetails.astro渲染文章详情,pages/index.astro是首页,pages/blog/[...slug]/index.astro处理文章详情动态路由。真实项目里很快会加分页路由和其他组件,但起步阶段这些已经够用。

这套方案的核心思路很明确:个人博客应该是一个自己能长期维护的项目——一个Git仓库、一堆Markdown文件、一个静态托管,没有重型外部依赖,没有随时可能消失的CMS,也没有需要自己跑的服务器。