技术栈
- 框架:Next.js 16(App Router)+ React 19
- 语言:TypeScript(strict)
- 样式:Tailwind CSS v4
- 数据库:PostgreSQL + Prisma
- 内容:MDX(Blog / Reading / Travel)+ JSON(Travel index 与 hero)
- 测试:
tsx --test
业务模块
网站包含四个内容模块和一个后台模块:- Blog(技术文章)
- Reading(读书笔记)
- Travel(旅行日志)
- Projects(项目作品)
- Admin(后台管理)
核心目录
数据流(读取)
默认读取路径如下:- 页面调用
lib/*/repository.ts或lib/travel/content.ts - 如果存在
DATABASE_URL,优先尝试读取数据库 - 数据库不可用时回退到
content/*文件 - 页面渲染列表或详情
- 本地无数据库时仍可预览主要内容
- 生产有数据库时可用后台统一管理
数据流(写入/同步)
主要通过以下入口同步内容:- CLI:
npm run content:sync - API:
POST /api/admin/sync
- 扫描内容目录(如
content/blog/*) - 解析 frontmatter
- upsert 到数据库
- 处理标签、系列等关系
- 对本地已删除内容做归档状态更新(
ARCHIVED)
路由总览
主要前台路由://blog、/blog/[slug]、/blog/tag/[slug]、/blog/series/[slug]/reading、/reading/[slug]/travel、/travel/[slug]/projects、/projects/[slug]
/admin/login/admin/admin/posts/admin/reading/admin/travel/admin/projects
POST /api/admin/loginPOST /api/admin/logoutPOST /api/admin/sync
你应该先读哪一页
- 你负责内容编辑:从
/guides/content-blog开始 - 你负责后台运营:从
/guides/admin-dashboard开始 - 你负责上线维护:从
/guides/deployment开始