使用 Astro 搭建技术博客
使用 Astro 搭建技术博客
本文将介绍如何使用 Astro 框架搭建一个技术博客。
为什么选择 Astro?
Astro 是一个专注于内容的静态网站生成器,特别适合博客类网站:
- 内容优先 - 专为内容驱动的网站设计
- 极致性能 - 默认零 JavaScript
- 灵活架构 - 支持多种前端框架
项目结构
├── src/
│ ├── components/ # 可复用组件
│ ├── content/ # 博客内容
│ │ └── blog/ # 博客文章 (Markdown)
│ ├── layouts/ # 布局模板
│ ├── pages/ # 页面路由
│ └── styles/ # 全局样式
├── public/ # 静态资源
├── astro.config.mjs # Astro 配置
└── package.json
内容集合
Astro 的内容集合功能让管理博客文章变得简单:
const blog = defineCollection({
schema: z.object({
title: z.string(),
description: z.string(),
pubDate: z.date(),
tags: z.array(z.string()),
}),
});
部署到 Cloudflare Pages
Cloudflare Pages 提供免费的静态网站托管:
- 连接 GitHub 仓库
- 设置构建命令:
npm run build - 设置输出目录:
dist - 绑定自定义域名
就这么简单!