🖥️ Html Slideshow — Markdown转HTML幻灯片
v2.0.3将Markdown演示大纲通过AI内容理解自动分页,根据布局规划生成对应HTML结构,最终输出可交互的静态HTML幻灯片。支持多主题、键盘翻页、全屏演示。
0· 100·0 当前·0 累计
安全扫描
OpenClaw
可疑
medium confidence该技能功能与其描述相符(将Markdown大纲转换为静态HTML幻灯片),但存在几个不必要的实现选择或增加了风险(未清理的HTML输出、运行时代码生成、以及示例中的硬编码绝对路径)。
评估建议
该技能在将Markdown转换为静态HTML幻灯片方面功能连贯,但在运行前请遵循以下预防措施: - 将输入的markdown视为潜在危险内容:生成器故意允许原始HTML和脚本标签(代码注释称'不要转义 - marked会正确渲染,允许HTML')。仅在可信的Markdown上运行脚本,或在处理前进行清理/剥离HTML。在浏览器中打开生成的HTML将执行任何嵌入的脚本。 - 审查和审计您加载的模板和任何自定义主题。模板编译器使用动态代码生成(new Function)来构建渲染器;如果您或他人添加不受信任的模板,可能会在生成期间执行代码。 - SKILL.md示例包含硬编码的绝对路径(/home/Vincent/...),这可能是环境产物。运行时,将脚本指向您自己的安全输入和输出目录——避免盲目复制README/SKILL.md中的命令运行。 - 如果需要处理来自不可信源的Markdown,请在隔离环境(容器或VM)中运行该工具,并在向他人提供生成的HTML之前进行检查。如果必须接受不可信输入,请考虑添加HTML清理器(例如客户端的DOMPurify或服务端清理器)。 - 如果期望此工具...详细分析 ▾
✓ 用途与能力
名称/描述需要Node和脚本来解析Markdown并生成HTML——包含的Node脚本、布局分析器、分割/生成脚本、模板和主题与所述目的一致。未请求无关的凭据、二进制文件或外部服务。
⚠ 指令范围
运行时指令告诉代理运行包含的Node脚本,读取Markdown文件并写入HTML文件(预期)。然而:(1)SKILL.md示例使用硬编码的绝对路径(/home/Vincent/.openclaw/...),这很奇怪,可能导致代理引用特定环境的路径;(2)多个生成脚本明确声明它们不转义或清理输入(例如'不要转义 - marked会正确渲染,允许HTML'),意味着用户提供的Markdown可以将原始HTML和<script>标签注入到生成的幻灯片中——这在打开生成的HTML时增加了XSS/数据泄露风险;(3)模板和组件注册表渲染客户端<script>块(registry.chart注入<script> new Chart(...)),因此生成的输出可以在查看者的浏览器中执行任意JS。这些行为在幻灯片生成器的范围内,但在处理不可信输入时风险很高。
✓ 安装机制
这是纯指令式技能,代码文件捆绑在技能中(无外部安装/下载)。唯一需要的运行时是Node.js。在提供的文件中未观察到远程下载或基于URL的安装程序。
✓ 凭证需求
未请求环境变量、凭据或无关的配置路径。脚本读取用户提供的输入/输出路径并创建本地output/themes目录,这与技能的目的相称。
✓ 持久化与权限
该技能不请求always:true,也不修改其他技能。它将文件写入提供的输出文件夹,并可能在技能位置下创建themes/目录——这是生成器的预期行为。模型调用未禁用(正常)。
⚠ scripts/template-compiler.js:28
检测到动态代码执行。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv2.0.32026/3/27
- 添加了多个新的脚本文件,用于内容感知分割、布局解析和HTML生成(各种版本和修复)。 - 引入了新的幻灯片模板文件(slide-v2.3.html)。 - 从仓库中移除了package.json。 - 增强了脚本模块化,提供了更多处理和生成幻灯片内容的方式。
● 无害
安装命令
点击复制官方npx clawhub@latest install html-slideshow
镜像加速npx clawhub@latest install html-slideshow --registry https://cn.longxiaskill.com 镜像可用
技能文档
将Markdown格式的演示大纲,经过AI内容理解后,自动分页切分,根据每页的布局规划生成对应HTML结构,最终生成可交互的静态HTML幻灯片。
优化后的工作流程
1️⃣ 内容理解
读取完整大纲/主题文稿,AI理解内容逻辑,从材料内容角度查漏补缺,将内容按照PPTX幻灯片的诉求重新梳理成完整大纲及内容。核心要点:
- 不是简单复制原文,而是按PPT展示逻辑重构(财报类的模版financial.md)
- 提炼核心观点,每个章节/重点清晰呈现
- 补充必要的背景说明和过渡语句
2️⃣ 内容分页
根据新的完整大纲,AI理解内容逻辑,合理切分成页,每页单独保存md文件到slides-md/ 目录。分页原则:
- 每页一个独立完整的主题
- 逻辑连贯,避免内容割裂
- 适当留白,保持视觉呼吸感
3️⃣ 布局解析
读取每页md文件,解析"页面布局规划"字段,生成具体HTML布局结构(分栏、网格等)。支持的布局:
- 左右分栏 / 两栏布局
- 2×2网格 / 四格布局
- 上中下纵向分布
- 左侧内容+右侧图表
- 表格展示、图表集成
4️⃣ 样式统一
全局CSS统一风格,支持多主题(default/nvidia/aliyun/dark),保持配色一致。5️⃣ 交互完整
键盘翻页、全屏演示,支持任何现代浏览器。特性
- 严格16:9比例:每页固定16:9,不滚动,完美适配演示屏
- 智能分页:AI理解内容逻辑,自动切分成逻辑完整的页面
- 布局识别:根据"页面布局规划"文字描述,生成对应HTML布局
- 完整键盘交互:方向键、空格、回车、退格都支持翻页,F键全屏
- 多主题支持:default(蓝色商务)、nvidia(绿色)、aliyun(橙色)、dark(深色)、tech(科技风格-白色主色调/黑色字体/红色高亮)
- 静态输出:纯HTML+CSS+JS,所有资源CDN加载,打开即可演示
使用方法
完整流程(从大纲到幻灯片):
# 1. AI分析内容,理解重构+分页生成每页md node /home/Vincent/.openclaw/workspace/skills/html-slideshow/scripts/split-slides.js \ --input /path/to/outline.md \ --output /path/to/output \ --title "演示标题"
# 2. 根据每页md生成HTML node /home/Vincent/.openclaw/workspace/skills/html-slideshow/scripts/generate-html.js \ --input-dir /path/to/output/slides-md \ --output /path/to/output/html \ --title "演示标题" \ --theme tech # 或 aliyun/nvidia/dark/default
支持的布局
根据"页面布局规划"文字自动识别:
| 描述 | 生成布局 |
|---|---|
| "左右分栏" / "两栏布局" | grid-template-columns: 1fr 1fr |
| "2×2网格" / "四四布局" | 2行2列网格 |
| "上中下" / "顶部标题+中部内容+底部总结" | flex纵向分布 |
| "左侧表格右侧图表" | 左侧表格 + 右侧图表容器 |
交互快捷键
| 按键 | 功能 |
|---|---|
| → / Space / Enter / PageDown | 下一页 |
| ← / Backspace / PageUp | 上一页 |
| F / f | 切换全屏 |
| Esc | 退出全屏 |
输出结构
output/
├── slides-md/ # 每页拆分后的markdown
│ ├── 01-cover.md
│ ├── 02-overview.md
│ └── ...
└── html/ # 最终HTML输出
├── index.html
└── slides
├── 01-cover.html
├── 02-overview.html
└── ...
依赖
- Node.js
- Chart.js (CDN)
- Marked (CDN)
示例
examples 目录包含完整示例。