← 返回
未分类

动画ppt

生成"电子杂志 × 电子墨水"风格的横向翻页网页 PPT(单 HTML 文件),含 WebGL 流体背景、衬线标题 + 非衬线正文、章节幕封、数据大字报、图片网格等模板。当用户需要制作分享 / 演讲 / 发布会风格的网页 PPT,或提到"杂志风 PPT"、"horizontal swipe deck"、"editorial magazine"、"e-ink presentation"时使用。
生成"电子杂志 × 电子墨水"风格的横向翻页网页 PPT(单 HTML 文件),含 WebGL 流体背景、衬线标题 + 非衬线正文、章节幕封、数据大字报、图片网格等模板。当用户需要制作分享 / 演讲 / 发布会风格的网页 PPT,或提到"杂志风 PPT"、"horizontal swipe deck"、"editorial magazine"、"e-ink presentation"时使用。
user_d418f5eb
未分类 community v1.0.1 2 版本 99397.6 Key: 无需
★ 1
Stars
📥 145
下载
💾 0
安装
2
版本
#latest

概述

Magazine Web Ppt

这个 Skill 做什么

生成一份单文件 HTML的横向翻页 PPT,视觉基调是:

  • 电子杂志 + 电子墨水混血风格
  • WebGL 流体 / 等高线 / 色散背景(hero 页可见)
  • 衬线标题(Noto Serif SC + Playfair Display)+ 非衬线正文(Noto Sans SC + Inter)+ 等宽元数据(IBM Plex Mono)
  • Lucide 线性图标(不用 emoji)
  • 横向左右翻页(键盘 ← →、滚轮、触屏滑动、底部圆点、ESC 索引)
  • 主题平滑插值:翻到 hero 页时颜色和 shader 柔顺过渡
  • 翻页入场动效(Motion One 驱动,5 种 recipe 自动匹配布局,本地 + CDN 双保险,离线可用)

这个 skill 的美学不是"商务 PPT",也不是"消费互联网 UI"——它像 Monocle 杂志贴上了代码后的样子。

何时使用

合适的场景

  • 线下分享 / 行业内部讲话 / 私享会
  • AI 新产品发布 / demo day
  • 带有强烈个人风格的演讲
  • 需要"一次做完,不用翻页工具"的网页版 slides

不合适的场景

  • 大段表格数据、图表叠加(用常规 PPT)
  • 培训课件(信息密度不够)
  • 需要多人协作编辑(这是静态 HTML)

工作流

Step 1 · 需求澄清(动手前必做)

如果用户已经给了完整的大纲 + 图片,可以跳过直接进 Step 2。

如果用户只给了主题或一个模糊想法,用这 6 个问题逐个对齐后再动手。不要基于猜测就开始写 slide——一旦结构定错,后期翻修代价很高:

6 问澄清清单

#问题为什么要问
--------------------
1受众是谁?分享场景?(行业内部 / 商业发布 / demo day / 私享会)决定语言风格和深度
2分享时长?15 分钟 ≈ 10 页,30 分钟 ≈ 20 页,45 分钟 ≈ 25-30 页
3有没有原始素材?(文档 / 数据 / 旧 PPT / 文章链接)有素材就基于素材,没有就帮他搭
4有没有图片?放在哪?详见下方"图片约定"
5想要哪套主题色?references/themes.md,5 套预设挑一
6有没有硬约束?(必须包含 XX 数据 / 不能出现 YY)避免返工

大纲协助(如果用户没有大纲)

用"叙事弧"模板搭骨架,再填内容:

钩子(Hook)       → 1 页   : 抛一个反差 / 问题 / 硬数据让人停下来
定调(Context)    → 1-2 页 : 说明背景 / 你是谁 / 为什么讲这个
主体(Core)       → 3-5 页 : 核心内容,用 Layout 4/5/6/9/10 穿插
转折(Shift)      → 1 页   : 打破预期 / 提出新观点
收束(Takeaway)   → 1-2 页 : 金句 / 悬念问题 / 行动建议

