以 skill 自身的术语
md-slides 将一份 markdown 幻灯片文稿转换为可在任何浏览器中运行的单文件 HTML 演示。一份文稿由 --- 水平线分隔或 # 一级标题分隔的幻灯片组成,可选包含 <!-- notes: ... --> 演讲者备注块。三个 Python 标准库脚本组成流水线:slide_splitter.py、presenter_notes_parser.py、deck_html_renderer.py。
输出内容包含键盘导航、URL 哈希深链、进度条与幻灯片计数器、带时钟和下一页预览的演讲者模式,以及用于导出每页一张幻灯片 PDF 的打印样式表。它复用 md-document 的 markdown 解析器,并通过 config_loader.py 读取设计系统 token。对于没有明确幻灯片边界的输入、只有 1 张幻灯片的文稿、少于 100 行的文件,以及未通过 --strict-notes 50% 覆盖率检查的文稿,它会拒绝处理。
它产出什么
- 渲染生成的 HTML 幻灯片,以 deck-{slug}.html 的形式写入解析出的默认输出目录,如遇冲突则依次追加 -2、-3 等后缀。
- 存放拆分后幻灯片的中间 JSON 文件,随后是附带备注的幻灯片 JSON 文件。
- 通过打印样式表从浏览器打印生成的每页一张幻灯片的 PDF。
工作方式
- 01将文稿拆分为有序的幻灯片
slide_splitter.py 读取源 markdown,并按 --- 水平线或一级标题进行拆分,默认自动检测边界样式,然后写出有序的幻灯片列表。
- 02为每张幻灯片附加演讲者备注
presenter_notes_parser.py 扫描每张幻灯片以查找备注块,并将其附加到对应幻灯片,以便演讲者模式在右侧面板中展示内容。
- 03渲染单文件 HTML 幻灯片
deck_html_renderer.py 将幻灯片与设计系统 token 结合,生成最终文稿,在命令行中接收标题和输出路径。
- 04应用设计系统 Token
十二个品牌 CSS 自定义属性来自设计系统,design_style 会改变幻灯片布局的密度。
- 05拒绝非演示文稿的输入
当输入没有明确的幻灯片边界、只会生成单张幻灯片,或在 --strict-notes 下未通过备注覆盖率检查时,该 skill 会退出而不是执行转换。