news 2026/9/19 19:22:49

OfficeCLI morph-ppt Swiss System 风格:一根“全宽墨黑横条”的六幕 Morph 叙事设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OfficeCLI morph-ppt Swiss System 风格:一根“全宽墨黑横条”的六幕 Morph 叙事设计

OfficeCLI morph-ppt Swiss System 风格:一根“全宽墨黑横条”的六幕 Morph 叙事设计

【免费下载链接】OfficeCLIOfficeCLI 是首款也是最佳的专为 AI 代理设计的命令行工具,可用于读取、编辑和自动化处理 Word、Excel 和 PowerPoint 文件。它免费、开源,仅包含一个二进制文件,无需安装 Office 套件。项目地址: https://gitcode.com/iOfficeAI/OfficeCLI

本文围绕 OfficeCLI 仓库morph-ppt技能自带的 Swiss System 风格规格(纯白底 + 墨黑 + 火红)展开:先说明该风格在企业、金融、咨询类场景中的定位与色板约束,再逐幕拆解其核心演员!!rule从“中部细线”到“整页墨黑反转”的六幕横扫编排,并结合技能的三前缀命名、transition=morph机制与交付门禁,给出将该规格落成可运行officecli命令序列的实现路径。读完你可以独立完成一份符合该风格的六页 Morph 演示稿,并知道如何用技能内置的校验循环证明它“真的是 Morph 而不是伪淡入”。

风格在样式库中的位置

morph-ppt技能在 reference/styles/ 下内置了 52 个视觉风格目录,按色板家族(dark / light / warm / vivid / bw / mixed)分组。INDEX.md 的 Black & White 分表中登记了 4 个黑白系风格,其中bw--swiss-system这一行为:

目录风格名主色(bg / fg / accent)适用场景气质
bw--swiss-systemSwiss System#FFFFFF / #000000 / #FF0000Corporate, finance, consulting, professional servicesClean, systematic, bold

技能文档对样式库的用法有明确纪律(见 skills/morph-ppt/SKILL.md 的 Style library lookup workflow):把它当作按需查阅的设计灵感库而非模板——先浏览 INDEX 定位,再读style.md理解设计哲学,build.sh只作技法参考(坐标已知有排版问题,不得照抄),最后把“色板选择 + 标志性手势”套用到自己的网格计算上。INDEX.md 顶部的 Important Notice 也强调:Learn the approach, do not copy the code

需要说明当前仓库状态:bw--swiss-system 目录目前仅包含 style.md,其文末提到的build.py未随仓库提供。因此本文以规格文本为主体,命令实现部分以同族风格bw--swiss-bauhaus的完整构建脚本作为可验证的命令参照。

设计语言:纯白底、墨黑与火红三色

style.md 对 Swiss System 的定义高度凝练:

Pure white background with ink black and fire red only. Features !!rule actor (full-width rect) that sweeps vertically across slides, creating dramatic transformations.

风格元信息完整继承如下:

  • 适用场景(Scenario):企业、金融、咨询、高端专业服务
  • 气质(Mood):干净、系统化、大胆、瑞士设计(Swiss design)
  • 基调(Tone):白底 + 黑红强调

完整色板(规格原文,共 3 色,不允许引入第四色):

名称Hex用途
Background#FFFFFF纯白背景
Ink#000000文字与横条
Fire#FF0000强调色

规格同时声明遵循瑞士设计三原则:网格(grid)、字体排印(typography)、色彩最小化(minimal color)

放在同族对比中更能看出定位差异:bw--mono-line是灰阶极简、面向学术与咨询报告的克制风格;bw--brutalist-raw同为#FFFFFF / #000000 / #FF0000三色但气质是“反叛、粗粝、冲击”的粗野主义;bw--swiss-bauhaus则用#E63322红与#1C1C1C近黑做严谨几何块面。Swiss System 的差别在于系统化(systematic)——它面向的是正式商务语境,红色只在强调处出现,黑色以“一根横条”的形态贯穿全篇。

核心机制:!!rule 的六幕纵向横扫

