这是 xdanger.com 个人博客网站的源代码仓库,使用 Astro 框架构建。
- 基于 Astro 框架构建的静态博客网站
- 使用
bun
作为包管理器和构建工具 - 支持 MDX 格式的博客文章和笔记
- 集成了 Tailwind CSS 进行样式管理
- 包含博客文章、笔记和标签页面
- Bun 1.2.10 或更高版本
bun install
bun run dev
- 启动开发服务器bun run build
- 构建生产版本bun run preview
- 预览构建后的网站bun run lint
- 运行代码及文档检查bun run fix
- 格式化代码及文档
_posts/
- 博客文章内容 (MDX 格式)_notes/
- 笔记内容 (MDX 格式)src/components/
- 组件src/layouts/
- 页面布局src/pages/
- 页面和路由src/styles/
- 全局样式src/utils/
- 工具函数public/
- 静态资源文件
本项目包含三种 URL 格式以保持向后兼容性:
-
MoveableType 时期的文章(发布日期 <
2013-05-31
):- 文件路径:
src/content/post/YYYY/MM/DD/SEQ.mdx
- 生成的 URL:
/YYYY/MM/DD/SEQ.html
- 注意:不带
.html
后缀的 URL 将返回 404,这是预期行为
- 文件路径:
-
Jekyll 时期的文章 (
2013-05-31
<= 发布日期 <2025-02-28
):- 文件路径:
src/content/post/YYYY/MM/DD/title.mdx
- 生成的 URL:
/YYYY/MM/DD/title.html
(保持与原博客完全一致的 URL 格式) - 注意:不带
.html
后缀的 URL 将返回 404,这是预期行为
- 文件路径:
-
Astro 时期的文章 (
2025-02-28
<= 发布日期):- 文件路径:
src/content/post/YYYY/MMDD-title.mdx
- 生成的 URL:
/YYYY/MMDD-title
(更简洁的新格式,不带.html
后缀)
- 文件路径:
- 代码文件:使用
pretty-quick && biome check --write
修复并格式化 - 文档文件:使用
autocorrect --fix . && prettier --write
修复并格式化
MIGRATION.md
- 包含从 Next.js 迁移到 Astro 的完整过程记录和待办事项astro.config.ts
- Astro 配置文件src/site.config.ts
- 网站核心配置src/utils/url.ts
- URL 格式处理工具函数
网站通过 GitHub Actions 自动部署,配置位于 .github/workflows/
目录。
- 深入解决 URL 的处理,让生成的 URL 合理,让内链的 URL 符合预期(保持老 URL 不变的情况下,新文章使用新 URL 格式)
- 确保 linter/formatter 正确有效,混合使用
autocorrect
,prettier
,biome
,astro check
,并让他们各自发挥所长,不互相冲突 - Use Bun to replace Node.js
- Upgrade Astro to v5.7.0
- 🔖 Migrate custom fonts to v5.7.0 fonts API
- Use Cypress/Playwright to establish an e2e tests framework
- 整理目录结构和代码,让路由更简单合理
- 重构页面布局相关的 components,需要更合理封装组件,而不是现在大量复制黏贴
- 尝试改动页面布局,在大尺寸屏幕上尝试居左,右侧空间留给 TOC
- 在本地跑通 SSR,确保 URL 处理正确
- 在 Vercel 上跑通 SSR
- 代码部分:遵循 Astro 的 MIT 协议
- 文章内容:采用 CC BY-NC-SA 4.0