培训课件生成器 (ym-training-courseware)
把一次内训设计成「带章节导航 + 课堂提问页」的 HTML 课件。讲师先填课程设计表(页码 / 章节 / 类型 / 知识点 / 时长 / 互动方式),模型再按表逐页生成 courseware.html:左侧固定章节导航可点击跳转,每讲完一章跟一个课堂提问页(含 2 个问题 + 参考答案),页脚显示「第 X / Y 页 · 当前章节」。不做在线判分、不管理学员数据。
何时使用
- 用户说「培训课件」「内训 PPT」「课程讲义」「教学幻灯片」时
- 用户是企业内训讲师,要讲新员工培训、工具使用培训等,手里有知识点清单但不知道怎么排页时
- 用户明确课程主题、受众(新员工 / 在岗 / 管理层)、总时长、知识点清单时
运行前提
- 环境:纯文本 / HTML 生成,无需 Python、无需联网、无需任何依赖
- 输入:一份按
templates/courseware-plan.md填好的课程设计表;若用户只给零散要点,先帮其落成设计表再生成 - 输出:当前目录下生成
courseware.html,同名会覆盖 - 节奏依据:
references/teaching-rhythm.md(成人注意力节奏:每 8~10 分钟一个互动、开场给目标、结尾有练习) - 产出是放映/自学两用的本地 HTML,不依赖服务器;讲师可离线打开、投屏或发链接
- 所有教学内容以用户提供的知识点清单为准,模型只做排版与结构组织,不增删事实
输入契约
| 项 | 必需 | 说明 |
|---|---|---|
| 课程主题 | 必需 | 用一句主题句说明讲什么,用作封面标题 |
| 受众 | 必需 | 新员工 / 在岗 / 管理层;影响措辞深浅与举例 |
| 总时长 | 必需 | 分钟数;用于推算总页数与互动节奏 |
| 知识点清单 | 必需 | 每个知识点一行:名称 + 一句话内容;每个知识点拆成独立页 |
缺失处理:
- 缺知识点清单 → 用
templates/courseware-plan.md请用户每行补一个知识点,不要替用户编造教学内容 - 缺受众 / 时长 → 默认「在岗 + 45 分钟」,并在封面副标题注明「受众/时长未指定,按默认生成」
- 知识点过多塞不进时长 → 按每分钟约 1 页重排,提示用户合并或削减;提问页算 2 分钟时间预算
- 时长极短(如 15 分钟)→ 仍保证「封面 + 学习目标 + 至少 1 章 + 总结 + 练习 + 结尾」最小骨架
执行步骤
-
填课程设计表 — 复制
templates/courseware-plan.md,按列填:页码 / 章节 / 类型(封面 / 目标 / 知识 / 提问 / 总结 / 练习 / 结尾)/ 知识点 / 时长 / 互动方式。每章至少 1 个知识页 + 1 个提问页。 -
推算页数 — 用
references/teaching-rhythm.md的节奏核对:总页数约等于总时长(每分钟约 1 页),提问页额外占 2 分钟时间预算。例如 45 分钟、8 个知识点 → 目标 40~50 页。若超出,合并知识页或减少提问页。 -
生成 courseware.html — 按设计表逐页写出单文件 HTML:
- 左侧固定章节导航(每个章节一个可点击项,点击跳到该章第一页)
- 内容区每页一个 section(id 为 page-N),知识页每页只讲一个概念
- 每章末一个「课堂提问」页,含 2 个问题 + 折叠/可见的参考答案
- 页脚固定显示「第 X / Y 页 · 当前章节」
- 翻页交互:
←/→、空格、PgUp/PgDn、Home/End;左侧导航点击跳转
-
验收 — 浏览器打开
courseware.html,确认:导航点击能跳转、页脚页码与章节正确、每个提问页都带参考答案、字号不小于 18px。
设计表到页面的映射示例
以「45 分钟新员工培训、8 个知识点分 4 章」为例,设计表的前几行映射为页面:
| 设计表行 | 生成页面 | 关键要素 |
|---|---|---|
| 封面行 | page-1 封面页 | 主题 + 受众 + 时长写在副标题 |
| 目标行 | page-2 学习目标页 | 3~5 条可衡量目标 |
| 第一章知识行 | page-3 知识页 | 只讲「工牌与门禁办理」一个概念 |
| 第一章提问行 | page-4 课堂提问页 | 2 题 + 参考答案区块 |
| 第二章知识行×2 | page-5、page-6 知识页 | 每个概念独立一页 |
| 第二章提问行 | page-7 课堂提问页 | 2 题 + 参考答案 |
| … | … | 每章重复「知识 → 提问」 |
| 总结行 | 总结页 | 回顾四章 + 行动号召 |
| 练习行 | 练习页 | 3 题 + 答案 |
| 结尾行 | 结尾页 | 谢谢 + 资料链接 |
左侧导航只列章节名(封面/目标/总结/练习/结尾归为「概览」或各自成项),点击跳到该章第一页;页脚「当前章节」取该页所属章节名。
页面结构(强制)
按以下顺序生成,章节数必须与知识点分组一致:
- 封面页(主题 + 受众 + 时长)
- 学习目标页(3~5 条可衡量目标)
- 每章:知识页(每页一个概念)→ 章末「课堂提问」页(2 题 + 参考答案)
- 总结页(回顾要点 + 一句行动号召)
- 练习页(3 题,可附答案)
- 结尾页(谢谢 + 联系方式 / 资料链接)
输出格式
单个自包含 HTML 文件 courseware.html:
- 布局:左侧固定侧栏(章节导航,宽度约 22vw)+ 右侧内容区(滚动 / 翻页)
- 每页一个 section,id 为 page-1、page-2…,首屏只显示当前页
- 章节导航项用锚点链接指向对应 page-id,点击平滑滚动或翻到该页
- 课堂提问页结构:问题 1 / 问题 2 + 「参考答案」区块(默认可见或点击展开)
- 页脚:
第 X / Y 页 · 当前章节:Z - 字号基准不小于 18px,正文行高 1.7,投影清晰
能力边界
- 不做在线答题与自动判分;提问页只提供参考答案,不收集学员作答
- 不管理学员名单、出勤、成绩等数据
- 不生成配图 / 插画;图片由讲师自行插入(后续版本考虑)
- 不导出
.pptx/ PDF,不联网、不上传任何数据 - 不替讲师编造事实性教学内容;知识点以用户提供的清单为准
- 不自动发邮件/消息通知学员,仅产出本地文件
与同类技能的区别
- 本技能面向内训讲师,强制「章节导航 + 课堂提问页 + 练习页」,结构由课程设计表驱动,无转换脚本(模型直接生成 HTML)。
ym-html-deck-builder面向通用分享,输入是自由大纲,无提问/练习结构。ym-report-slide-gen面向领导汇报,强制结论先行 + 数据表格,输入是四类素材。
常见坑
-
一页塞 200 字以上 — 现象:学员跟不上、投影看不清。原因:把一章全堆一页。规避:知识页每页只讲一个概念,控制在 80~120 字 + 1 个要点列表;超了拆页。
-
全程无互动 — 现象:讲师一直讲,学员走神。原因:没按节奏插互动。规避:每章末必有「课堂提问」页(2 题 + 参考答案),且每 8~10 分钟至少一个互动,依据
references/teaching-rhythm.md。 -
字号小于 18px 投影看不清 — 现象:投到幕布后小字糊成一片。原因:用了网页正文级字号。规避:正文基准 18px 起、标题更大,行高 1.7;生成后在投影分辨率(如 1920×1080)下自检可读性。
-
导航与章节对不上 — 现象:点导航跳错页、页脚章节名错位。原因:章节 id 与导航项或页脚未同步。规避:先按设计表定好 page-id 与章节名,导航项、页脚「当前章节」都从同一份映射生成,不手填两遍。
-
提问页缺参考答案 — 现象:讲师现场答不上来、学员无法自学。原因:只放问题忘了给答案。规避:每个提问页必须含「参考答案」区块;验收时逐页检查无空白答案。
-
页数与时长脱节 — 现象:45 分钟排了 90 页讲不完,或 15 分钟只 5 页水。原因:没按每分钟约 1 页推算。规避:用设计表的总时长列累计,目标页数 ≈ 时长(±10),提问页额外计 2 分钟。
验收用例
- 正常:45 分钟新员工培训、8 个知识点 → 页数落在 40~50;章节数 = 知识点分组数;每章有提问页且带参考答案;页脚页码随翻页推进。
- 边界 1:15 分钟短训 → 仍含封面 + 学习目标 + 至少 1 章(知识 + 提问)+ 总结 + 练习 + 结尾最小骨架。
- 边界 2:受众=管理层 → 措辞偏决策视角、举例偏经营,而非操作细节。
- 失败:空知识点清单 → 停下请用户补,不生成空
courseware.html。
目录说明
templates/courseware-plan.md— 课程设计表模板(列:页码 / 章节 / 类型 / 知识点 / 时长 / 互动方式),先填表再生成references/teaching-rhythm.md— 成人注意力节奏参考(每 8~10 分钟一个互动、开场给目标、结尾有练习)