整个风格的灵魂是单一持久演员!!rule——一个全宽 INK 矩形,它在 6 页之间纵向横扫、厚度递增,制造戏剧性形变。规格原文的逐幕编排如下(完整继承,未删减):

!!rule状态位置/形态
S1mid-rule中部横条
S2top thick顶部加粗
S3bottom thick底部加粗
S4thin center中部细线
S5wide top-third band上三分之一宽色带
S6full INK inversion整页墨黑反转(CTA 页)

围绕这六幕,规格有两条硬约束:

  1. Zero darkness until final CTA slide——S1 到 S5 的背景全部是纯白,“黑暗”直到 CTA 页才第一次出现。前 5 页的视觉张力完全来自一根横条的位置/厚度变化,而不是页面明暗切换。
  2. 关键 Morph 模式(Key Morph Pattern)——规格原文将这条动线赋予叙事语义:

The !!rule actor creates a dramatic journey from subtle horizontal line to complete slide inversion, representing transformation from light to dark, question to answer, problem to solution.

也就是说,这根横条既是装饰也是叙事进度条:从中部细线(提出问题)逐步“生长”为整页墨黑反转(给出答案/行动号召)。这是典型的瑞士式“少即是多”——用一个几何元素承担全篇的连续性记忆点。

底层支撑:Morph 配对与命名约定

style.md只写设计意图,不写机制;机制由上层技能 skills/morph-ppt/SKILL.md 继承提供。理解以下几条,才能解释为什么“同一根!!rule”能在页面之间平滑变形:

  • 按名配对:PowerPoint 的 Morph 引擎在相邻页之间用完全相同的形状名配对,并对位置、尺寸、旋转、填充、透明度做插值;名字对不上就静默退化为普通淡入(silent fade)。
  • 三前缀命名系统(规格中!!rule的命名归属依据):
前缀角色生命周期
!!scene-*背景/装饰,全篇持久只设一次,靠改变位置/尺寸制造动效,几乎不做 ghost
!!actor-*内容型前景,跨若干页演化第 N 页引入,后续页演化,退出时 ghost 到x=36cm
#sN-*单页内容(标题、要点、脚注)第 N 页新建,第 N+1 页 ghost 到x=36cm

