项目结构梳理与清理规划

项目结构梳理与清理规划

对象:Lvyizhuo.github.io(Jekyll + Academic Pages / Minimal-Mistakes 学术主页) 初版:2026-07-16 | 更新:2026-07-17 说明:本站是 Jekyll 静态站点_config.yml_data_includes_layouts_pages_sassassets 等目录名由 Jekyll 约定强制固定,不能改名或随意移动,否则构建即失败。因此”重新规划目录”只能在 Jekyll 规则内优化,本报告已据此给出方案并跟踪执行。


一、根目录逐项用途说明

路径类型用途状态
_config.yml配置Jekyll 主配置(站点标题、作者、插件、SEO、集合)✅ 核心
_config.dev.yml配置本地 Docker 开发覆盖配置(url: localhost),由 compose --config 加载✅ 使用中
_data/数据站点结构化数据(导航、作者、博客、i18n)✅ 已清理 (删除了 cv.json)
_includes/模板页面可复用片段(头部、侧栏、SEO、评论等,主题内置)✅ 已清理 (删除了 cv/talk 孤立片段)
_layouts/模板页面骨架布局(single/archive/default 等)✅ 已清理 (删除了 cv-layout/talk)
_pages/内容实际页面:about.md(首页)、year-archive.html(博客)、404.md✅ 全部在用
_sass/样式SCSS 源(主题变量、布局、语法高亮),编译进 main.css✅ 核心
assets/资源编译后 CSS、JS、字体✅ 已清理 (删除了 cv/collapse CSS 和 JS)
images/图片头像、favicon、项目封面、主题截图✅ 已清理 (删除了大量主题示例图)
scripts/脚本CSDN 抓取、博客同步脚本集中管理✅ 已归位 (auto_update_blog.sh 移入)
Dockerfile / docker-compose.yaml / .dockerignore构建本地 Docker 预览环境✅ 使用中
Gemfile / Gemfile.lock依赖Ruby gem 依赖锁定(GitHub Pages 需提交)✅ 核心
package.json依赖主题 JS 压缩构建脚本(生成 main.min.js✅ 工具链,保留
README.md文档已重写为本站真实介绍✅ 已更新
CONTRIBUTING.md文档已更新为个人主页指南✅ 已更新
QUICKSTART.md文档CSDN 博客同步快速指南⚠️ 待合并到 README
LICENSE文档MIT 许可证✅ 保留
PROJECT_STRUCTURE_REVIEW.md文档本文件✅ 当前文档
.github/CIworkflows/pages.yml 部署✅ 保留
.devcontainer/环境GitHub Codespaces 开发容器配置✅ 保留
.claude/编辑器本地工具配置(未纳入 git)✅ 保留
.workbuddy/记忆项目工作记忆(请勿删除✅ 保留
_site/产物Jekyll 构建输出(已 gitignore)🗑️ 缓存
.sass-cache/缓存SCSS 编译缓存(已 gitignore)🗑️ 缓存
.jekyll-metadata缓存增量构建缓存✅ 已修复(从 git 跟踪中移除并加入 .gitignore)
site-preview.png / site-preview-1440.png / site-preview-1920.png图片站点预览截图,站内无引用⚠️ 冗余,待清理

二、清理执行状态

✅ 已完成(已删除或已修复)

说明
构建缓存.jekyll-metadata 从 git 跟踪中移除并加入 .gitignore
CV 子系统_data/cv.json_includes/cv-template.html_layouts/cv-layout.html_includes/archive-single-cv.html_includes/archive-single-talk-cv.htmlassets/css/cv-layout.cssassets/css/cv-style.cssscripts/cv_markdown_to_json.pyscripts/update_cv_json.sh — 整条链删除
Talks 子系统_layouts/talk.html_includes/archive-single-talk.html 删除
折叠组件assets/css/collapse.cssassets/js/collapse.js 删除
主题示例附件files/ 整目录删除(paper1-3.pdf, slides1-3.pdf, bibtex1.bib)
主题示例图片所有 demo 残留图片删除(500x300.png, bio-photo.jpg, homepage.png, foo-bar-identity.jpg 等)
开发补丁_plugins/dev_url.rb 删除(其功能已被 _includes/base_path + _config.dev.yml 替代)
脚本归位auto_update_blog.sh 从根目录移入 scripts/
文档更新README.md 重写为本站真实介绍
CONTRIBUTING.md 更新为个人主页指南

⚠️ 待清理 / 备选

说明优先级
site-preview.png根目录冗余截图
site-preview-1440.png根目录冗余截图
site-preview-1920.png根目录冗余截图
.github/ISSUE_TEMPLATE/模板残留(bug_report/feature_request),个人主页通常无需
QUICKSTART.md内容建议并入 README 后删除

三、命名规范

现状建议
数据文件csdn_posts.yml 等 snake_case✅ 保持 snake_case
脚本.py/.sh snake_case✅ 保持
Compose 文件docker-compose.yaml可选统一为 .yml(社区更常见,非必须)
页面year-archive.html404.md✅ kebab-case,保持
文档全大写 README/QUICKSTART/CONTRIBUTING✅ 约定俗成,保持

结论:命名不需要大动,重点是删冗余、脚本归位。


四、当前目录结构(清理后)

Lvyizhuo.github.io/
├── _config.yml                 # Jekyll 主配置
├── _config.dev.yml             # 本地 Docker 开发覆盖
├── _data/                      # 站点数据
│   ├── authors.yml
│   ├── csdn_posts.yml          # 博客数据(脚本自动生成)
│   ├── navigation.yml
│   └── ui-text.yml
├── _includes/                  # 模板片段(已删除 cv/talk 孤立片段)
├── _layouts/                   # 布局(已删除 cv-layout/talk)
├── _pages/
│   ├── 404.md
│   ├── about.md                # 首页 (permalink: /)
│   └── year-archive.html       # 博客列表
├── _sass/                      # SCSS 源
│   ├── _syntax.scss
│   ├── _themes.scss
│   ├── include/
│   ├── layout/
│   ├── theme/
│   └── vendor/                 # 第三方(breakpoint, FontAwesome, susy)
├── assets/
│   ├── css/                    # main.scss + custom.css + academicons
│   ├── js/                     # main.min.js + _main.js + plugins/
│   ├── fonts/                  # academicons
│   └── webfonts/               # FontAwesome
├── images/                     # 头像 + favicon + 项目封面 + 主题截图
│   ├── projects/
│   └── themes/
├── scripts/                    # 全部自动化脚本
│   ├── auto_update_blog.sh
│   ├── fetch_csdn_articles.py
│   ├── sync_blog.sh
│   └── test_sync.sh
├── Dockerfile
├── docker-compose.yaml
├── .dockerignore
├── Gemfile / Gemfile.lock
├── package.json
├── README.md
├── PROJECT_STRUCTURE_REVIEW.md
├── QUICKSTART.md
├── CONTRIBUTING.md
├── LICENSE
├── .github/workflows/pages.yml
├── .devcontainer/
└── .workbuddy/                 # 工作记忆(勿删)

五、技术栈

层面技术
框架Jekyll (Ruby) 静态站点
模板Academic Pages (基于 Minimal Mistakes)
样式SCSS → 压缩 CSS,支持 light/dark 双主题
排版Times New Roman serif 阅读栈,自定义 custom.css
博客同步Python 爬虫 + GitHub Actions / ECS cron
部署GitHub Pages (actions/deploy-pages)
本地开发Docker Compose / VS Code DevContainer