叙事弧 + 页数规划 + 主题节奏表(见 layouts.md),三张表对齐后再进 Step 2。

大纲建议保存为 项目记录.md大纲-v1.md,便于后续迭代。

图片约定(告知用户)

在动手前向用户说清:

  • 文件夹位置:项目/XXX/ppt/images/ 下(和 index.html 同级)
  • 命名规范:{页号}-{语义}.{ext},例如 01-cover.jpg / 03-figma.jpg / 05-dashboard.png
  • 页号补零便于排序
  • 语义用英文,短、具体、和内容对应
  • 规格建议:
  • 单张 ≥ 1600px 宽(避免大屏模糊)
  • JPG 用于照片/截图,PNG 用于透明 UI/图表
  • 总大小控制在 10MB 内(影响翻页流畅度)
  • 如何替换:保持同名覆盖最稳(HTML 里不用改路径);如果文件名变了,记得全局搜 images/旧名 改成新名
  • 没图怎么办:和用户对齐,可以先用占位色块生成结构,等图片后期补;但要告知 layout 4/5/10 等图文混排页没图就没法验证视觉效果

Step 2 · 拷贝模板

assets/template.html 拷贝一份到目标位置(通常是 项目/XXX/ppt/index.html),同时在同级建一个 images/ 文件夹准备接图片。

mkdir -p "项目/XXX/ppt/images"
cp "<SKILL_ROOT>/assets/template.html" "项目/XXX/ppt/index.html"

template.html 是一个完整可运行的文件——CSS、WebGL shader、翻页 JS、字体/图标 CDN 全已预设好,只有

里面是 3 个示例 slide(封面、章节幕封、空白填充页)。

