项目简介
本项目是一个功能完整的个人主页网站,采用 Next.js 16 + TypeScript + Tailwind CSS 技术栈构建,通过 Docker Compose 部署于 腾讯云 CVM(Ubuntu) 服务器。内容管理基于 Markdown 文件,无需数据库,方便维护和扩展。
核心功能
首页
- Hero 区域展示个人简介与头像
- 项目精选展示(置顶项目优先展示)
关于我
- 个人信息与头像展示
- 教育背景、工作经历、技能标签
- 项目经历栏目,description 支持多段落
- 底部"更多项目 →"按钮跳转至项目列表
随笔
- Markdown 渲染,支持 代码语法高亮(rehype-highlight)
- 全文搜索:实时搜索随笔标题与内容
- 分页导航:每页固定数量,前后翻页
- 分类筛选:基于 Markdown frontmatter 中 category 字段自动生成分类树,支持多级分类
项目展示
- 卡片式网格布局,每张卡片展示封面图、标题、描述、日期、标签
- 置顶功能:
pinned: true项目置顶显示 - 详情页包含封面图、视频播放器(
videoUrl字段自动嵌入)、Markdown 正文
生活记录
- 瀑布流(Masonry)照片墙展示
- 图片点击放大(PhotoModal 模态框)
- 主人/访客双模式:标记
private: true的照片仅主人登录后可见 - 按日期排序
SEO 优化
- 自动生成
robots.txt - 自动生成
sitemap.xml(包含所有页面路径) - 每个页面独立
generateMetadata生成标题与描述
技术栈
| 技术 | 用途 |
|---|---|
| Next.js 16 | React 框架,支持 App Router、服务端组件 |
| TypeScript | 类型安全 |
| Tailwind CSS 4 | 样式方案 |
| gray-matter | 解析 Markdown frontmatter |
| react-markdown + rehype-highlight | Markdown 渲染与代码高亮 |
| remark-gfm | GitHub Flavored Markdown 支持 |
| Docker + Docker Compose | 容器化部署,多阶段构建 |
| 腾讯云 CVM | 云服务器,Ubuntu 系统 |
项目结构
app/ # Next.js App Router 页面 about/ # 关于我 essays/ # 随笔列表 projects/ # 项目列表与详情 life/ # 生活记录 api/auth/ # 主人模式认证 API components/ # 可复用 UI 组件 content/ # Markdown 数据源 essays/ # 随笔文章 projects/ # 项目介绍 life/ # 生活记录 templates/ # 内容模板 lib/ # 工具函数(markdown 解析、类型定义等) public/images/ # 静态资源(封面图、生活照片等)
部署
项目通过 Docker Compose 部署于腾讯云 CVM(Ubuntu) 服务器,采用多阶段 Docker 构建以减小镜像体积。映射端口 3000,通过 Nginx 反向代理绑定域名 leehojou.top 并配置 SSL 证书。
# 本地开发(强制 Webpack,避免 Turbopack 中文路由问题)
npm run dev
# 生产构建
npm run build
# Docker Compose 构建并启动(服务器端)
docker compose up -d --build
# 查看运行日志
docker compose logs -f
本项目是完全的 Vibe Coding 项目,利用 Qoder + Deepseek-v4 Pro 构建完成。
