这个博客怎么跑起来的


这里是 w1ndys/blog,用 Astro 写、部署在 Vercel。

内容从哪来

我的开发和运维记录平时写在私有仓里,公开的这部分是挑选并脱敏之后再搬过来的。所以这里的文章通常比原始记录干净:内网地址、凭据、别人的信息都不会出现。

仓库结构

src/
├─ content/blog/      # 文章,按 YYYY-MM-DD-slug.md 命名
├─ layouts/           # 页面骨架
├─ pages/             # 路由:首页 / 文章列表 / 标签 / 关于
├─ lib/posts.ts       # 取文章、过滤草稿、统计标签
└─ styles/global.css  # 排版

frontmatter

每篇必须有 title、description、pubDate,可选 updatedDate、tags、draft、heroImage。字段类型由 src/content.config.ts 里的 zod schema 约束,写错会在构建时直接报错。

draft: true 的文章只在 pnpm dev 下可见,不会出现在列表、RSS 和构建产物里。

本地跑

pnpm install
pnpm dev      # http://localhost:4321
pnpm build    # 产物在 dist/