火一五 PPT 技能 v3.2
Design tokens + 11 页面模板 + 21 套生产级审美方案 — 青岛火一五信息科技有限公司
〇、v4.0 完整能力(v3.3-v4.0 累加)— 媲美 Gamma + 独有差异化
核心 CLI 矩阵
| 版本 | 脚本 | 能力 | 对标 Gamma |
|---|---|---|---|
| v3.3 | anti_slop_audit.py wcag_audit.py charts.py pptx_critique.py | 反 AI Slop 15 红线 + WCAG AA + 真数据图 + 4 档自评 | 我们独有 |
| v3.4 | prompt_to_deck.py | 自然语言 prompt → JSON deck(Claude API + cache) | Gamma 60 秒生成 |
| v3.5 | smart_layouts.py | timeline / pyramid / funnel / steps 4 种 PNG | Gamma Smart Layouts |
| v3.6 | ai_image.py | Unsplash + Pexels + Placeholder 3 provider | Gamma Imagine |
| v3.7 | brand_init.py | Logo → 主色提取 → brand-pack.json | Gamma brand kit |
| v3.8 | web_export.py url_import.py | scroll-snap HTML 发布 + URL 抓内容转 deck | Gamma publish/import |
| v3.9 | remix.py | 受众/语言/语气改写(6 audiences × 7 langs × 5 tones) | Gamma Remix |
| v4.0 | auto_critique.py | 一键 quick/deep/full 评审 + Markdown 报告 + PNG 截图 | 我们独有 |
一键工作流(推荐)
export ANTHROPIC_API_KEY='sk-ant-...'
# 1. prompt → deck
python3 scripts/prompt_to_deck.py "做一份 8 分钟产品发布演讲" \
--output /tmp/d.json --build /tmp/d.pptx
# 2. 改受众
python3 scripts/remix.py /tmp/d.json --audience board \
--output /tmp/board.json --build /tmp/board.pptx
# 3. 发布为网站
python3 scripts/web_export.py /tmp/d.json --output /tmp/site.html
# 4. 自动评审
python3 scripts/auto_critique.py --deck /tmp/d.json --mode full \
--output-dir /tmp/critique/
不输 Gamma 的独有优势
- 本地运行 + 数据隐私(合同 / 财报不上传 SaaS)
- CJK 一等公民(朱砂印章 / 飞白 / 国风元素,Gamma 永远做不到)
- 21 套真审美方案(玻璃 / 水墨 / 国风 / 梵高 / 包豪斯 / 韦斯安德森,Gamma 偏新企业风千篇一律)
- 15 条反 AI Slop 红线机器化校验 + WCAG 2.2 AA 自动审计(Gamma 没系统)
- 零 vendor lock-in(输出 PPTX / HTML 永远是自己的)
〇、v4.1 智能动画引擎 + v4.2 PPTX 编辑(对标 ChatPPT 核心差异化)
v4.1 pptx_animate.py — 给现有 .pptx 加智能转场
python3 scripts/pptx_animate.py /tmp/d.pptx --style apple-keynote \
--deck-json /tmp/d.json --output /tmp/animated.pptx
4 种风格预设(OOXML <p:transition> 直接注入):
apple-keynote— push + section wipe + quote fademinimal-fade— 全 slide fade,克制dynamic-slide— cover + push 活泼cinematic— cover + fade 电影感
按 slide type 智能选转场(hero_cover→cover 类 / section_divider→wipe / quote_card→fade / 默认 push)。对标 ChatPPT "全网唯一智能动画引擎",但本地实现,零云端依赖。
v4.2 pptx_edit.py — 加载现有 .pptx → AI 改写 → 输出
# 一条龙 AI 改写
python3 scripts/pptx_edit.py rewrite /input.pptx \
--instruction "把所有标题改简洁,加 Apple 发布会的克制感" \
--output /improved.pptx
# 提取 → 人工编辑 → 写回(不依赖 LLM)
python3 scripts/pptx_edit.py extract /input.pptx --output /tmp/edit.json
# (人工改 /tmp/edit.json 的 paragraphs[].text)
python3 scripts/pptx_edit.py apply /input.pptx --edits /tmp/edit.json \
--output /improved.pptx
工作原理:python-pptx run-level 替换文字,保留所有 formatting(字体 / 颜色 / 字号 / 段落对齐)。对标 ChatPPT Office 插件模式,但走命令行 + OpenClaw 调用,更适合企业批量处理。
实测:6 张 slide deck → extract 30 paragraphs → 改 1 段 → apply → 再 extract 验证改动落实 ✓
〇、v3.3 设计能力栈集成(媲美 claude design)
参照 huo15-openclaw-frontend-design v4.7 / huo15-openclaw-design-critique v2.0,把 PPT 也带入 4 档审美档位识别(AI-Slop / Junior / Senior / Master)。
4 个新增 CLI
# 1. 反 AI Slop 红线自检(15 条机器化校验,参照 frontend-design)
python3 scripts/anti_slop_audit.py # 全部 21 套 pack
python3 scripts/anti_slop_audit.py apple-light # 单 pack 详情
python3 scripts/anti_slop_audit.py --json --fail-on-violation # CI 模式
# 2. WCAG 2.2 AA 文字对比度自检(每对 fg/bg ratio ≥ 4.5)
python3 scripts/wcag_audit.py
python3 scripts/wcag_audit.py apple-keynote
# 3. matplotlib 真数据图表(替代 CSS 假产品图,反 AI Slop R5)
python3 scripts/charts.py bar --pack apple-light \
--title "营收增长" --xlabel "季度" --ylabel "营收(万元)" \
--data "Q1=120,Q2=180,Q3=240,Q4=320" \
--output ./chart.png
# 支持 bar / hbar / line / pie / scatter / area;中文字体自动 fallback
# 也可以 Python 直接用:from charts import render_chart
# 4. 设计自评(综合 anti-slop + wcag,给 4 档定位 + Keep/Fix/Quick Wins)
python3 scripts/pptx_critique.py --pack apple-light --deep
python3 scripts/pptx_critique.py --all # 21 套 pack 综合排名
v3.3 21 套 pack 自评结果
| 档位 | 数量 | pack |
|---|---|---|
| 🏆 Master (≥90) | 19 | apple-keynote / apple-light / liquid-glass / muji / ink-wash / guofeng / tech-neon / tech-minimal / cyberpunk-vivid / van-gogh / da-vinci / xhs-fashion / memphis / bauhaus / wes-anderson / xiaohongshu-vintage / jobs-dark / xiaohongshu / xiaohongshu-portrait |
| ✅ Senior (75-89) | 2 | morandi (80) / xiaohongshu-creator (78.2) — 流派必然的低对比度,仅适合极简静态展示 |
| ⚠️ Junior / ❌ AI-Slop | 0 | (v3.3 修了 4 个 pack 的 Inter 字体 + tech-minimal 紫色 accent,全员脱离低档) |
反 AI Slop 15 条红线(机器化校验摘要)
| # | 禁用项 | 校验方式 |
|---|---|---|
| 1 | Inter / Roboto / Arial / system-ui 字体 | display_font / body_font 字段比对禁用列表 |
| 2 | 紫色调 accent(H ∈ [240°, 300°],S>40%) | hex → HSL 换算判定 |
| 3 | emoji 当图标 | 字段含 emoji codepoint 范围 |
| 4 | border-radius 默认 12 / 16px | card_radius pt 值检测 |
| 6 | #121212 暗黑 + 紫主题 | bg + accent 联动 |
| 8 | iOS 系统色直接套用(#007AFF 等) | accent 黑名单匹配 |
| 10 | backdrop-blur 玻璃形态滥用 | glass / frosted 必须 explicit 命名 |
| 11 | AI 渐变模糊背景(紫粉蓝青) | conic-gradient 紫粉关键词 |
与 4 件套设计能力栈联动
| 能力 | 来源 skill | PPT 怎么用 |
|---|---|---|
| 6 维深度评审 | huo15-openclaw-design-critique v2.0 | 导出 slide 为 PNG → 跑 design-critique → 拿对标差距 |
| 8 流派 design tokens | huo15-openclaw-frontend-design v4.7 | 复用 6 大美学方向(Bold-Minimal / Editorial / Brutalist 等) |
| 多方向并行对比 | huo15-openclaw-design-director v3.0 | 一题三方向:选 3 个不同流派 pack 各出一份 PPT |
| 品牌资产 5 步 | huo15-openclaw-brand-protocol v1.0 | 写 PPT 前先 Ask/Search/Verify 品牌官方定位 + 注入 Theme |
一、核心理念
v2.x 是「色卡游戏」——只改 primary/accent 两个颜色就叫一个新风格。v3.0 重写成真正的设计系统:
StylePack = Palette + Typography + Spacing + Elevation + Decoration + Canvas
每一层都是独立的 tokens,单一风格对应一整组 tokens。例如「Apple 发布会」不只是「黑底」,而是:
- Palette:纯黑
#000000底 + 4 级灰阶文字 + Apple 蓝#0A84FF - Typography:SF Pro Display + hero 160pt + 负字距 -3% + 行高 0.95
- Spacing:8pt grid + hero 页左右留白 1.2"
- Elevation:完全 flat,无阴影
- Decoration:居中对齐、英文全大写、不显示页脚
v3.1 在 Decoration 层追加了六件套科技装饰,每个 pack 都能独立开关:
| 装饰 | 作用 |
|---|---|
gradient_bg | 背景渐变(取代纯色),给 slide 加深度 |
accent_gradient | hero/section/stat 大字做渐变文字(Keynote/PowerPoint 端显示,Impress 回落纯色) |
grid_overlay / dot_grid | 细线网格或点阵背景层,赛博 / Vercel 的视觉招牌 |
glow_accent | 强调色大字周围叠多层半透明椭圆模拟辉光 |
corner_marks | 四角 L 型取景框刻度 |
dev_badge | 左下等宽字体版本戳(BUILD · 2026.4.24 / v2026 · BUILD 1337) |
科技风由此而来——每张 slide 都能直接当品牌海报/社媒头图使用。
二、6 套审美方案
| pack key | 风格 | 适用场景 |
|---|---|---|
apple-keynote(别名 apple, 苹果, 发布会) | Apple 发布会暗场 | 新品发布、融资路演、重磅主题 |
apple-light(别名 苹果白, 苹果官网) | Apple.com 白场 | 产品介绍页、功能说明、官网风 |
xiaohongshu-creator(别名 博主, 博主风, 生活博主, 奶油博主) | 小红书博主(奶油生活系) | 博主笔记、种草分享、温度叙事 |
xiaohongshu-vintage(别名 复古, 胶片, 复古胶片) | 小红书博主(复古胶片) | 旅行手记、文艺向、生活美学 |
tech-neon(别名 tech, neon, 科技, 科技风, 霓虹, 赛博, 赛博朋克, cyberpunk) | 科技霓虹(赛博黑蓝) | AI 产品发布、黑客马拉松、技术 roadshow |
tech-minimal(别名 vercel, linear, saas, 极简科技, 暗黑极简) | 科技极简(Vercel/Linear 风) | SaaS 产品主页、DevTool 推销、基础设施介绍 |
2.1 apple-keynote —— 真·发布会
- 配色:纯黑
#000000(不是深蓝!)+ 白灰文字 + Apple 品牌蓝 - 字体:SF Pro Display + SF Pro Text
- hero 字号:160pt(是 v2 的 2.5 倍,带自动 fit 避免 CJK 溢出)
- 装饰:完全居中、英文小字全大写(INTRODUCING / SCALE)、不显示页脚
- big_stat 字号:280pt — "2B" 一张页的视觉锚点
2.2 apple-light —— 产品页白场
- 配色:纯白 + Apple.com 的卡片灰
#F5F5F7+ 链接蓝#0071E3 - 字体:SF Pro Display
- hero 字号:120pt
- 卡片:无描边,圆角 0.18",靠填色区分
- 装饰:居中对齐、英文不全大写
2.3 xiaohongshu-creator —— 奶油生活博主
- 配色:奶油
#FBF7F0底 + 焦糖咖#3E2E1F主文字 + 鼠尾草绿#9FAE8B点缀 - 字体:Noto Serif SC(衬线!)+ PingFang SC 正文
- hero 字号:72pt + 正字距 +2%(衬线字撑开)
- 装饰:左对齐、标题左侧竖条 accent bar、圆角 0.22" 卡片 + 微阴影
- 特色:文字不用纯黑而用焦糖咖色,配 sage green accent 做博主的温度
2.4 xiaohongshu-vintage —— 复古胶片
- 配色:复古米
#F2EAD9+ 深栗咖#4A3526文字 + 雾霾蓝#A8B8C6accent - 字体:Noto Serif SC(标题和正文都衬线,强化胶片感)
- hero 字号:64pt + 更松字距 +3% + 高行高 1.2
- 装饰:封面顶/底装饰横线、卡片直角 0.08" 有描边(胶片边框感)
2.5 tech-neon —— 科技霓虹(赛博黑蓝)🆕
- 配色:深蓝黑
#050510底 + 冷灰蓝文字 + 电青#00D9FF主 accent + 电紫#7C3AED辅 accent - 字体:Inter(SF Pro 兜底)+ JetBrains Mono 做 caption/metadata
- hero 字号:144pt + 左对齐 + 负字距 -2.5%
- 装饰:全系六件套全开——对角微渐变背景 + 细线网格 + 四角 L 型刻度 + hero/stat 辉光 halo + 左下
BUILD · 日期dev badge + 等宽小字 metadata - accent_gradient:
#00D9FF → #7C3AED(电青→电紫),PowerPoint/Keynote 下 hero 大字显示渐变 - big_stat 字号:260pt + 辉光叠加——"42ms" 这种数字直接发光
- 场景:AI 发布会、基础设施产品、赛博朋克叙事、黑客马拉松
2.6 tech-minimal —— 科技极简(Vercel/Linear 风)🆕
- 配色:近黑
#0A0A0F底 + 暖白文字 + 电紫#8B5CF6单色 accent - 字体:Inter + JetBrains Mono
- hero 字号:120pt + semibold(不过粗)+ 左对齐
- 装饰:点阵背景(不是网格) + subtle halo + 左下
V2026 · BUILD XXXX等宽版本戳 + 无四角刻度(更克制) - 卡片:细描边
#1F1F28+ 轻量圆角 0.1"——Vercel/Linear 文档感 - 场景:SaaS 产品主页、DevTool 推销、企业级软件 landing page、B 端销售 pitch
三、11 个页面模板
| template key(type) | 用途 | 别名 |
|---|---|---|
hero_cover | 封面大字页(eyebrow + title + subtitle + footnote) | cover |
section_divider | 分章大字页(编号 + 章节标题 + 副标) | section |
big_stat | 单数字大字页(Apple "2B" 招牌页) | stat, big_number |
kpi_triple | 3 宫格 KPI 卡(数字 auto-fit 避免 99.97% 溢出) | kpi, kpi_card |
quote_card | 引用金句卡(大引号 + 引文 + 作者) | quote |
content_list | 编号/要点列表 | list |
compare_columns | 左右对比(before/after, 方案 A/B) | compare, vs, before_after |
product_shot | 产品摄影页(大图 + 侧栏叙事) | product, image, gallery |
timeline | 时间线(横向多节点) | story |
call_to_action | 封底行动号召(大字 + CTA + 联系方式) | cta, end, thanks, contact |
code_block 🆕 | 代码块展示页(等宽字体 + 行号 + macOS 圆点 + filename tab + 关键词上色) | code |
所有模板自动:
- 按
StylePack的 tokens 绘图 — 换 pack 整套风格变 - 自动 fit 大字号 — hero/section/big_stat/kpi/cta 的大字按宽度约束自动缩放,避免 CJK 长文本溢出换行
- 按
decoration切换布局 — 居中/左对齐/accent bar/装饰线 都由 pack 控制 - 科技风 pack 下,
hero_cover/section_divider/big_stat会自动叠加 glow halo + dev badge + accent gradient(Keynote/PowerPoint 渲染端) - 支持 6 个 v3 pack + 3 个 v2.x legacy pack 全兼容
四、JSON deck 规约
{
"year": "2026",
"slides": [
{ "type": "hero_cover",
"eyebrow": "INTRODUCING",
"title": "M4 Ultra.",
"subtitle": "地球上最强的芯片。",
"footnote": "Apple · Cupertino · 2026" },
{ "type": "section_divider",
"number": "01",
"title": "Performance",
"subtitle": "性能" },
{ "type": "big_stat",
"caption": "CPU PERFORMANCE",
"value": "2x",
"unit": "比 M3 Ultra 快",
"footnote": "基于实际应用工作负载",
"accent": true },
{ "type": "kpi_triple",
"title": "重要数字",
"en_sub": "Key Metrics",
"items": [
{ "value": "192", "label": "GB 统一内存", "caption": "整张内存池共享" },
{ "value": "80B", "label": "晶体管", "caption": "3nm 工艺" },
{ "value": "4TB/s","label": "内存带宽", "caption": "AI 推理飞起" }
] },
{ "type": "quote_card",
"quote": "One more thing…",
"author": "Tim Cook",
"role": "Apple CEO" },
{ "type": "content_list",
"title": "我们做了什么",
"en_sub": "What We Did",
"numbered": true,
"items": [
{ "label": "重构设计系统", "desc": "把审美分解成 tokens" },
{ "label": "10 个语义模板", "desc": "hero / section / stat / ..." }
] },
{ "type": "compare_columns",
"title": "升级对比",
"en_sub": "Before vs After",
"emphasize": "right",
"left": { "label": "BEFORE", "title": "色卡游戏", "items": ["..."] },
"right": { "label": "AFTER", "title": "审美方案", "items": ["..."] } },
{ "type": "product_shot",
"title": "产品页",
"kicker": "NEW",
"subtitle": "Apple.com 风的大图 + 侧栏叙事",
"bullets": ["图占大块面积", "文字简洁克制"],
"image": "/tmp/shot.png",
"layout": "right" },
{ "type": "timeline",
"title": "产品演进",
"en_sub": "Timeline",
"events": [
{ "time": "2024", "label": "v1.0", "desc": "乔布斯暗蓝" },
{ "time": "2026", "label": "v3.0", "desc": "tokens + 4 pack" }
] },
{ "type": "code_block",
"title": "Quickstart",
"en_sub": "5 LINES OF CODE",
"filename": "app.py",
"language": "python",
"code": "from synapse import Client\n\nclient = Client(api_key=\"sk-...\")\nresp = client.chat(model=\"synapse-ultra\", messages=[{\"role\": \"user\", \"content\": \"Hi\"}])\nprint(resp.content)",
"highlight_lines": [4],
"caption": "pip install synapse-ai · 官方 Python SDK" },
{ "type": "call_to_action",
"title": "Thank You.",
"subtitle": "一起做有设计感的幻灯片",
"cta": "hello@huo15.com",
"footnote": "火一五 · openclaw-ppt v3.1" }
]
}
code_block 字段
filename:文件名标签(如app.py)language:语言提示,仅用于 UI 显示(python/shell/ts/go/ ...)code:原始代码字符串(\n分行,保留缩进,自动用不换行空格还原)highlight_lines:要高亮的行号数组(1-based),会在该行涂一层 accent_softcaption:代码块下方小字说明
五、命令行
# 列出所有 pack
python3 scripts/create-pptx.py --list-packs
# 列出所有 template
python3 scripts/create-pptx.py --list-templates
# 1. 按 JSON 生成完整 deck(推荐)
python3 scripts/create-pptx.py \
--pack apple-keynote \
--spec ./deck.json \
--output /tmp/deck.pptx
# 2. 快速试样封面
python3 scripts/create-pptx.py \
--pack 博主风 \
--cover "关于做幻灯片这件小事|写给刚入行的小伙伴" \
--year 2026 \
--output /tmp/cover.pptx
# 3. 老的 --style 兼容(等价于 --pack)
python3 scripts/create-pptx.py --style jobs-dark --spec deck.json -o out.pptx
公司名解析顺序:--company > ~/.huo15/company-info.json > 青岛火一五信息科技有限公司(默认)。
六、示例 decks
examples/decks/ 提供 6 份对应 6 套 pack 的完整样例:
| 文件 | pack | 讲什么 |
|---|---|---|
apple-keynote-launch.json | apple-keynote | Apple "M4 Ultra" 发布会风 6 页 |
apple-light-product.json | apple-light | OpenClaw Enhance 产品介绍 5 页 |
xhs-creator-vlog.json | xiaohongshu-creator | 博主笔记「关于做幻灯片这件小事」5 页 |
xhs-vintage-travel.json | xiaohongshu-vintage | 青岛老城旅行手记 6 页 |
tech-neon-ai-launch.json 🆕 | tech-neon | AI 模型发布会 "Synapse AI" 10 页(含 code_block) |
tech-minimal-saas.json 🆕 | tech-minimal | Vercel 风 SaaS 产品 pitch 7 页(含 shell 部署 code_block) |
对应的渲染预览放在 examples/previews/*.png(共 39 张)。科技风 deck 的任意单张都可以直接导出当品牌海报或 LinkedIn/小红书头图使用。
七、触发词
- 做 PPT / 生成 PPT / 制作 PPT / 写 PPT
- Apple 发布会 / 发布会风 / 苹果风格 / 官网风
- 小红书博主 / 博主风 PPT / 生活博主 / 奶油风
- 复古胶片 / 胶片风 / 复古 PPT / 文艺风
- 科技风 / 霓虹 / 赛博 / 赛博朋克 / cyberpunk / AI 发布会
- 极简科技 / Vercel / Linear / SaaS / DevTool pitch / 品牌海报
- 封面 / 分章页 / 大字页 / KPI / 对比页 / 时间线 / 代码块 / 封底
- 第 X 页 / 继续 / 加一页
八、选 pack 指南
| 想要的效果 | 选 |
|---|---|
| 发布会大字 / 新品宣发 / 投融资路演 | apple-keynote |
| 产品介绍页 / 官网风 / 功能说明 | apple-light |
| 博主笔记 / 种草分享 / 温度叙事 | xiaohongshu-creator |
| 旅行手记 / 文艺向 / 生活美学 | xiaohongshu-vintage |
| AI/大模型发布会 · 赛博科技海报 · 黑客马拉松 · 技术 roadshow | tech-neon |
| SaaS 主页 · DevTool pitch · B 端企业软件 landing · Vercel/Linear 质感 | tech-minimal |
| 稳妥正式汇报(兼容 v1.x) | jobs-dark |
| 小红书品牌红 Feed 帖(兼容 v2.x) | xiaohongshu / xiaohongshu-portrait |
科技风两兄弟的区别:
tech-neon= 品牌海报级装饰全开(渐变背景 + 网格 + 四角刻度 + glow halo + dev badge + 等宽 metadata),电青/电紫双 accent,适合对外宣发tech-minimal= 产品官网级克制装饰(点阵 + 微光 + 左下版本戳),单色紫 accent,适合对内汇报/产品主页
九、技术细节
- CJK 防溢出:
pptx_toolkit.fit_text自动测宽 + 字号自适应 - 玻璃风:七彩光球 + magnitude 卡片,需
--pack liquid-glass - 水墨/国风:朱砂方印 / 万字纹边框 / 飞白笔触,自动注入
- 科技风:渐变背景 + 网格 + glow halo + 四角刻度
- 页码:自动注入,无需写在 deck JSON
- footer 控制:
show_footer=False关闭(apple-keynote 默认关)
9.1 Design tokens 层次
StylePack
├── Canvas 画布尺寸(默认 13.33×7.5" 16:9)
├── Palette 3 级背景 + 4 级文字 + accent + accent_soft + border/divider
├── Typography display/body/mono 三字体 stack + 6 级字号阶梯 + 字重 + 字距 + 行高
├── Spacing 8pt grid — gutter/stack_sm/md/lg/xl + margin_x/margin_x_hero
├── Elevation card_radius + stroke + 假阴影(python-pptx 无真阴影)
└── Decoration cover 对齐、accent bar、tag_style、stat_hero_size、image_treatment
▼ v3.1 新增六件套科技装饰字段:
├── gradient_bg: (from, to, angle) 对角线性渐变铺满底板
├── accent_gradient: (from, to) 大字文字渐变(PowerPoint/Keynote 端)
├── grid_overlay / grid_* 细线网格层(色/间距/粗细可调)
├── dot_grid / dot_* 点阵背景层(替代 grid)
├── glow_accent / glow_strength accent 大字辉光 halo
├── corner_marks / corner_* 四角 L 型取景框刻度
├── dev_badge / dev_badge_template 左下等宽版本戳({year}/{date}/{build})
├── mono_font / mono_fallbacks JetBrains Mono / Menlo / Monaco stack
└── scanline / scanline_color 水平扫描线(CRT 怀旧)
9.2 字距(tracking/letter-spacing)
python-pptx 官方 API 不支持字距。v3.0 在 templates/helpers.py::_set_run_spacing 里用 OOXML XML 注入 <a:rPr spc="N">,单位是 1/100 pt。hero 大字用 -3% em(收紧),衬线字用 +2% em(展开)。
9.3 Auto-fit 大字号
hero/section/big_stat/cta 的文本在 fit_font_size(text, width, base_size) 里自动缩放,防止 CJK 长文本换行撞副标题。宽度估算按 CJK 1.1em / 大写 0.75em / 小写 0.62em / 标点 0.38em,留 12% 安全余量。
9.4 假阴影
xhs-creator 开启 use_fake_shadow=True,在卡片下方偏移 0.06" 画一个比卡片色深的色块模拟阴影。python-pptx 没有真阴影 API。
9.5 与 v2.x 兼容
--style参数保留,等价于--pack- legacy pack(
jobs-dark,xiaohongshu,xiaohongshu-portrait)仍可用 - JSON 字段
en_subtitle自动映射到en_sub,sub自动映射到subtitle - slide type
cover/section/list/quote/end仍能跑,走 templates 注册表的别名
9.6 科技风装饰实现(v3.1)
六件套装饰都通过 OOXML XML 直接注入实现(python-pptx 的 dataclass API 覆盖不全)。核心函数在 templates/helpers.py:
| 函数 | 实现 |
|---|---|
add_gradient_rect | 先画矩形,再把 p:spPr 下的 a:solidFill 替换成 a:gradFill(双色 stop + 方向角) |
apply_text_gradient | 给 run 的 a:rPr 注入 a:gradFill(覆盖 a:solidFill),实现渐变文字 |
add_glow_halo | 在大字周围叠 N 层椭圆,每层递减 alpha 值(通过 a:srgbClr/a:alpha),模拟发光 |
_draw_grid_overlay | 按 grid_spacing 铺横竖细矩形 —— 纯色矩形比 line shape 更稳(LibreOffice 渲染一致) |
_draw_dot_grid | 按 dot_spacing 铺 OVAL,中性色 + 小尺寸 —— Vercel/Linear 招牌 |
_draw_corner_marks | 四角各画 2 个 L 型方块,拼出取景框 |
add_dev_badge | 左下固定位置 mono textbox,{year}/{date}/{build}/{n} 模板插值 |
已知限制:
apply_text_gradient只在 PowerPoint/Keynote 下可见;LibreOffice/Impress 渲染会回落成 solid(因为 Impress 不支持文字 gradFill)——生成 PDF 预览时 hero 大字看上去是单色 accent,但实际 pptx 打开在 mac Keynote/Windows PowerPoint 下会显示渐变。glow_accent的 halo 用多层半透明椭圆模拟,不是 PowerPoint 真正的 glow effect(python-pptx 没暴露 effect API)。视觉效果在 PDF/PNG 预览下接近真 glow。- 装饰层都是画在背景之上、文本之下(
new_slide里按顺序绘制),不会遮挡正文。
十、版本历史
详细 changelog 见 git log。当前主要里程碑:
- v3.3.x(最新) — 设计能力栈集成:反 AI Slop 自检 / WCAG 2.2 AA 对比度审计 / matplotlib 真数据图表 / 集成 design-critique
- v3.2.x — 21 套生产级审美方案(玻璃 / 水墨 / 国风 / 梵高 / 莫兰迪 / 孟菲斯 / 包豪斯 / 韦斯安德森等)
- v3.1.x — 科技双套(赛博霓虹 + Vercel/Linear 极简)+ 11 个页面模板
- v3.0.x — 4 套基础(Apple 发布会 + Apple.com + 小红书博主 + 复古胶片)
- v2.x — 小红书品牌风 + 竖版 9:16
- v1.x — Jobs 暗蓝默认风格