基于 Astro + Tailwind 的静态博客项目,包含文章、资源、分类标签、评论、RSS、Sitemap 与 GitHub Pages 部署流程。
- 资源库
/notes/movies影视资源库(按类型/状态筛选)/notes/3d3D 展览馆(模型筛选 + 预览)- 功能库
/tools/life生活图片图库(相册/标签筛选 + 灯箱预览)/tools/videosB站收藏展示(视频筛选 + 内嵌播放器)/tools/espESP32 监控面板(温度/湿度/电压,支持演示模式与真实接口)
npm ci
cp .env.example .env
npm run devnpm run dev # 本地开发
npm run check # Astro 类型与内容校验
npm run lint # ESLint 基础检查
npm run format:check # Prettier 格式检查
npm run build # 生产构建
npm run test:smoke # smoke: check + build
npm run sync:bili:favorites # 同步 B站收藏快照到 src/data/bilibili-favorites.json请参考 .env.example:
PUBLIC_ENV:development/productionPUBLIC_SITE_URL: 站点主域名(生产建议https://www.nailong.top)PUBLIC_TWIKOO_ENV_ID: Twikoo 服务地址PUBLIC_ESP_DATA_URL: ESP32 数据接口地址(可选,不填则使用演示数据)PUBLIC_GOOGLE_ANALYTICS_ID: GA4 ID(可选)PUBLIC_BAIDU_ANALYTICS_ID: 百度统计 ID(可选)BILI_SPACE_ID/BILI_FAV_MEDIA_ID: B站账号与收藏夹 ID(脚本使用)BILI_COOKIE: 可选,提升收藏夹接口可用性BILI_BVIDS: 可选,收藏夹接口受限时的回退 BVID 列表
- 域名与站点 URL 一致:
public/CNAME、PUBLIC_SITE_URL、public/robots.txt - 评论系统已配置:
PUBLIC_TWIKOO_ENV_ID - 分析脚本按需启用:
PUBLIC_GOOGLE_ANALYTICS_ID/PUBLIC_BAIDU_ANALYTICS_ID - 地图与订阅可访问:
/sitemap-index.xml、/sitemap.xml、/rss.xml - CI 质量门禁通过:
check、lint、format:check
MapleBlog/
├── public/ # 静态资源与 robots/CNAME
├── src/
│ ├── components/ # 页面组件
│ ├── content/ # Markdown 内容集合
│ ├── lib/ # 配置与工具函数
│ ├── pages/ # 路由页面
│ └── styles/ # 样式
├── .env.example
├── astro.config.mjs
├── package.json
└── tsconfig.json