基于Astro框架构建的博客系统,使用React作为辅助UI库,通过Markdown文件管理内容。
- 框架: Astro 5 + React 19
- 样式: TailwindCSS + PostCSS + SCSS模块化
- 语法高亮: PrismJS
- 构建工具: Vite 6
- 包管理: pnpm
- 部署: Docker容器化
- Node.js >= 21.1
- pnpm >= 8
bash
pnpm install
pnpm devpnpm builddocker compose -f .\docker-compose.prod.yml up --build
.
├── docker/ # Docker生产环境配置
├── public/ # 静态资源
│ └── css/ # 第三方CSS
├── src/
│ ├── content/ # 博客内容(Markdown)
│ ├── styles/ # 模块化样式
│ └── content.config.ts # 内容配置
├── astro.config.mjs # Astro主配置
└── tailwind.config.cjs # Tailwind配置
博客文章存放在src/content/blog/目录,支持以下Frontmatter字段:
---
title: 文章标题
date: 2023-01-01
tags: [技术, 前端]
---- 新增文章:在
src/content/blog/创建.md文件 - 样式开发:
- 全局样式:
src/styles/global.css - 模块化CSS:
*.module.css
- 全局样式:
- 组件开发:使用React+TypeScript编写
| 包名 | 用途 |
|---|---|
| @astrojs/react | React集成 |
| @astrojs/markdown-remark | Markdown解析 |
| @astrojs/sitemap | SEO优化 |
| lightningcss | CSS处理 |
| tailwindcss | CSS框架 |