我为你创建了 4 个完整的教学文档:
用途: 备课准备、选择最适合的演示方式
用途: 上课时参考、讲解时使用
用途: 打印给学生、贴在办公室墙上、学生查阅
用途: 课堂演示时快速执行
cd /Users/yigonghu/work/BU/teaching/ec528/website
# 运行完整演示
bash error-demo.sh full_demo
# 清理演示(恢复原始状态)
bash error-demo.sh cleanup
# 步骤 1: 制造错误
bash error-demo.sh step_1_create_error
# 步骤 3: 诊断错误
bash error-demo.sh step_3_diagnose
# 步骤 4: 检查文件
bash error-demo.sh step_4_inspect_file
# 步骤 5: 修复错误
bash error-demo.sh step_5_fix_error
# 步骤 6: 验证修复
bash error-demo.sh step_6_verify
课堂演示流程 (20 分钟)
│
├─ 问题启发 (2 分钟)
│ "遇到 500 错误怎么办?"
│
├─ 制造错误 (3 分钟)
<!-- │ 修改 _layouts/ec440.html,注释掉 {\% endif \%} -->
│
├─ 观察症状 (2 分钟)
│ 运行 `jekyll serve`,看到 Liquid Exception
│
├─ 诊断错误 (5 分钟)
│ 运行 `jekyll build --trace`,理解日志
│ 定位文件和行号
│ 检查错误上下文
│
├─ 修复错误 (3 分钟)
<!-- │ 恢复 {\% endif \%} -->
│ 重新构建和验证
│
└─ 讨论和扩展 (5 分钟)
思考题、进阶场景、最佳实践
修改 _config.yml:
title: "EC528 # ❌ 缺少闭合引号
日志会显示:
YAML syntax error in _config.yml line 17
修改 Gemfile:
gem "jekyll", "3.9" # ❌ 与 minimal-mistakes 不兼容
命令:
bundle update --dry-run
# 会显示版本冲突
修改 _data/spring26_lecture.yml:
- lecture: 1
topic: "Unclosed string # ❌ 缺少闭合引号
control+c 如何停止 Jekyll在他们的笔记中回答:
如果你想录制视频版本:
# 使用 asciinema 录屏
asciinema rec demo.cast
# 或使用 QuickTime (Mac)
# 简单演示通常 5-10 分钟足够
编辑 error-demo.sh:
# 修改这些变量
DEMO_DIR="/your/path"
GREEN='\033[0;32m' # 改变颜色
# 添加你自己的步骤函数
step_8_custom() {
print_header "我的自定义步骤"
# 你的代码
}
# 最快的方式
git checkout _layouts/ec440.html
# 每个人在自己的分支中
git checkout -b debug-demo-$studentname
# 做演示
git checkout main # 恢复
是的!只要他们有:
ruby --version)bundle --version)jekyll --version)最好的学习来自 经历失败和修复,而不仅仅是观看。
考虑:
这样他们会记得更深!
准备好了?开始演示吧! 🚀
需要帮助?参考 DEBUGGING-CHEATSHEET.md 或 TEACHING-NOTES.md