- 每个代码文件在哪里
- 这个文件大致负责什么
- 范围是
gump-website仓库中的主要代码与配置文件 - 不包含
node_modules、.next等构建产物 hooks/、types/当前没有代码文件
根目录与配置
| 路径 | 功能 |
|---|---|
README.md | 项目总说明、部署示例、脚本与目录介绍 |
package.json | 脚本入口与依赖声明 |
next.config.ts | Next.js 配置 |
tsconfig.json | TypeScript 编译配置与路径别名 |
eslint.config.mjs | ESLint 规则配置 |
postcss.config.mjs | PostCSS 配置 |
docker-compose.db.yml | 本地 PostgreSQL 容器编排 |
app/globals.css | 全局样式与字体注册 |
App Router(app/)
| 路径 | 功能 |
|---|---|
app/layout.tsx | 全站根布局 |
app/page.tsx | 首页,聚合 blog/reading/travel/projects 内容 |
app/blog/layout.tsx | Blog 模块布局 |
app/blog/page.tsx | Blog 列表页 |
app/blog/[slug]/page.tsx | Blog 详情页(MDX 渲染、目录、系列导航) |
app/blog/[slug]/assets/[...assetPath]/route.ts | Blog 文章静态资源代理 |
app/blog/tag/[slug]/page.tsx | Blog 标签聚合页 |
app/blog/series/[slug]/page.tsx | Blog 系列聚合页 |
app/reading/page.tsx | Reading 列表页 |
app/reading/[slug]/page.tsx | Reading 详情页 |
app/reading/[slug]/assets/[...assetPath]/route.ts | Reading 资源代理 |
app/travel/page.tsx | Travel 列表页 |
app/travel/[slug]/page.tsx | Travel 详情页 |
app/projects/page.tsx | Projects 列表页 |
app/projects/[slug]/page.tsx | Projects 详情页 |
app/projects/[slug]/assets/[...assetPath]/route.ts | Projects 资源代理 |
app/admin/layout.tsx | 后台布局根节点 |
app/admin/login/page.tsx | 后台登录页 |
app/admin/(dashboard)/layout.tsx | 后台仪表盘布局 |
app/admin/(dashboard)/page.tsx | 后台概览页 |
app/admin/(dashboard)/posts/page.tsx | Blog 后台管理页 |
app/admin/(dashboard)/reading/page.tsx | Reading 后台管理页 |
app/admin/(dashboard)/travel/page.tsx | Travel 后台管理页 |
app/admin/(dashboard)/projects/page.tsx | Projects 后台管理页 |
app/admin/preview/blog/[slug]/page.tsx | Blog 后台预览页 |
app/api/admin/login/route.ts | 后台登录 API |
app/api/admin/logout/route.ts | 后台登出 API |
app/api/admin/sync/route.ts | 内容同步 API(blog + travel) |
app/api/uploads/[...assetPath]/route.ts | 上传资源访问 API |
核心业务逻辑(lib/)
| 路径 | 功能 |
|---|---|
lib/prisma.ts | Prisma Client 单例 |
lib/profile-locale.ts | 首页个人信息本地化逻辑 |
lib/auth/admin-session.ts | 后台密码校验、session 创建、cookie 管理 |
lib/admin/posts-editor-ui.ts | 后台 Posts 编辑 UI 相关辅助逻辑 |
lib/scripts/format-unknown-error.ts | 脚本错误格式化 |
lib/media/cover-assets.ts | 封面资源派生路径与尺寸选择 |
lib/media/image-encoding.ts | 图像编码处理 |
lib/blog/frontmatter.ts | Blog frontmatter 解析与校验 |
lib/blog/slug.ts | slug 处理与拼音化 |
lib/blog/mdx-code.ts | Blog MDX 代码块相关处理 |
lib/blog/mdx-asset.ts | Blog MDX 资源路径解析 |
lib/blog/file-upload.ts | Blog 上传文件与内容读写 |
lib/blog/repository.ts | Blog 数据读取仓储(DB + 文件回退) |
lib/blog/sync.ts | Blog 内容同步到数据库 |
lib/blog/content-trash.ts | Blog 内容回收站/归档辅助逻辑 |
lib/reading/frontmatter.ts | Reading frontmatter 解析与校验 |
lib/reading/mdx-asset.ts | Reading MDX 资源路径解析 |
lib/reading/file-upload.ts | Reading 上传与内容读写 |
lib/reading/page-cover-settings.ts | Reading 列表页封面配置读取 |
lib/reading/repository.ts | Reading 数据读取仓储(DB + 文件回退) |
lib/travel/frontmatter.ts | Travel frontmatter 解析与校验 |
lib/travel/types.ts | Travel 模块共享类型 |
lib/travel/admin-content.ts | Travel 后台内容读取与整合 |
lib/travel/content.ts | Travel 前台内容读取(index/hero/详情) |
lib/travel/mdx-component-validation.ts | Travel MDX 组件白名单校验 |
lib/travel/mdx-docs.ts | Travel MDX 组件文档生成逻辑 |
lib/travel/image-pipeline.ts | Travel 图像处理流水线 |
lib/travel/sync.ts | Travel 内容同步到数据库 |
lib/projects/content.ts | Projects MDX 内容分离读取 |
lib/projects/mdx-asset.ts | Projects MDX 资源路径处理 |
lib/projects/file-upload.ts | Projects 上传与内容读写 |
lib/projects/repository.ts | Projects 数据仓储与筛选逻辑 |
组件层(components/)
Layout 与公共展示
| 路径 | 功能 |
|---|---|
components/layout/Header.tsx | 全站头部导航 |
components/layout/Footer.tsx | 全站底部 |
components/layout/card.tsx | 通用卡片基础组件 |
components/mdx/CodeBlock.tsx | MDX 代码高亮渲染组件 |
components/blog/OnThisPageNav.tsx | Blog 详情页右侧目录导航 |
首页区块
| 路径 | 功能 |
|---|---|
components/sections/Hero.tsx | 首页 Hero 主视觉 |
components/sections/HeroMotion.tsx | Hero 动效逻辑 |
components/sections/Profile.tsx | 个人介绍区块 |
components/sections/Note.tsx | 首页说明区块 |
components/sections/blog/hero-blog.tsx | 首页 Blog 区块 |
components/sections/blog/hero-blog-card.tsx | 首页 Blog 卡片 |
components/sections/reading/hero-reading.tsx | 首页 Reading 区块 |
components/sections/reading/hero-reading-card.tsx | 首页 Reading 卡片 |
components/sections/travel/hero-travel.tsx | 首页 Travel 区块 |
components/sections/travel/hero-travel-card.tsx | 首页 Travel 卡片 |
components/sections/projects/hero-projects.tsx | 首页 Projects 区块 |
Reading 前台
| 路径 | 功能 |
|---|---|
components/reading/ReadingModulePage.tsx | Reading 列表页容器组件 |
components/reading/ReadingHero.tsx | Reading 页面头图与标题区 |
components/reading/ReadingMasonry.tsx | Reading 卡片瀑布流布局 |
components/reading/ReadingNoteCard.tsx | Reading 列表卡片 |
components/reading/ReadingDetailArticle.tsx | Reading 详情正文组件 |
Travel 前台
| 路径 | 功能 |
|---|---|
components/travel/TravelPageClient.tsx | Travel 列表客户端页面 |
components/travel/TravelHero.tsx | Travel 页面头部 |
components/travel/TravelStoryMasonry.tsx | Travel 列表瀑布流 |
components/travel/TravelStoryCard.tsx | Travel 列表卡片 |
components/travel/TravelFooter.tsx | Travel 页底部 |
components/travel/TravelNoiseOverlay.tsx | Travel 视觉噪点叠层 |
components/travel/travel-utils.ts | Travel 前端数据转换工具 |
components/travel/travel-data.ts | Travel 前端静态辅助数据 |
components/travel/mdx/index.tsx | Travel MDX 组件入口 |
components/travel/mdx/catalog.ts | Travel MDX 组件目录定义 |
Projects 前台
| 路径 | 功能 |
|---|---|
components/projects/ProjectsPageClient.tsx | Projects 列表客户端页面 |
components/projects/ProjectsHero.tsx | Projects 页面头部 |
components/projects/ProjectsToolbar.tsx | Projects 筛选工具条 |
components/projects/ProjectsFeaturedCard.tsx | Projects 精选卡片 |
components/projects/ProjectCard.tsx | Projects 列表卡片 |
components/projects/ProjectDetailModal.tsx | Projects 详情弹窗 |
components/projects/types.ts | Projects 前端类型 |
后台公共组件
| 路径 | 功能 |
|---|---|
components/admin/MobileAdminNav.tsx | 后台移动端导航 |
components/admin/SyncContentButton.tsx | 后台一键同步按钮 |
components/admin/ConfirmSubmitButton.tsx | 二次确认提交按钮 |
后台 Blog(components/admin/posts/)
| 路径 | 功能 |
|---|---|
components/admin/posts/actions.ts | Blog 后台 server actions |
components/admin/posts/constants.ts | Blog 后台常量 |
components/admin/posts/types.ts | Blog 后台类型定义 |
components/admin/posts/PostsHeader.tsx | Blog 后台页头 |
components/admin/posts/PostsViewTabs.tsx | Blog 后台视图切换 |
components/admin/posts/PostsToolbar.tsx | Blog 后台筛选栏 |
components/admin/posts/PostsNotifications.tsx | Blog 后台提示消息 |
components/admin/posts/PostsCreatePanel.tsx | Blog 新建面板 |
components/admin/posts/PostsDataTable.tsx | Blog 数据表格 |
components/admin/posts/PostEditorDrawer.tsx | Blog 编辑抽屉 |
components/admin/posts/PostsResizableDrawer.tsx | Blog 可调宽抽屉容器 |
components/admin/posts/PostContentEditor.tsx | Blog 正文编辑器 |
components/admin/posts/FilePickerInput.tsx | 文件选择输入控件 |
components/admin/posts/SeriesManagerPanel.tsx | 系列管理面板 |
components/admin/posts/TagManagerPanel.tsx | 标签管理面板 |
后台 Reading(components/admin/reading/)
| 路径 | 功能 |
|---|---|
components/admin/reading/actions.ts | Reading 后台 server actions |
components/admin/reading/types.ts | Reading 后台类型 |
components/admin/reading/ReadingHeader.tsx | Reading 后台页头 |
components/admin/reading/ReadingToolbar.tsx | Reading 后台筛选栏 |
components/admin/reading/ReadingNotifications.tsx | Reading 后台消息 |
components/admin/reading/ReadingCreatePanel.tsx | Reading 新建面板 |
components/admin/reading/ReadingDataTable.tsx | Reading 数据表格 |
components/admin/reading/ReadingEditorDrawer.tsx | Reading 编辑抽屉 |
components/admin/reading/ReadingContentEditor.tsx | Reading 正文编辑器 |
components/admin/reading/ReadingPageCoverPanel.tsx | Reading 页面封面配置 |
后台 Travel(components/admin/travel/)
| 路径 | 功能 |
|---|---|
components/admin/travel/actions.ts | Travel 后台 server actions |
components/admin/travel/types.ts | Travel 后台类型 |
components/admin/travel/TravelNotifications.tsx | Travel 后台消息 |
components/admin/travel/TravelDataTable.tsx | Travel 数据表格 |
components/admin/travel/TravelEditorDrawer.tsx | Travel 编辑抽屉 |
components/admin/travel/TravelResizableDrawer.tsx | Travel 可调宽抽屉容器 |
components/admin/travel/TravelContentEditor.tsx | Travel 正文编辑器 |
后台 Projects(components/admin/projects/)
| 路径 | 功能 |
|---|---|
components/admin/projects/actions.ts | Projects 后台 server actions |
components/admin/projects/types.ts | Projects 后台类型 |
components/admin/projects/ProjectsHeader.tsx | Projects 后台页头 |
components/admin/projects/ProjectsToolbar.tsx | Projects 后台筛选栏 |
components/admin/projects/ProjectsNotifications.tsx | Projects 后台消息 |
components/admin/projects/ProjectsCreatePanel.tsx | Projects 新建面板 |
components/admin/projects/ProjectsDataTable.tsx | Projects 数据表格 |
components/admin/projects/ProjectEditorDrawer.tsx | Projects 编辑抽屉 |
components/admin/projects/ProjectContentEditor.tsx | Projects 正文编辑器 |
components/admin/projects/ProjectFeatureListEditor.tsx | Projects Feature 列表编辑器 |
脚本(scripts/)
| 路径 | 功能 |
|---|---|
scripts/content-sync.ts | 执行 blog + travel 同步脚本 |
scripts/travel-mdx-docs.ts | 生成 travel MDX 组件文档 |
scripts/travel-images/build.ts | Travel 图像处理构建脚本 |
scripts/projects-seed.ts | Projects 种子数据初始化 |
数据模型与迁移(prisma/)
| 路径 | 功能 |
|---|---|
prisma/schema.prisma | Prisma 数据模型定义 |
prisma/migrations/20260208120000_init_blog/migration.sql | Blog 初始模型迁移 |
prisma/migrations/20260208141825_add_series_cover_image/migration.sql | Series 封面字段迁移 |
prisma/migrations/20260210123000_add_post_content_module/migration.sql | Post 内容模块字段迁移 |
prisma/migrations/20260210150000_backfill_post_module_by_content_dir/migration.sql | Post 模块字段回填迁移 |
prisma/migrations/20260214103000_add_cover_asset_pipeline_model/migration.sql | 封面资源流水线模型迁移 |
prisma/migrations/20260214114500_split_post_into_blogpost_and_bookpost/migration.sql | Post 拆分为 BlogPost/BookPost |
prisma/migrations/20260214123000_drop_legacy_post_tables/migration.sql | 清理旧表迁移 |
prisma/migrations/20260216150955_add_travel_post_model/migration.sql | TravelPost 模型迁移 |
prisma/migrations/20260216151023_travel_categories_default/migration.sql | Travel categories 默认值迁移 |
prisma/migrations/20260221041345_add_project_module/migration.sql | Projects 模型迁移 |
内容源(content/)
Blog
content/blog/ai-materials-first-principles/index.mdxcontent/blog/dft-to-deployment/index.mdxcontent/blog/thermal-agents-practice/index.mdxcontent/blog/qiang-hua-xue-xi/index.mdxcontent/blog/qiang-hua-xue-xi-ji-chu/index.mdx
Reading
content/reading/design-as-art/index.mdxcontent/reading/invisible-cities/index.mdxcontent/reading/shu-yi/index.mdxcontent/reading/the-unbearable-lightness-of-being/index.mdxcontent/reading/page-cover.json
Travel
content/travel/index.jsoncontent/travel/hero-section.jsoncontent/travel/2023-california-highway-1/index.mdxcontent/travel/2023-dali-slow-time/index.mdxcontent/travel/2023-kyoto-autumn-whisper/index.mdxcontent/travel/2023-paris-rain-night/index.mdxcontent/travel/2023-siena-under-the-sun/index.mdxcontent/travel/2023-zermatt-alpine-morning/index.mdxcontent/travel/2024-chefchaouen-blue-maze/index.mdxcontent/travel/2024-vik-edge-of-world/index.mdxcontent/travel/2023-kyoto-autumn-whisper/manifest.json
Projects
content/projects/nexus-queue/index.mdx
测试(tests/)
| 路径 | 功能 |
|---|---|
tests/profile-locale.test.ts | 个人信息本地化逻辑测试 |
tests/hero.tsx | Hero 相关测试占位文件 |
tests/config/next-config.test.ts | Next 配置测试 |
tests/layout/root-layout-footer.test.ts | 根布局 Footer 渲染测试 |
tests/admin/posts-editor-ui.test.ts | 后台 Posts UI 逻辑测试 |
tests/scripts/format-unknown-error.test.ts | 错误格式化函数测试 |
tests/media/cover-assets.test.ts | 封面资源处理测试 |
tests/media/uploads-route.test.ts | uploads 路由行为测试 |
tests/blog/frontmatter.test.ts | Blog frontmatter 校验测试 |
tests/blog/sync.test.ts | Blog 同步逻辑测试 |
tests/blog/repository-cover-image.test.ts | Blog 封面解析测试 |
tests/blog/mdx-code.test.ts | Blog MDX 代码处理测试 |
tests/blog/mdx-asset.test.ts | Blog MDX 资源解析测试 |
tests/blog/file-upload.test.ts | Blog 上传流程测试 |
tests/blog/content-trash.test.ts | Blog 回收站逻辑测试 |
tests/blog/asset-filename.test.ts | Blog 资源命名规则测试 |
tests/reading/frontmatter.test.ts | Reading frontmatter 测试 |
tests/reading/repository.test.ts | Reading 仓储读取测试 |
tests/reading/mdx-asset.test.ts | Reading 资源路径测试 |
tests/reading/file-upload.test.ts | Reading 上传流程测试 |
tests/reading/page-cover-settings.test.ts | Reading 封面配置读取测试 |
tests/reading/hero-reading-section.test.ts | Reading 首页区块测试 |
tests/reading/masonry-layout.test.ts | Reading 瀑布流布局测试 |
tests/travel/frontmatter.test.ts | Travel frontmatter 测试 |
tests/travel/content.test.ts | Travel 内容读取测试 |
tests/travel/admin-content.test.ts | Travel 后台内容读取测试 |
tests/travel/sync.test.ts | Travel 同步逻辑测试 |
tests/travel/image-pipeline.test.ts | Travel 图像流水线测试 |
tests/travel/mdx-docs.test.ts | Travel MDX 文档生成测试 |
tests/travel/mdx-components.test.tsx | Travel MDX 组件渲染测试 |
tests/travel/travel-utils.test.ts | Travel 工具函数测试 |
tests/travel/story-card.test.tsx | Travel 卡片组件测试 |
tests/travel/hero-travel-section.test.ts | Travel 首页区块测试 |
tests/projects/repository.test.ts | Projects 仓储测试 |
tests/projects/content.test.ts | Projects MDX 内容分离测试 |
tests/projects/mdx-asset.test.ts | Projects 资源路径测试 |
tests/projects/file-upload.test.ts | Projects 上传测试 |
tests/projects/project-editor-drawer.test.tsx | Projects 后台编辑抽屉测试 |
维护建议
当你新增文件时,建议同步更新这页与以下页面:/reference/routes/reference/scripts/reference/environment-variables