2.1 · 必改占位符(容易漏

拷贝后立刻改掉以下占位符,否则浏览器 Tab 会显示"[必填] 替换为 PPT 标题"这种尴尬文字:

位置原始需改为
--------------------
</code></td><td><code>[必填] 替换为 PPT 标题 · Deck Title</code></td><td>实际 deck 标题(如 <code>一种新的工作方式 · Luke Wroblewski</code>)</td></tr></tbody></table><p>每次拷贝完 template.html 第一件事:grep 一下"[必填]" 确认全部替换完。</p><h4>2.2 · 选定主题色(5 套预设 · 不允许自定义)</h4><p>本 skill <strong>只允许从 5 套精心调配的预设里选一套</strong>,不接受用户自定义 hex 值——颜色搭配错了画面瞬间变丑,保护美学比给自由更重要。</p><table><thead><tr><th>#</th><th>主题</th><th>适合</th></tr></thead><tbody><tr><td>---</td><td>------</td><td>------</td></tr><tr><td>1</td><td>🖋 墨水经典</td><td>通用 / 商业发布 / 不知道选啥的默认</td></tr><tr><td>2</td><td>🌊 靛蓝瓷</td><td>科技 / 研究 / 数据 / 技术发布会</td></tr><tr><td>3</td><td>🌿 森林墨</td><td>自然 / 可持续 / 文化 / 非虚构</td></tr><tr><td>4</td><td>🍂 牛皮纸</td><td>怀旧 / 人文 / 文学 / 独立杂志</td></tr><tr><td>5</td><td>🌙 沙丘</td><td>艺术 / 设计 / 创意 / 画廊</td></tr></tbody></table><p><strong>操作</strong>:</p><ol><li>基于内容主题推荐一套,或直接问用户选哪一套</li><li>打开 <code>references/themes.md</code>,找到对应主题的 <code>:root</code> 块</li><li><strong>整体替换</strong> <code>assets/template.html</code>(已拷贝版本)开头 <code>:root{</code> 块里标有"主题色"注释的那几行(<code>--ink</code> / <code>--ink-rgb</code> / <code>--paper</code> / <code>--paper-rgb</code> / <code>--paper-tint</code> / <code>--ink-tint</code>)</li><li>其他 CSS 都走 <code>var(--...)</code>,无需任何其他改动</li></ol><p><strong>硬规则</strong>:</p><ul><li>一份 deck 只用一套主题,不要中途换色</li><li>不要接受用户给的任意 hex 值——委婉拒绝并展示 5 套让选</li><li>不要混搭(例如 ink 取墨水经典、paper 取沙丘)——会彻底违和</li></ul><h3>Step 3 · 填充内容</h3><h4>3.0 · 预检:类名必须在 template.html 里有定义(<strong>最重要</strong>)</h4><p><strong>这是所有生成问题的源头</strong>。layouts.md 的骨架使用了很多类名(<code>h-hero</code> / <code>h-xl</code> / <code>stat-card</code> / <code>pipeline</code> / <code>grid-2-7-5</code> 等),如果 <code>assets/template.html</code> 的 <code><style></code> 里没有对应定义,浏览器会 fallback 到默认样式——大标题变成非衬线、数据卡片挤成一团、pipeline 糊成一行、图片堆到页面底部。</p><p><strong>在写任何 slide 代码之前:</strong></p><ol><li><strong>先 Read <code>assets/template.html</code></strong>(至少读到 <code><style></code> 块末尾)</li><li><strong>对照 layouts.md 的 Pre-flight 列表</strong>,确认你要用的每个类都在 <code><style></code> 里存在</li><li>如果某个类缺失:<strong>在 template.html 的 <code><style></code> 里补上</strong>,不要在每个 slide 里 inline 重写</li><li><strong>template.html 是唯一的类名来源</strong>——不要发明新类名,如需自定义用 <code>style="..."</code> inline</li></ol><p>常见容易遗漏的类(必须预先确认存在):</p><p><code>h-hero</code> / <code>h-xl</code> / <code>h-sub</code> / <code>h-md</code> / <code>lead</code> / <code>kicker</code> / <code>meta-row</code> / <code>stat-card</code> / <code>stat-label</code> / <code>stat-nb</code> / <code>stat-unit</code> / <code>stat-note</code> / <code>pipeline-section</code> / <code>pipeline-label</code> / <code>pipeline</code> / <code>step</code> / <code>step-nb</code> / <code>step-title</code> / <code>step-desc</code> / <code>grid-2-7-5</code> / <code>grid-2-6-6</code> / <code>grid-2-8-4</code> / <code>grid-3-3</code> / <code>grid-6</code> / <code>grid-3</code> / <code>grid-4</code> / <code>frame</code> / <code>frame-img</code> / <code>img-cap</code> / <code>callout</code> / <code>callout-src</code> / <code>chrome</code> / <code>foot</code></p><h4>3.0.5 · 规划主题节奏(<strong>和类预检同等重要</strong>)</h4><p><strong>在挑布局之前</strong>,必须先列出每一页的主题 class(<code>hero dark</code> / <code>hero light</code> / <code>light</code> / <code>dark</code>)并写到文档或草稿里对齐。详细规则看 <code>references/layouts.md</code> 开头的"主题节奏规划"一节。</p><p><strong>强制规则</strong>:</p><ul><li>每页 section 必须带 <code>light</code> / <code>dark</code> / <code>hero light</code> / <code>hero dark</code> 之一,不要只写 <code>hero</code></li><li>连续 3 页以上同主题 = 视觉疲劳,不允许</li><li>8 页以上必须有 ≥1 个 <code>hero dark</code> + ≥1 个 <code>hero light</code></li><li>整个 deck 不能只有 <code>light</code> 正文页,必须有 <code>dark</code> 正文页制造呼吸</li><li>每 3-4 页插入 1 个 hero 页(封面/幕封/问题/大引用)</li></ul><p><strong>生成后自检</strong>:<code>grep 'class="slide' index.html</code> 列出所有主题,人工确认节奏合理再交付。</p><h4>3.1 · 挑布局</h4><p><strong>不要从零写 slide</strong>。打开 <code>references/layouts.md</code>,里面有 10 种现成布局骨架,每种都是完整可粘贴的 <code><section></code> 代码块:</p><table><thead><tr><th>Layout</th><th>用途</th></tr></thead><tbody><tr><td>---</td><td>---</td></tr><tr><td>1. 开场封面</td><td>第 1 页</td></tr><tr><td>2. 章节幕封</td><td>每幕开场</td></tr><tr><td>3. 数据大字报</td><td>抛硬数据</td></tr><tr><td>4. 左文右图(Quote + Image)</td><td>身份反差 / 故事</td></tr><tr><td>5. 图片网格</td><td>多图对比 / 截图实证</td></tr><tr><td>6. 两列流水线(Pipeline)</td><td>工作流程</td></tr><tr><td>7. 悬念收束 / 问题页</td><td>幕末 / 收尾</td></tr><tr><td>8. 大引用页(Big Quote)</td><td>衬线金句 / takeaway</td></tr><tr><td>9. 并列对比(Before / After)</td><td>旧模式 vs 新模式</td></tr><tr><td>10. 图文混排(Lead Image + Side Text)</td><td>信息密集的图文页</td></tr></tbody></table><p>选对应 layout,粘过去,改文案和图片路径即可。<strong>务必先完成 3.0 预检</strong>。</p><h4>3.2 · 图片比例规范</h4><p>永远用<strong>标准比例</strong>,不要用原图奇葩比例(如 <code>2592/1798</code>):</p><table><thead><tr><th>场景</th><th>推荐比例</th></tr></thead><tbody><tr><td>------</td><td>---------</td></tr><tr><td>左文右图 主图</td><td>16:10 或 4:3 + <code>max-height:56vh</code></td></tr><tr><td>图片网格(多图对比)</td><td><strong>固定 <code>height:26vh</code></strong>,不用 aspect-ratio</td></tr><tr><td>左小图 + 右文字</td><td>1:1 或 3:2</td></tr><tr><td>全屏主视觉</td><td>16:9 + <code>max-height:64vh</code></td></tr><tr><td>图文混排小插图</td><td>3:2 或 3:4</td></tr></tbody></table><p><strong>图片绝不使用 <code>align-self:end</code></strong>——会滑到 cell 底被浏览器工具栏遮挡。用 grid 容器 + <code>align-items:start</code>(template 已预设)让图片贴顶即可;左列若想贴底,用 flex column + <code>justify-content:space-between</code>。</p><p>组件细节(字体、颜色、网格、图标、callout、stat-card 等)在 <code>references/components.md</code>。</p><h3>Step 4 · 对照检查清单自检</h3><p>生成完一定要打开 <code>references/checklist.md</code>,逐项对照。里面总结了<strong>真实迭代过程中踩过的所有坑</strong>,P0 级别的问题(emoji、图片撑破、标题换行、字体分工)必须全部通过。</p><p>特别要注意的几条:</p><ol><li><strong>大标题必须是衬线字体</strong>——如果显示成非衬线,99% 是 Step 3.0 预检没做,<code>h-hero</code> 类在 template.html 里缺失</li><li><strong>图片网格里只用 <code>height:Nvh</code>,不用 <code>aspect-ratio</code></strong>(会撑破)</li><li><strong>图片不能堆到页面底部</strong>——不要用 <code>align-self:end</code>,用 grid + <code>align-items:start</code>(见 Step 3.2)</li><li><strong>图片只能用标准比例</strong>(16:10 / 4:3 / 3:2 / 1:1 / 16:9),不要复制原图的奇葩比例</li><li><strong>中文大标题 ≤ 5 字且 <code>nowrap</code></strong>(避免 1 字 1 行)</li><li><strong>用 Lucide,不用 emoji</strong></li><li><strong>标题用衬线,正文用非衬线,元数据用等宽</strong></li></ol><h3>Step 5 · 本地预览</h3><p>直接在浏览器打开 <code>index.html</code> 就行。macOS 下:</p><pre><code>open "项目/XXX/ppt/index.html" </code></pre><p>不需要本地服务器。图片走相对路径 <code>images/xxx.png</code>。</p><h3>Step 6 · 迭代</h3><p>根据用户反馈修改——模板的 CSS 已经高度参数化,90% 的调整都是改 inline style(字号 <code>font-size:Xvw</code> / 高度 <code>height:Yvh</code> / 间距 <code>gap:Zvh</code>)。</p><hr><h2>资源文件导览</h2><pre><code>slide-animation-skill/ ├── SKILL.md ← 你正在读 ├── assets/ │ ├── template.html ← 完整的可运行模板(种子文件) │ └── motion.min.js ← Motion One 本地副本(离线兜底,约 64KB) └── references/ ├── components.md ← 组件手册(字体、色、网格、图标、callout、stat、pipeline、动效...) ├── layouts.md ← 10 种页面布局骨架(可直接粘贴,含动效标记) ├── themes.md ← 5 套主题色预设(只能选不能自定义) └── checklist.md ← 质量检查清单(P0/P1/P2/P3 分级) </code></pre><p><strong>加载顺序建议</strong>:</p><ol><li>先读完 <code>SKILL.md</code>(这个文件)了解整体</li><li>Step 1 需求澄清完成后,读 <code>themes.md</code> 帮用户选定一套主题色</li><li><strong>动手前 Read <code>assets/template.html</code> 的 <code><style></code> 块</strong>——这是类名的唯一来源,缺类会导致整页样式崩</li><li>读 <code>layouts.md</code> 挑布局(顶部有 Pre-flight 类名清单、主题节奏规划、动效 recipe 决策树)</li><li>细节调整时读 <code>components.md</code> 查组件(含 Motion 动效系统章节)</li><li>生成后读 <code>checklist.md</code> 自检(顶部 P0-0 规则强制预检 + 动效自检块)</li></ol><p><strong>动效相关</strong>:模板已把 Motion One 的加载和 5 种 recipe 逻辑全部内嵌到 <code>template.html</code> 底部的 module script。你不需要改 JS,只需要按 <code>layouts.md</code> 的骨架在 HTML 里加 <code>data-anim</code> / <code>data-animate</code> 即可。离线演示靠 <code>assets/motion.min.js</code>,断网时自动降级为"无动画但内容可读"。</p><h2>核心设计原则(哲学)</h2><p>> 这些原则是"一人公司"分享 PPT 的 5 轮迭代总结出来的。违反其中任何一条,视觉感都会垮。</p><ol><li><strong>克制优于炫技</strong> — WebGL 背景只在 hero 页透出,普通页几乎看不见</li><li><strong>结构优于装饰</strong> — 不用阴影、不用浮动卡片、不用 padding box,一切信息靠<strong>大字号 + 字体对比 + 网格留白</strong></li><li><strong>内容层级由字号和字体共同定义</strong> — 最大衬线 = 主标题,中衬线 = 副标,大非衬线 = lead,小非衬线 = body,等宽 = 元数据</li><li><strong>图片是第一公民</strong> — 图片只裁底部,保证顶部和左右完整;网格用 <code>height:Nvh</code> 固定,不要用 <code>aspect-ratio</code> 撑</li><li><strong>节奏靠 hero 页</strong> — hero 和 non-hero 交替,才不累眼睛</li><li><strong>术语统一</strong> — Skills 就是 Skills,不要中英混合翻译</li></ol><h2>参考作品</h2><p>本 skill 的视觉基调参考了:</p><ul><li>歸藏 "一人公司:被 AI 折叠的组织" 分享(2026-04-22,27 页)</li><li><em>Monocle</em> 杂志的版式</li><li>YC 总裁 Garry Tan "Thin Harness, Fat Skills" 那篇博客的 demo</li></ul><p>可以把它们当做风格锚点。</p></div> </div> </div> <div id="tab-versions" class="detail-content"> <div class="detail-section"> <h2>版本历史</h2> <p style="margin-bottom:12px;font-size:14px;color:#94a3b8;">共 2 个版本</p> <ul class="version-list"> <li> <div> <span class="version-tag">v1.0.1</span> <span style="font-size:13px;color:#64748b;margin-left:8px;">更新 README.md</span> <span style="font-size:11px;color:#5b6abf;margin-left:8px;background:#eef0ff;padding:1px 8px;border-radius:10px;">当前</span> </div> <div style="font-size:12px;color:#94a3b8;"> 2026-04-29 09:09 安全 安全 </div> </li> <li> <div> <span class="version-tag">v1.0.0</span> <span style="font-size:13px;color:#64748b;margin-left:8px;">slide-animation-skill</span> </div> <div style="font-size:12px;color:#94a3b8;"> 2026-04-28 19:39 安全 </div> </li> </ul> </div> </div> <div id="tab-security" class="detail-content"> <div class="detail-section"> <h2>安全检测</h2> <div class="sec-grid"> <div class="sec-card"> <h4>腾讯云安全 (Keen)</h4> <div class="sec-status sec-safe"> 安全,无风险 </div> <a href="https://tix.qq.com/search/skill?keyword=9ba444e2c853297771adb2bd5f306733" target="_blank">查看报告</a> </div> <div class="sec-card"> <h4>腾讯云安全 (Sanbu)</h4> <div class="sec-status sec-safe"> 安全,无风险 </div> <a href="https://static.cloudsec.tencent.com/html-report-v2/2026/05/26/424526_c0fd85a5613495c5f3e8d0eb881e9afb.html?q-sign-algorithm=sha1&q-ak=AKID8JMG1bzBC1dz96qNhssfFftujT1NCoFi&q-sign-time=1781412038%3B1812948038&q-key-time=1781412038%3B1812948038&q-header-list=host&q-url-param-list=&q-signature=e3e11cd6525d17f533f136d8fdb17a684ed03261" target="_blank">查看报告</a> </div> </div> </div> </div> <!-- Recommended Skills --> <div style="margin-top:24px;"> <h2 style="font-size:18px;font-weight:600;margin-bottom:16px;">🔗 相关推荐</h2> <div class="rec-grid"> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">ai-intelligence</span> <h3><a href="/s/self-improving-agent">self-improving agent</a></h3> <div class="rec-owner">pskoett</div> <div class="rec-desc">捕获经验教训、错误和纠正,以实现持续改进。使用时机:(1)命令或操作意外失败;(2)用户纠正……</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 4,062</span> <span style="color:#5b6abf;">📥 800,369</span> </div> </div> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">security-compliance</span> <h3><a href="/s/skill-vetter">Skill Vetter</a></h3> <div class="rec-owner">spclaudehome</div> <div class="rec-desc">AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 1,219</span> <span style="color:#5b6abf;">📥 266,891</span> </div> </div> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">ai-intelligence</span> <h3><a href="/s/self-improving">Self-Improving + Proactive Agent</a></h3> <div class="rec-owner">ivangdavila</div> <div class="rec-desc">自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 1,363</span> <span style="color:#5b6abf;">📥 319,074</span> </div> </div> </div> </div> </div> <script> document.addEventListener('DOMContentLoaded',function(){ document.querySelectorAll('.detail-tab').forEach(function(btn){ btn.addEventListener('click',function(e){ var tab = this.getAttribute('data-tab'); document.querySelectorAll('.detail-tab').forEach(function(b){b.classList.remove('active')}); document.querySelectorAll('.detail-content').forEach(function(c){c.classList.remove('active')}); this.classList.add('active'); var el = document.getElementById('tab-'+tab); if(el) el.classList.add('active'); }); }); }); </script> <div class="footer"> <p>Skill工具集 © 2026</p> </div></body> </html>