mirror of
https://github.com/aculix/huashu-design.git
synced 2026-10-27 07:15:54 +00:00
docs: HTML-first 幻灯片架构 + grammar 模板 + moxt 实战经验
幻灯片交付升级为 HTML-first:每页独立 HTML + index.html 聚合永远是 默认基础产物,PDF/PPTX 是从 HTML 一行命令导出的衍生物。 核心变化: - export_deck_pptx.mjs 删掉 image 模式(168 行→85 行),只保留 editable 路径 - editable-pptx.md 末尾新增 Fallback 章节:已有视觉稿又必须出 editable PPTX 时,AI 以视觉稿为蓝本重写合规 HTML(不是硬转截图) - slide-decks.md 新增 3 节: · 批量制作前先做 2 页 grammar showcase 的流程规则(≥5 页 deck 强制) · 出版物 grammar 模板(masthead + kicker + h1 + italic 副 + footer,moxt 实测) · 常见踩坑(emoji 不渲染 / playwright 路径 / 字体加载 / 信息密度) - SKILL.md 同步更新 checkpoint 和 Starter Components 表格 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
807ae8a7da
commit
a75835d3ef
4 files changed
+259
-138
No files matched your search
@@ -606,7 +606,12 @@ Screen 组件接 callback props(`onEnter`、`onClose`、`onTabChange`、`onOpe
|
||||
- 🔍 **0. 事实验证(涉及具体产品/技术时必做,优先级最高)**:任务涉及具体产品/技术/事件(DJI Pocket 4、Gemini 3 Pro、Nano Banana Pro、某新 SDK 等)时,**第一个动作**是 `WebSearch` 验证其存在性、发布状态、最新版本、关键规格。把事实写入 `product-facts.md`。详见「核心原则 #0」。**这步做在问 clarifying questions 之前**——事实错了问什么都歪。
|
||||
- 新任务或模糊任务必须问clarifying questions,详见 `references/workflow.md`。一次focused一轮问题通常够,小修小补跳过。
|
||||
- 🛑 **检查点1:问题清单一次性发给用户,等用户批量答完再往下走**。不要边问边做。
|
||||
- 🛑 **幻灯片/PPT 任务额外必问「最终交付格式」**(浏览器演讲 / PDF / 可编辑 PPTX)——**要可编辑 PPTX 就必须从第一行 HTML 开始按 `references/editable-pptx.md` 的 4 条硬约束写**,事后补救会导致 2-3 小时返工。详见 `references/slide-decks.md` 开头「开工前先确认交付格式」一节。
|
||||
- 🛑 **幻灯片/PPT 任务:HTML 聚合演示版永远是默认基础产物**(不管用户最终要什么格式):
|
||||
- **必做**:每页独立 HTML + `assets/deck_index.html` 聚合(重命名为 `index.html`,编辑 MANIFEST 列所有页),浏览器里键盘翻页、全屏演讲——这是幻灯片作品的"源"
|
||||
- **可选导出**:额外询问是否需要 PDF(`export_deck_pdf.mjs`)或可编辑 PPTX(`export_deck_pptx.mjs`)作为衍生物
|
||||
- **只有要可编辑 PPTX 时**,HTML 必须从第一行就按 4 条硬约束写(见 `references/editable-pptx.md`);事后补救会 2-3 小时返工
|
||||
- **≥ 5 页 deck 必须先做 2 页 showcase 定 grammar 再批量推**(见 `references/slide-decks.md` 的「批量制作前先做 showcase」章节)——跳过这步 = 方向错返工 N 次而非 2 次
|
||||
- 详见 `references/slide-decks.md` 开头「HTML 优先架构 + 交付格式决策树」
|
||||
- ⚡ **如果用户需求严重模糊(没参考、没明确风格、"做个好看的"类)→ 走「设计方向顾问(Fallback 模式)」大节,完成 Phase 1-4 选定方向后,再回到这里 Step 2**。
|
||||
2. **探索资源 + 抽核心资产**(不只是抽色值):读 design system、linked files、上传的截图/代码。**涉及具体品牌时必走 §1.a「核心资产协议」五步**(问→按类型搜→按类型下载 logo/产品图/UI→验证+提取→写 `brand-spec.md` 含所有资产路径)。
|
||||
- 🛑 **检查点2·资产自检**:开工前确认核心资产到位——实体产品要有产品图(不是 CSS 剪影)、数字产品要有 logo+UI 截图、色值从真实 HTML/SVG 抽取。缺了就停下补,不硬做。
|
||||
@@ -701,12 +706,12 @@ Screen 组件接 callback props(`onEnter`、`onClose`、`onTabChange`、`onOpe
|
||||
|
||||
| 文件 | 何时用 | 提供 |
|
||||
|------|--------|------|
|
||||
| `deck_index.html` | **做幻灯片(默认,多文件架构)** | iframe拼接 + 键盘导航 + scale + 计数器 + 打印合并,每页独立HTML免CSS串扰 |
|
||||
| `deck_index.html` | **幻灯片的默认基础产物**(不管最终出 PDF 还是 PPTX,HTML 聚合版永远先做) | iframe拼接 + 键盘导航 + scale + 计数器 + 打印合并,每页独立HTML免CSS串扰。用法:复制为 `index.html`、编辑 MANIFEST 列出所有页、浏览器打开即成演示版 |
|
||||
| `deck_stage.js` | 做幻灯片(单文件架构,≤10页) | web component:auto-scale + 键盘导航 + slide counter + localStorage + speaker notes ⚠️ **script 必须放在 `</deck-stage>` 之后,section 的 `display: flex` 必须写到 `.active` 上**,详见 `references/slide-decks.md` 的两个硬约束 |
|
||||
| `scripts/export_deck_pdf.mjs` | **HTML→PDF 导出(多文件架构)** · 每页独立 HTML 文件,playwright 逐个 `page.pdf()` → pdf-lib 合并。文字保留矢量可搜。依赖 `playwright pdf-lib` |
|
||||
| `scripts/export_deck_stage_pdf.mjs` | **HTML→PDF 导出(单文件 deck-stage 架构专用)** · 2026-04-20 新增。处理 shadow DOM slot 导致的「只出 1 页」、absolute 子元素溢出等坑。详见 `references/slide-decks.md` 末节。依赖 `playwright` |
|
||||
| `scripts/export_deck_pptx.mjs` | **HTML→PPTX 导出(双模式)** · `--mode image` 图片铺底视觉 100% 保真但文字不可编辑;`--mode editable` 调 `html2pptx.js` 导出原生可编辑文本框,但 HTML 必须符合 4 条硬约束(见 `references/editable-pptx.md`)。依赖 `playwright pptxgenjs`(editable 模式还需 `sharp`) |
|
||||
| `scripts/html2pptx.js` | **HTML→PPTX 元素级翻译器** · 读 computedStyle 把 DOM 逐元素翻译成 PowerPoint 对象(text frame / shape / picture)。`export_deck_pptx.mjs --mode editable` 内部调用。要求 HTML 严格满足 4 条硬约束 |
|
||||
| `scripts/export_deck_pptx.mjs` | **HTML→可编辑 PPTX 导出** · 调 `html2pptx.js` 导出原生可编辑文本框,文字在 PPT 里双击可直接编辑。**HTML 必须符合 4 条硬约束**(见 `references/editable-pptx.md`),视觉自由度优先的场景请改走 PDF 路径。依赖 `playwright pptxgenjs sharp` |
|
||||
| `scripts/html2pptx.js` | **HTML→PPTX 元素级翻译器** · 读 computedStyle 把 DOM 逐元素翻译成 PowerPoint 对象(text frame / shape / picture)。`export_deck_pptx.mjs` 内部调用。要求 HTML 严格满足 4 条硬约束 |
|
||||
| `design_canvas.jsx` | 并排展示≥2个静态variations | 带label的网格布局 |
|
||||
| `animations.jsx` | 任何动画HTML | Stage + Sprite + useTime + Easing + interpolate |
|
||||
| `ios_frame.jsx` | iOS App mockup | iPhone bezel + 状态栏 + 圆角 |
|
||||
|
||||
Reference in new issue
Block a user