富文档导出 · Rich Export
SkillFiles & storageStably exports user-facing content as single-file HTML, an HTML folder with assets, Markdown, DOCX, and PDF, correctly handling images, audio, video, and embedded interactive content per format. Use for requests like "rich media export", "one-click export", "export html/pdf/docx/md", "offline web pa
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the 富文档导出 · Rich Export skill
What this skill tells your AI
The instructions your AI receives, as published by lovstudio/skills in skills/rich-export/SKILL.md and read by ahel’s review.
把内容先收敛为一个可审计的源,再针对每个交付格式生成其能忠实表达的版本。HTML 保留交互媒体;DOCX、PDF 和 Markdown 生成可编辑或可打印的静态投影,并为媒体保留封面、说明和原链接。
Triggers
- 用户要求把一份内容或产品数据一键导出为 HTML、Markdown、DOCX、PDF、ZIP 或离线交付包。
- 用户要求导出含图片、音频、视频、iframe、交互图表或媒体说明的内容,并需要针对不同格式正确处理。
- 用户需要给 Web、桌面端或服务端产品接入可复用的多格式导出能力。
Do not activate when
- 只需要编辑一个已有 DOCX、PDF 或网页中的局部内容,且不涉及多格式交付。
- 只需要生成单张图片、单个幻灯片或一个视频文件;使用对应的媒体制作工作流。
先做内容边界
- 将聊天中的人名、项目背景、内部状态、提示词、创作过程视为内部上下文;只有用户要求出现在成品中的字段才进入输入内容。
- 生成标题、作者、封面、页脚和文件名时,只读取显式
document元数据;不要从聊天背景推断或补入个人信息。 - 有视频、音频、地图、嵌入网页或交互图表时,先声明其静态投影。没有封面时,PDF/DOCX 至少保留名称、摘要和可访问链接。
输入与命令
默认输入为 .md;也支持 .html 和本 Skill 定义的 rich-export.json。输入中的相对资源相对输入文件解析。
python3 "$SKILL_DIR/scripts/export_rich.py" \
--input ./release/article.md \
--out ./release/exports \
--formats html-single,html-dir,md,docx,pdf \
--zip
先通过 --formats 只生成用户所需格式。html-single 适合直接发送和离线打开;html-dir 适合视频大、文件多或需要保留媒体原文件;docx 适合继续编辑;pdf 适合打印和归档;md 是可追溯源稿。
运行 python3 "$SKILL_DIR/scripts/export_rich.py" --help 查看依赖与选项。完整输入契约见 references/format-contract.md,产品集成见 references/product-integration.md。
渲染策略
| 目标 | 生成方式 | 媒体行为 |
|---|---|---|
| 单文件 HTML | Pandoc --embed-resources | 内嵌图片、样式、脚本、音视频;大文件会显著膨胀 |
| HTML 文件夹 | Pandoc + assets/ | 保持交互与独立资源,适合实际分发 |
| Markdown | Pandoc 规范化 | 保留图片和链接;媒体使用显式链接 |
| DOCX | Pandoc + 可选 reference.docx | 图片嵌入;视频/音频/iframe 投影为封面、说明与链接 |
| Chromium/Playwright 打印静态 HTML | 图片和版式保留;媒体投影为封面、说明与链接 |
不要把单文件 HTML 当作大型视频的默认交付。媒体总量超过约 20 MB 时默认同时交付 html-dir;若用户必须只收一个文件,交付 ZIP,其中包含 HTML 文件夹和 export-manifest.json。
验收
每次导出后执行以下检查:
- 打开单文件 HTML 并断网刷新;检查字体、图片、音视频控件、目录和链接。
- 解压/打开 HTML 文件夹;检查
index.html的所有资源均来自包内,且没有绝对本机路径。 - 用 Word/LibreOffice 打开 DOCX;检查中文字体、表格、图片、分页及每个媒体链接。
- 渲染 PDF 首页、含图片页、含媒体投影页和末页;检查裁切、溢出、乱码、链接和页码。
- 检查
export-manifest.json的warnings;不得把内部元数据或提示词当作正文导出。
选择与限制
- 默认采用 Pandoc + Playwright:前者负责结构化格式互转,后者将已经确认的网页版式稳定打印为 PDF。
- 现有
lov-any2pdf、lov-any2docx仍适合中文长文的专门美术排版;本 Skill 负责多格式同源交付和富媒体降级策略。 - 不将 SingleFile CLI 作为产品内置依赖:其开源仓库为 AGPL,且它更适合网页存档,不是多格式内容发布管线。
- HTML 与打印/办公格式并非等价。交互图表、iframe 和媒体播放能力只在 HTML 保真;其他格式应把信息和访问路径交付完整,而不是伪装成可播放内容。
Runtime context (shared)
运行前读取本 Skill 包的 skill.yaml,由宿主提供 skill-runtime/v1 上下文。字段解析顺序为:当前请求、项目上下文、个人 Preferences、品牌 Profile、通用默认值。
- 只使用 Manifest 声明的字段;Profile 保存公开品牌事实,Preferences 保存个人工作偏好。
required: true字段缺失时,按 Manifest 的问题配置向用户提出一个聚焦问题;用户明确同意后再保存回答。- 报错提供可复制的
context_id、字段路径与来源,诊断内容避开秘密、完整私人路径和原始配置。
通用反馈闭环
用户在 Skill 驱动任务中提出修改意见时,继续当前产物前必须执行:
- 先判断意见是
task-specific(仅本次)还是reusable(可跨任务复用)。 task-specific只修改当前任务,不改 Skill。reusable先确定作用域:领域规则先更新对应 canonical Skill;适用于所有 Skill 的规则先更新共享规范。- 完成规则更新、版本、lint 与分发核验后,再把修改应用到当前任务。
reusable修改会使此前的“确认”“继续”“发吧”失效;完成当前产物修改和回读后必须停下,等待用户下一步指示,不自动进入发布、提交或其他外部写入。
Signals
- GitHub stars
- 66
- Forks
- 17
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
lov-rich-export- Source
- github.com/lovstudio/skills