ワンクリックで
paper-to-course
将学术论文转换为交互式 HTML 课程 + Markdown 文档 + PPTX 演示文稿,一键生成全部三种输出
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
将学术论文转换为交互式 HTML 课程 + Markdown 文档 + PPTX 演示文稿,一键生成全部三种输出
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | paper-to-course |
| description | 将学术论文转换为交互式 HTML 课程 + Markdown 文档 + PPTX 演示文稿,一键生成全部三种输出 |
将任意学术论文转换成交互式 HTML 课程 + Markdown 文档 + PPTX 演示文稿,一次调用自动生成全部三种输出。
用户调用 skill 时传入 PDF 路径,skill 自动完成以下全部工作:
paper-to-course: /path/to/paper.pdf
无需额外指令,HTML + Markdown + PPTX 全部自动生成。
| 输出 | 文件 | 说明 |
|---|---|---|
| HTML 课程 | index.html | 交互式单页,含时间线、对比表、公式拆解、对话动画、测验 |
| Markdown 文档 | README.md | 纯文本版,保留表格/公式/代码 |
| PPTX 演示文稿 | slides.pptx | 16 页组会汇报幻灯片 |
在生成任何内容前,必须先读取 PDF 并验证论文主题。
这一步至关重要——如果论文主题与预期不符(如把自动驾驶安全论文误读成 CNN 架构论文),后续所有内容都会错误。
读取 PDF 后,必须提取并确认:
然后向用户确认:
📄 论文主题确认
标题:<论文原标题>
作者:<作者>
摘要:<摘要前2-3句>
领域:<判断领域,如 CV/NLP/RL/安全等>
以上信息是否正确?如果论文主题不符,请告知我。
只有在用户确认或未提出异议后,才继续生成内容。
读取用户提供的 PDF 文件,提取论文内容:
在课程目录(paper-to-course/[论文名]/)创建以下结构:
course-name/
├── _base.html ← HTML 模板头部(从 references/ 复制)
├── _footer.html ← HTML 模板尾部(从 references/ 复制)
├── build.sh ← 打包脚本
├── slides-config.json ← PPTX 幻灯片配置(必须同时生成!)
├── modules/
│ ├── module-01.html ← 问题与动机
│ ├── module-02.html ← 发展脉络
│ ├── module-03.html ← 主流方法对比
│ ├── module-04.html ← 本文方法详解
│ ├── module-05.html ← 实验与验证
│ └── module-06.html ← 局限与展望
├── styles.css ← 从 references/ 复制
└── main.js ← 从 references/ 复制
为每个模块生成 HTML 文件,使用设计系统 CSS class(禁止内联样式)。
6 个模块内容要点:
Module 1: 问题与动机
Module 2: 发展脉络
Module 3: 主流方法对比
Module 4: 本文方法详解
Module 5: 实验与验证
Module 6: 局限与展望
在课程目录生成 slides-config.json,内容为 16 页幻灯片配置:
{
"title": "论文标题",
"subtitle": "副标题 / 会议 / 年份",
"slides": [
{ "type": "title", "title": "...", "subtitle": "...", "note": "" },
{ "type": "outline", "title": "汇报提纲", "items": ["...", "..."] },
{ "type": "content", "title": "研究背景", "layout": "cards-3", "cards": [...] },
{ "type": "timeline", "title": "发展脉络", "items": [...] },
{ "type": "table", "title": "Benchmark 对比", "headers": [...], "rows": [...], "highlightRows": [3] },
{ "type": "flow", "title": "方法流程", "steps": [...] },
{ "type": "bars", "title": "消融实验", "items": [...] },
{ "type": "stats", "title": "核心结果", "stats": [...] },
{ "type": "limitations", "title": "局限与展望", "limitations": [...], "futureWork": [...] },
{ "type": "summary", "title": "总结", "items": [...] }
]
}
slides-config.json 支持的 slide type:
| type | 说明 | 关键字段 |
|---|---|---|
title | 标题页 | title, subtitle, note |
outline | 提纲 | items[] |
content | 内容页 | title, layout (bullets/cards-2/cards-3/cards-4/steps/grid-2x2), cards[] 或 items[] |
flow | 流程页 | steps[] (含 num, title, subtitle, desc) |
table | 表格页 | headers[], rows[][], highlightRows[] |
bars | 柱状图页 | items[] (含 label, value, drop) |
stats | 大数字统计 | stats[] (含 value, label, color, big) |
formula | 公式页 | formula, lines[] (含 symbol, english) |
timeline | 时间线 | items[] (含 year, title, desc) |
summary | 总结页 | items[] (含 text, color) |
limitations | 双栏布局 | limitations[], futureWork[] |
复制 CSS/JS 后执行:
cd paper-to-course/course-name
bash build.sh # 生成 index.html
node scripts/build-all.js . # 自动生成 HTML + README.md + slides.pptx
main.js 处理,模块 HTML 只写结构paper-to-course/
├── SKILL.md ← 本技能说明(本文档)
├── scripts/
│ ├── build-all.js ← 统一流水线(HTML + MD + PPTX)
│ ├── generate-pptx.js ← PPTX CLI 入口(通用,数据驱动)
│ ├── slides-builder.js ← PPTX 核心构建器(支持所有 slide type)
│ └── html-to-md.js ← HTML → Markdown 转换器
└── references/
├── styles.css ← 完整设计系统
├── main.js ← 交互引擎
├── _base.html ← HTML 模板头部
├── _footer.html ← HTML 模板尾部
└── paper-elements.md ← 7 种交互元素实现模式
详见 references/paper-elements.md:
| 元素 | HTML class | 说明 |
|---|---|---|
| Formula Breakdown | formula-block | 公式逐行通俗解释 |
| Literature Timeline | timeline-container | 领域发展时间线动画 |
| Method Chat | chat-window / group-chat | 组件间"对话"动画 |
| Comparison Table | comparison-table | 可交互对比表格 |
| Ablation Diagram | ablation-container | 消融实验可视化 |
| Quiz | quiz-container | 选择题理解测验 |
| Glossary Tooltips | term | 术语悬停通俗解释 |