课程页怎么写
一课分两半:前半把这一章的心智模型讲透,后半挂上不动手就答不出的题。答案不写在课程页里 —— 它写进 docs/notes/ 的同名文件,答完才归档。这里只讲写一课的规矩;页面通用的规矩见写作规范。
页面骨架
七节,顺序固定,缺一不可:
# <结论式标题,说清这一课教什么>
> 目标:<一句话>。原书章节与页码。
## 场景 ← 这一章要解决的现实问题。用「你」,不出现具体人名
## 讲解 ← 心智模型 + 关键公式或机制 + 一个小例子;可分 ### 小节
## 准备 ← 数据表放哪、用什么算、工具的坑
## 任务 ← 要达成什么,不说怎么做
## 验收 ← 可自己核对的检查项
## 提问 ← 若干 ```conflict 块
- 讲解只讲心智模型:为什么这个量这样构造、这个数为什么是这个数。写成教材抄本就跑偏了,公式罗列归笔记
- 任务和验收分开:任务说目标,验收说怎么证明达到了。每条都要能核对(十个离差之和严格为 0、两条路径算出的值前四位一致),不写「正确地完成了计算」这种核对不了的话
- 验收不泄答案:给自查手段,不给结果
- 数据表放
docs/courses/<分类>/assets/<slug>/*.csv,课程页用相对路径链接;.csv上桶钉了text/plain,AI 能直接读
提问块
```conflict
<<<<<<< courses/statistics-book/ch06-sampling-distribution
Q2 A 线的波动超标了吗
按 (6.18) 式构造卡方统计量,σ 取 3 ml。贴出 (n-1)S²/σ² 的数值和自由度,再用 CHISQ.INV.RT 和 CHISQ.DIST.RT 两条路径给出判断依据。
=======
>>>>>>> notes
```
- 三种标记各占一整行:
<<<<<<< courses/<分类>/<slug>、=======、>>>>>>> notes,写成半行就解析不到 - 上半区第一行是题头
Q<n> <短标题>,其余是题干;下半区留空 —— 一课可以反复做,也可以交给别人或别的 agent - 题干里不写
**:fence 里 markdown 不生效,会原样露出来;行内反引号可以留,归档后题干进!!! question,反引号正常渲染 - 每课末尾固定三题,短标题精确为
一句话、心智模型、坑:归档时它们成为笔记的三个小节,其余题归入## 操作,正好是notes/的骨架 场景 → 一句话 → 心智模型 → 操作 → 坑。改这三个词要同时改scripts/course.py的SECTIONS - 改提问块语法要三处一起改,否则静默不一致:
scripts/course.py(add时逐题检查是否作答)、docs/vendor/conflict-init.js(浏览器里染成上问下答,标记不齐就原样留着)、scripts/check-links.py(拦住docs/notes/下带<<<<<<<的文件)
题怎么出
判据只有一条:不自己算出数来就答不出。 讲解就在同一页上,答案能从上半页抄到的题一律作废。
- 贴中间量:样本方差、标准化后的统计量、自由度,一个都不许省
- 两条独立路径交叉核对:手算 vs
CHISQ.INV.RT、倒数性质 vsF.INV,两个结果都贴 - 指认来源:「这个自由度是由哪一组数据的什么量扣出来的」
- 做一次对照:样本量翻倍再算一遍,说出哪个量升、哪个量降,公式里哪个 n 造成了这个方向
- 概念题(「t 分布和正态分布有什么区别」)只有落到本课的数据上才有价值
导读页
一本书一个目录,目录的 index.md 是导读页 —— 地图,不是讲解。五节,顺序固定:
---
description: "<一句话:这本书在体系里管什么>"
---
# <书名>(<科目>伴读)
> 状态:排队中,队列第 N 门。版本:<作者、书名、版次、出版社、年份>
<定位段:前置课 → 本课 → 后续课,各链到对应导读页>
## 读法 ← 读哪几章、跳哪几章、为什么;免费版的线上地址写进脚注,在版书写「只摘句、标页码」
## 章节地图 ← 表:章 | 读法(必读 / 选读 / 跳)| 接本站哪里
## 口径差异 ← 记号、定义与本站其他页不同的地方;没把握就写「读到再补」
## 课程 ← 已开的课一行一钩子;没开写「还没开课」
- 章节表照官方目录抄章名,出版社或作者页核实过再写,不凭记忆
- 章节地图不写一句话压缩 —— 没读就压缩等于拿计划冒充成果,开课后在「课程」一节的钩子里补
- 「接本站哪里」只写真存在的页;还没写的写成 roadmap 清单里的条目名,不造链接
- 开课时状态改成「在开」,伴读页挂进「课程」一节
新增一课
- 写
docs/courses/<分类>/<slug>.md,骨架照上面七节 - 每道题自己算一遍,确认答案唯一且算得出来;算不出来的题不许留
- 挂钩子、注册 nav、跑 check-links,同写作流程
做完一课要发答卷时,走 scripts/course.py checkout → add,再在 docs/notes/<分类>/index.md 挂钩子、注册 nav。courses-src/<分类>/<slug>/solution.md 存在的话,归档时会自动附上折叠的「参考解法」。