!!rule属于!!演员类:永远不能删除(删除会破坏配对,形状直接消失而无退场动画),退出时只能移画布外。画布规格为 33.87 × 19.05 cm,ghost 坐标约定为x=36cm(越过右边缘)。

  • transition=morph必须显式设置:Morph 只在“目标页”携带该属性时运行;第 2 页起漏设就会退回母版默认(通常是无转场),动效静默死亡。
  • 空间多样性(Spatial variety):相邻页至少 3 个配对形状满足位移 ≥ 5cm 或旋转 ≥ 15° 或尺寸差 ≥ 30%,否则 Morph 无可插值内容、坍缩为淡入。对照本风格逐幕:S1→S2(中部→顶部,位移约 9.4cm)、S2→S3(顶部→底部,位移约 15.85cm)、S3→S4、S4→S5、S5→S6(色带扩张为整页),每一对!!rule的纵向位移或高度变化都远超 5cm 阈值。
  • M-1 自动加前缀怪癖:对某页执行set --prop transition=morph后,该页形状名在回读时会带上!!前缀(如#s1-title回读为!!#s1-title),但@name=路径选择器仍然可解析,无需改写路径。
  • 交付门禁 5b-morph-2 的适配:门禁硬断言“每对相邻页 ≥ 3 个!!前缀形状各在 {x, y, width, height, rotation, font-size} 上至少变化 1 项”。本风格规格只定义了 1 个!!rule;但从门禁的 diff 证明脚本(对两页同名形状逐项比对)与 M-1 前缀机制可以推断:被 ghost 到x=36cm#sN-*内容在回读时同样带!!前缀、其位移会被计入 diff,因此“单 rule 演化 + 每页内容 ghost”的组合通常能共同满足 3 形状变化量——这是把设计意图落到交付标准时值得用实际回读核验的一点。

命令范式:把规格落成构建脚本

规格文末标注“Complete build script available inbuild.py”,但当前仓库未包含该脚本。同族风格的 bw--swiss-bauhaus/build.sh 提供了同类型“全宽色带重排”编排的完整实现参照——其色块序列(左列 → 顶部条 → 中部带 → 底部填充 → 全覆盖)与 Swiss System 的!!rule动线同属一个编排家族,且展示了officecli的标准命令形态:create建文件、add / --type slide --prop layout=blank --prop background=<HEX>建页(第 2 页起加--prop transition=morph)、add --type shape --prop 'name=!!…'建演员、set --prop x=36cm做 ghost、结尾validate校验。

按 Swiss System 规格等价组装的构建骨架如下(坐标为按规格设定的参考值,任何脚本的坐标都不应照抄):

FILE="swiss-system.pptx" officecli create "$FILE" # S1 — mid-rule:中部横条(唯一深色元素,背景纯白) officecli add "$FILE" / --type slide --prop layout=blank --prop background=FFFFFF officecli add "$FILE" /slide[1] --type shape --prop 'name=!!rule' \ --prop fill=000000 --prop x=0cm --prop y=9.4cm --prop width=33.87cm --prop height=0.5cm officecli add "$FILE" /slide[1] --type shape --prop 'name=#s1-title' \ --prop text='THE QUESTION' --prop font=Arial --prop size=54 --prop bold=true \ --prop color=000000 --prop fill=none --prop x=1.5cm --prop y=3cm \ --prop width=30cm --prop height=4cm # S2 — top thick:顶部加粗;同时 ghost 上一页内容 officecli add "$FILE" / --type slide --prop layout=blank --prop background=FFFFFF --prop transition=morph officecli add "$FILE" /slide[2] --type shape --prop 'name=!!rule' \ --prop fill=000000 --prop x=0cm --prop y=0cm --prop width=33.87cm --prop height=3cm officecli add "$FILE" /slide[2] --type shape --prop 'name=#s2-title' \ --prop text='Context' --prop font=Arial --prop size=40 --prop bold=true \ --prop color=000000 --prop fill=none --prop x=1.5cm --prop y=4cm \ --prop width=30cm --prop height=3cm officecli set "$FILE" "/slide[2]/shape[@name=#s1-title]" --prop x=36cm # S3 — bottom thick:底部加粗(写法同 S2,含本页 #s3-* 内容与 #s2-* ghost) officecli add "$FILE" / --type slide --prop layout=blank --prop background=FFFFFF --prop transition=morph officecli add "$FILE" /slide[3] --type shape --prop 'name=!!rule' \ --prop fill=000000 --prop x=0cm --prop y=15.85cm --prop width=33.87cm --prop height=3.2cm # S4 — thin center:中部细线(回到 S1 附近但更细,制造“呼吸”) officecli add "$FILE" / --type slide --prop layout=blank --prop background=FFFFFF --prop transition=morph officecli add "$FILE" /slide[4] --type shape --prop 'name=!!rule' \ --prop fill=000000 --prop x=0cm --prop y=9.45cm --prop width=33.87cm --prop height=0.15cm # S5 — wide top-third band:上三分之一宽色带,红色强调首次进入 officecli add "$FILE" / --type slide --prop layout=blank --prop background=FFFFFF --prop transition=morph officecli add "$FILE" /slide[5] --type shape --prop 'name=!!rule' \ --prop fill=000000 --prop x=0cm --prop y=0cm --prop width=33.87cm --prop height=6.3cm officecli add "$FILE" /slide[5] --type shape --prop 'name=#s5-accent' \ --prop text='The answer is structural.' --prop font=Arial --prop size=44 --prop bold=true \ --prop color=FF0000 --prop fill=none --prop x=1.5cm --prop y=8cm \ --prop width=30cm --prop height=3cm # S6 — full INK inversion:整页墨黑 CTA(第一次也是唯一一次“黑暗”) officecli add "$FILE" / --type slide --prop layout=blank --prop background=000000 --prop transition=morph officecli add "$FILE" /slide[6] --type shape --prop 'name=!!rule' \ --prop fill=000000 --prop x=0cm --prop y=0cm --prop width=33.87cm --prop height=19.05cm officecli add "$FILE" /slide[6] --type shape --prop 'name=#s6-cta' \ --prop text='ACT NOW' --prop font=Arial --prop size=60 --prop bold=true \ --prop color=FF0000 --prop fill=none --prop x=1.5cm --prop y=7cm \ --prop width=30cm --prop height=5cm officecli validate "$FILE"

要点回顾:!!rule在 6 页中逐页重新添加、同名同族,靠 x/height 变化驱动插值;每页#sN-*内容必须在本页可见、在下一页 ghost 到x=36cm(每页都是独立画布,忘记 re-ghost 会导致旧内容复现,即技能文档中的 M-2 幽灵堆积陷阱);第 6 页背景才允许变黑,此前任何一页出现深色背景都违反规格。多页弧段也可以用 morph-helpers.py 的clone/ghost/final-check子命令自动执行克隆、ghost 与结构检查,减少手写命令量。

交付验证与渲染边界

技能规定的交付门禁对本风格同样适用(继承 pptx v2 Gate 1–5a,外加 4 项 Morph 专项检查):

  • 5b-morph-1:已退场的!!actor-*必须确认x ≥ 33.87cm(画布右缘);
  • 5b-morph-2:相邻页存在“扁平”风险——本风格需按上文确认 rule 演化 + 内容 ghost 合计满足 3 形状变化量;
  • 5b-morph-3:相邻页必须共享至少 2 个!!前缀名字(本风格每对共享!!rule及 ghost 内容名);
  • 5b-morph-4#sN-*内容不得在第 N+1 页滞留可见区。

任何一条检查循环打印出行,即应 REJECT 并修复后重跑。技能还要求每次交付附带三件套:.pptxofficecli validate通过)、可重跑的构建脚本(build.sh/build.py)、以及包含主题/逐页大纲/配对规划表的brief.md

