每门课程是 courses/ 下的一个目录,目录名必须等于课程 id。
三层清单
| 文件 | 作用 | 顺序由谁决定 |
|---|---|---|
course.yaml | 课程信息、许可证、Section 或 Chapter 列表 | 列表位置 |
chapter.yaml | 章标题和 Lesson 列表 | 列表位置 |
lesson.yaml | Lesson 标题和可选的代码、视频等元数据 | — |
章和课时的目录名只是存储位置,可以随时重命名;对外身份一律使用清单里的 id。课程目录名是例外,必须等于课程 id。
路径规则
- 清单里列出的章、课时目录必须是单层名称(字母、数字、
._-),不能写成a/b或..。 cover、许可证文件等路径必须是课程目录内的相对路径。- 课程内不允许符号链接。
- 课程首页导读放在课程根目录的
intro.<语言>.md,不需要在course.yaml中声明。
资源放在哪里
课程共享的图片放在 assets/,只属于某个 Lesson 的图片可以放在该 Lesson 目录下的 assets/。正文里一律使用相对路径引用,这样在 GitHub 上直接预览也能看到图片。
下一步:清单字段。