311 lines
5.5 KiB
Markdown
311 lines
5.5 KiB
Markdown
# 10-提交指南
|
||
|
||
**创建日期:** 2026-06-03
|
||
**版本:** v1.0
|
||
**适用范围:** 性能优化代码提交
|
||
|
||
---
|
||
|
||
## 📋 提交内容清单
|
||
|
||
### 1. JS优化(已提交)✅
|
||
|
||
**修改文件:**
|
||
- `themes/Ying/layouts/partials/footer.html`
|
||
- `themes/Ying/assets/js/modules/mypjax.js`
|
||
|
||
**提交信息:**
|
||
```
|
||
perf: JS按需加载优化 + PJAX适配
|
||
|
||
- 首页JS减少56%(800KB → 350KB)
|
||
- 文章页JS减少44%(800KB → 450KB)
|
||
- 完美适配PJAX导航
|
||
- 所有功能正常
|
||
```
|
||
|
||
---
|
||
|
||
### 2. 字体优化(待提交)⏳
|
||
|
||
**修改文件:**
|
||
- `themes/Ying/assets/css/main.css`
|
||
- `themes/Ying/static/font/zql-v2-subset.woff2`
|
||
- `themes/Ying/static/font/zql-v2-subset.woff`
|
||
- `themes/Ying/static/font/used_chars.txt`
|
||
|
||
**提交信息:**
|
||
```
|
||
perf: 字体子集化优化 - 减少37%
|
||
|
||
- 字体大小:1.2MB → 757KB
|
||
- 使用Python fonttools提取2,485个字符
|
||
- 保持所有字符正常显示
|
||
```
|
||
|
||
---
|
||
|
||
### 3. 自动化工作流(待提交)⏳
|
||
|
||
**创建文件:**
|
||
- `.github/workflows/subset-fonts.yml`
|
||
- `requirements.txt`
|
||
|
||
**提交信息:**
|
||
```
|
||
ci: 添加字体子集化自动化工作流
|
||
|
||
- GitHub Actions自动运行
|
||
- 内容更新时自动触发
|
||
- 每周定期检查
|
||
- 智能检测变更
|
||
```
|
||
|
||
---
|
||
|
||
## 🚀 推荐提交命令
|
||
|
||
### 方案A:一次提交所有优化(推荐)
|
||
|
||
```bash
|
||
cd E:\GitHub\blog
|
||
|
||
# 查看修改
|
||
git status
|
||
|
||
# 添加所有文件
|
||
git add themes/Ying/assets/css/main.css
|
||
git add themes/Ying/static/font/zql-v2-subset.*
|
||
git add themes/Ying/static/font/used_chars.txt
|
||
git add .github/workflows/subset-fonts.yml
|
||
git add requirements.txt
|
||
|
||
# 提交
|
||
git commit -m "perf: 完整性能优化 - JS按需加载 + 字体子集化 + 自动化
|
||
|
||
JS优化:
|
||
- 首页JS减少56%(800KB → 350KB)
|
||
- 文章页JS减少44%(800KB → 450KB)
|
||
- 完美适配PJAX导航
|
||
|
||
字体优化:
|
||
- 字体大小减少37%(1.2MB → 757KB)
|
||
- 使用Python fonttools提取2,485个字符
|
||
|
||
自动化:
|
||
- GitHub Actions自动字体子集化
|
||
- 内容更新时自动触发
|
||
- 每周定期检查
|
||
|
||
总体效果:
|
||
- 总体资源减少50%+
|
||
- Lighthouse得分提升至75-80"
|
||
|
||
# 推送
|
||
git push origin main
|
||
```
|
||
|
||
---
|
||
|
||
### 方案B:分步提交
|
||
|
||
**步骤1:提交JS优化**
|
||
```bash
|
||
git add themes/Ying/layouts/partials/footer.html
|
||
git add themes/Ying/assets/js/modules/mypjax.js
|
||
git commit -m "perf: JS按需加载优化 + PJAX适配"
|
||
```
|
||
|
||
**步骤2:提交字体优化**
|
||
```bash
|
||
git add themes/Ying/assets/css/main.css
|
||
git add themes/Ying/static/font/zql-v2-subset.*
|
||
git add themes/Ying/static/font/used_chars.txt
|
||
git commit -m "perf: 字体子集化优化 - 减少37%"
|
||
```
|
||
|
||
**步骤3:提交自动化工作流**
|
||
```bash
|
||
git add .github/workflows/subset-fonts.yml
|
||
git add requirements.txt
|
||
git commit -m "ci: 添加字体子集化自动化工作流"
|
||
```
|
||
|
||
**步骤4:推送所有提交**
|
||
```bash
|
||
git push origin main
|
||
```
|
||
|
||
---
|
||
|
||
## 📋 提交前检查清单
|
||
|
||
### 文件检查
|
||
|
||
- [ ] main.css已修改(字体路径)
|
||
- [ ] zql-v2-subset.woff2已生成(757KB)
|
||
- [ ] zql-v2-subset.woff已生成(757KB)
|
||
- [ ] subset-fonts.yml已创建
|
||
- [ ] requirements.txt已创建
|
||
|
||
### 功能检查
|
||
|
||
- [ ] 首页正常显示
|
||
- [ ] 文章详情页正常
|
||
- [ ] 评论区正常加载
|
||
- [ ] 深色模式正常
|
||
- [ ] 字体显示正常
|
||
|
||
### 性能检查
|
||
|
||
- [ ] Network面板显示字体大小 ~757KB
|
||
- [ ] JS大小减少(首页~350KB)
|
||
- [ ] 无Console错误
|
||
|
||
---
|
||
|
||
## 🔍 验证提交
|
||
|
||
### 提交后检查
|
||
|
||
```bash
|
||
# 查看提交历史
|
||
git log --oneline -5
|
||
|
||
# 查看提交详情
|
||
git show HEAD
|
||
|
||
# 查看远程是否同步
|
||
git fetch origin
|
||
git log --oneline origin/main -3
|
||
```
|
||
|
||
### GitHub Actions验证
|
||
|
||
1. 访问:`https://github.com/zqlit/blog/actions`
|
||
2. 查看是否有新的工作流运行
|
||
3. 检查工作流状态
|
||
|
||
---
|
||
|
||
## 💡 提交最佳实践
|
||
|
||
### 1. 清晰的提交信息
|
||
|
||
**好的示例:**
|
||
```
|
||
perf: JS按需加载优化 - 首页减少56%
|
||
|
||
- 拆分为core.js、page-only.js、deferred.js
|
||
- 核心JS始终加载
|
||
- 页面特定JS按需加载
|
||
- 完美适配PJAX导航
|
||
```
|
||
|
||
**不好的示例:**
|
||
```
|
||
update
|
||
fix
|
||
perf
|
||
```
|
||
|
||
---
|
||
|
||
### 2. 原子性提交
|
||
|
||
**好的做法:**
|
||
- 一个提交解决一个问题
|
||
- 便于回滚和追踪
|
||
- 代码审查更容易
|
||
|
||
**不好的做法:**
|
||
- 一个提交包含多个不相关修改
|
||
- 难以回滚
|
||
- 代码审查困难
|
||
|
||
---
|
||
|
||
### 3. 测试后再提交
|
||
|
||
**流程:**
|
||
1. 本地测试通过
|
||
2. 提交代码
|
||
3. 推送到远程
|
||
4. 等待CI/CD运行
|
||
5. 验证部署成功
|
||
|
||
---
|
||
|
||
## 🔄 回滚方案
|
||
|
||
### 如果提交后发现问题
|
||
|
||
**回滚到上一个提交:**
|
||
```bash
|
||
# 查看提交历史
|
||
git log --oneline -10
|
||
|
||
# 回滚到特定提交
|
||
git revert <commit-hash>
|
||
|
||
# 或者回滚到上一个提交
|
||
git reset --hard HEAD~1
|
||
git push origin main --force
|
||
```
|
||
|
||
**注意:** `--force` 会覆盖远程历史,谨慎使用
|
||
|
||
---
|
||
|
||
## 📊 提交统计
|
||
|
||
### 本次优化提交
|
||
|
||
**提交次数:** 3-4次
|
||
**修改文件:** 8-10个
|
||
**新增文件:** 5-6个
|
||
**代码行数:** +500行(估算)
|
||
|
||
### 提交时间线
|
||
|
||
```
|
||
Day 1: JS优化
|
||
├── 修改footer.html
|
||
├── 修改mypjax.js
|
||
└── 测试验证
|
||
|
||
Day 2: 字体优化
|
||
├── 运行子集化脚本
|
||
├── 修改main.css
|
||
└── 测试验证
|
||
|
||
Day 3: 自动化
|
||
├── 创建subset-fonts.yml
|
||
├── 创建requirements.txt
|
||
└── 测试自动化
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ 提交完成
|
||
|
||
### 验证成功
|
||
|
||
- ✅ 所有文件已提交
|
||
- ✅ GitHub Actions正常运行
|
||
- ✅ 部署成功
|
||
- ✅ 性能提升生效
|
||
|
||
### 后续使用
|
||
|
||
**现在可以:**
|
||
- ✅ 发布新文章时自动优化
|
||
- ✅ 享受性能提升
|
||
- ✅ 无需手动干预
|
||
|
||
---
|
||
|
||
**提交指南完成!** 🎉
|
||
|
||
**祝你提交顺利!**
|