返回项目列表

个人主页项目

2026-06-24Next.jsTypeScriptTailwind CSS

基于 Next.js 16 + TypeScript + Tailwind CSS 的个人主页,部署于腾讯云 CVM(Docker Compose),支持随笔、项目展示、生活记录、关于我、SEO 等模块。域名 leehojou.top。

个人主页项目

项目简介

本项目是一个功能完整的个人主页网站,采用 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 16React 框架,支持 App Router、服务端组件
TypeScript类型安全
Tailwind CSS 4样式方案
gray-matter解析 Markdown frontmatter
react-markdown + rehype-highlightMarkdown 渲染与代码高亮
remark-gfmGitHub 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 构建完成。