最后必须向使用者交代渲染边界:Morph 动效只在 PowerPoint 365、Keynote、WPS 中播放;LibreOffice Impress、Google Slides 网页端、HTML/SVG 查看器以及officecli view html(结构预览)都会呈现为静态画面或普通淡入。技能文档将此归类为[RENDERER-BUG](渲染器运行时边界)而非缺陷——静态截图无法验证动效本身,结构正确性靠上述门禁查询证明,动效质量需在真实播放器中逐页观看确认。

小结

Swiss System 是 OfficeCLImorph-ppt样式库中面向企业/金融/咨询场景的黑白系风格:三色谱(#FFFFFF/#000000/#FF0000)、瑞士网格与排版原则、单一!!rule全宽横条的六幕纵向横扫,以及“直到 CTA 页才反转整页”的零黑暗纪律。其实现完全落在morph-ppt技能的通用机制之上——同名形状配对、三前缀命名、transition=morphx=36cmghost 与 Gate 5b 校验循环。按规格组装构建脚本、跑完门禁再在 PowerPoint 365 / Keynote / WPS 中实际观看动效,即可交付一份既系统化又具备连续动感的黑白 Morph 演示稿。

【免费下载链接】OfficeCLIOfficeCLI 是首款也是最佳的专为 AI 代理设计的命令行工具,可用于读取、编辑和自动化处理 Word、Excel 和 PowerPoint 文件。它免费、开源,仅包含一个二进制文件,无需安装 Office 套件。项目地址: https://gitcode.com/iOfficeAI/OfficeCLI

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 19:21:45

Java与PHP源码审计双线实战:从应急响应到漏洞溯源

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/19 19:18:42

机器学习大作业全流程指南:数据预处理、模型选择与评估调参

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/19 19:17:56

SMPTE 274M-2008标准解析:1080p视频TRS时序与采样格式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/19 19:17:07

TwinCAT3动态PDO配置:实时控制系统下的安全映射与状态协同

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华