自媒体文章排版生成技能。当用户要求生成、创建、排版微信公众号文章或今日头条文章,或需要公众号/头条美化格式、编辑器兼容HTML时触发。支持微信公众号(23种风格配色:7种通用+8种节日+4种季节+4种主题,默认Linear冷工程蓝紫,全内联CSS)和今日头条(纯语义HTML,ProseMirror兼容)双平台自动选择。可根据用户要求、节日/季节/主题关键词或内容自动匹配平台和风格。支持标题、正文、列表、引用、提示框、数据卡片、对比栏、代码块、表格、进度条、信息卡片、键值列表等全套排版组件;宽表/长内容可自动改用信息卡片或键值列表展示。
---
name: article-format-lz
description: "自媒体文章排版生成技能。当用户要求生成、创建、排版微信公众号文章或今日头条文章,或需要公众号/头条美化格式、编辑器兼容HTML时触发。支持微信公众号(23种风格配色:7种通用+8种节日+4种季节+4种主题,默认Linear冷工程蓝紫,全内联CSS)和今日头条(纯语义HTML,ProseMirror兼容)双平台自动选择。可根据用户要求、节日/季节/主题关键词或内容自动匹配平台和风格。支持标题、正文、列表、引用、提示框、数据卡片、对比栏、代码块、表格、进度条、信息卡片、键值列表等全套排版组件;宽表/长内容可自动改用信息卡片或键值列表展示。"
agent_created: true
---
# 自媒体文章排版生成技能
## 概述
为自媒体文章生成高质量排版 HTML,支持**微信公众号**和**今日头条**两大平台。微信公众号采用全内联 CSS(inline style),确保复制粘贴格式不丢失;今日头条采用纯语义 HTML 标签,适配 ProseMirror 编辑器 schema 白名单机制。
## 排版设计原则
排版的核心目标不是「好看」,而是「好读」。以下三条原则是所有排版决策的底层约束,适用于微信和头条两个平台,在组件选择和生成 HTML 时必须始终遵守。
### 原则一:克制装饰,突出内容
> **误区**:花哨的背景和动画分散注意力——读者来看内容,不是来看排版炫技。
排版为内容服务,装饰是手段不是目的。具体规则:
- **一篇文章内最多 2 种强调色**(主色 PRIMARY + 辅色 ACCENT),不引入令牌之外的额外色彩
- **渐变仅用于**:分割线(组件2)、强调卡片背景(组件8)、数据高亮卡片(组件15),不扩散到正文段落和普通引用块
- **不连续堆叠卡片**:同一段落区域不连续使用超过 2 个卡片类组件(提示框/强调卡/数据卡),中间用正文段落或分割线过渡
- **emoji 克制**:微信单篇不超过 4 种不同 emoji;头条不超过 2 种且不连续(算法敏感)
- **克制使用 box-shadow**:微信编辑器实测支持阴影,正文以留白和边框制造层次为主
- **背景色统一用 LIGHT_BG**:所有浅底区域使用令牌值,不自定义其他背景色
### 原则二:留白呼吸,拒绝密铺
> **误区**:密密麻麻的文字让读者望而却步——留白是排版的呼吸,没有呼吸感的页面让人窒息。
留白不是浪费空间,是引导视线节奏的工具。具体规则:
- **段落长度**:微信正文每段不超过 5 行(约 80 字),头条不超过 4 行(约 60 字)
- **组件间距**:组件之间至少 8px 纵向间距,章节切换处至少 24px
- **段间空行**:段落与段落之间留视觉间距(padding 4-12px),不连续贴排
- **卡片内 padding**:16-20px,文字不贴卡片边缘
- **小标题频率**:每 300 字插入一个章节标题(H2/H3),打断文字墙
- **首屏留白**:主标题区上方至少 32px padding,给标题呼吸空间
- **页尾留白**:底部版权区上方至少 24px,收尾不局促
### 原则三:层级清晰,节奏分明
> **误区**:标题正文分不清,阅读节奏断裂——读者扫读时应该一眼分清「这是标题」「这是正文」「这是重点」。
视觉层级是阅读的导航图。具体规则:
- **字号阶梯**:主标题 24px > 二级标题 19px > 三级标题 17px > 正文 15px,各级之间至少 2px 差距
- **字重区分**:标题 700/600,正文 400,强调 600/700——字重是层级的第一信号
- **色彩锚点**:标题区用 PRIMARY 色装饰(竖条/方块/标签胶囊),正文用 TEXT_BODY 色,标题与正文一眼可辨
- **一段一意**:一个段落只讲一个要点,不混合多个话题
- **组件不越级**:H2 下可接正文或 H3,但 H3 下不跳回 H2;列表项不与正文段落混排
- **分割线节制**:章节切换用分割线(组件2),但单篇不超过 4 条,避免页面碎片化
> 以上原则的量化参数(字号/间距/行高/字间距)详见 `references/design-system.md` 的「字体系统」和「间距系统」。原则是「为什么」,设计系统是「具体多少」。
---
## 触发条件
- 用户要求生成/创建/排版微信公众号文章或今日头条文章
- 用户需要公众号/头条美化格式、编辑器兼容 HTML
- 用户提到"公众号排版"、"头条排版"、"微信文章格式"、"头条文章格式"
- 用户提供文章内容,要求排版后可直接发布
## 平台选择
### 平台选择逻辑
**优先级:用户显式指定 > 内容自动匹配 > 默认微信公众号**
#### 1. 用户显式指定
| 用户表达 | 选择平台 |
|----------|----------|
| "公众号排版"、"微信文章"、"发公众号" | 微信公众号 |
| "头条排版"、"今日头条"、"发头条"、"头条号" | 今日头条 |
| "两个平台都要"、"公众号+头条" | 两平台分别生成 |
#### 2. 内容自动匹配
当用户未明确指定平台时,根据上下文判断:
| 信号 | 推断平台 |
|------|----------|
| 用户之前在讨论公众号 | 微信公众号 |
| 用户之前在讨论头条 | 今日头条 |
| 无法判断 | **引导用户选择**(使用 AskUserQuestion) |
#### 3. 引导选择
无法自动判断时,使用 AskUserQuestion 工具让用户选择:
- 微信公众号(推荐)— 全内联CSS,精美丰富排版
- 今日头条 — 纯语义HTML,克制信息密度
- 两个平台都要
---
## 微信公众号平台
### 微信风格系统
#### 风格色板速查
| 风格 | 主色 PRIMARY | 辅色 ACCENT | 浅底 LIGHT_BG | 文字 TEXT | 辅助文字 MUTED | 正文色 TEXT_BODY | 代码底 CODE_BG | 适用场景 |
|------|-------------|-------------|---------------|-----------|---------------|-----------------|---------------|----------|
| **Linear蓝紫(默认)** | `#5B6FED` | `#764ba2` | `#f5f6fa` | `#1a1a2e` | `#999` | `#333` | `#1a1a2e` | 技术/AI/编程/通用 |
| 墨韵素雅 | `#2C2C2A` | `#5F5E5A` | `#F1EFE8` | `#2C2C2A` | `#888780` | `#5F5E5A` | `#1e1e1e` | 人文随笔、深度长文 |
| 暖阳咖啡 | `#8B5E3C` | `#C4956C` | `#F5E6D3` | `#6B4226` | `#A07350` | `#8B5E3C` | `#2d1f12` | 生活方式、美食旅行 |
| 青竹墨绿 | `#2D5016` | `#639922` | `#EAF3DE` | `#27500A` | `#639922` | `#3B6D11` | `#1a2a10` | 健康养生、自然科普 |
| 莫兰迪雾 | `#534AB7` | `#7F77DD` | `#EEEDFE` | `#3C3489` | `#534AB7` | `#534AB7` | `#1a1a2e` | 设计美学、艺术时尚 |
| 晨曦珊瑚 | `#D85A30` | `#F0997B` | `#FAECE7` | `#993C1D` | `#D85A30` | `#993C1D` | `#2a1810` | 母婴育儿、情感生活 |
| 深蓝学术 | `#0C447C` | `#378ADD` | `#E6F1FB` | `#0C447C` | `#185FA5` | `#0C447C` | `#0a1929` | 科技报告、金融分析 |
**节日风格(8种,复用通用组件模板,仅替换令牌色值):**
| 风格 | 主色 PRIMARY | 辅色 ACCENT | 浅底 LIGHT_BG | 文字 TEXT | 辅助文字 MUTED | 正文色 TEXT_BODY | 代码底 CODE_BG | 适用场景 |
|------|-------------|-------------|---------------|-----------|---------------|-----------------|---------------|----------|
| 元旦·冰蓝迎新 | `#4A90D9` | `#E6B422` | `#EEF4FB` | `#1F3A5F` | `#7A94B0` | `#2C4660` | `#1A2A3A` | 新年、跨年、迎新 |
| 春节·中国红金 | `#D4202A` | `#D4AF37` | `#FCEDE9` | `#A30E19` | `#C49A3E` | `#8A1A1A` | `#4A0E0E` | 过年、除夕、拜年 |
| 元宵·暖灯红橙 | `#E8553A` | `#F2A93B` | `#FDEDE6` | `#C2402B` | `#D98B3A` | `#9B3A2E` | `#3D1410` | 汤圆、灯会、花灯 |
| 清明·柳绿清雅 | `#5E8B6E` | `#8FAE8B` | `#EEF3ED` | `#3A5A46` | `#8AA091` | `#4A6353` | `#1E2E24` | 踏青、青团、祭祖 |
| 端午·艾绿五彩 | `#3A7D5C` | `#D45B3E` | `#E8F2EC` | `#1E5A3E` | `#C0763E` | `#2C5A45` | `#15301F` | 粽子、龙舟、屈原 |
| 中秋·月夜金桂 | `#4A559E` | `#E0B049` | `#EEF0FA` | `#2A3568` | `#B08D3C` | `#343E6E` | `#161B3A` | 月饼、赏月、团圆 |
| 五一·活力橙绿 | `#E8822E` | `#4CA85A` | `#FEF3E8` | `#C25E12` | `#7BA85C` | `#8A5A2E` | `#3D2410` | 劳动节、出游、露营 |
| 国庆·华诞红金 | `#C0152B` | `#E6B422` | `#FCEDEB` | `#8E0F1C` | `#C49A3E` | `#7A1622` | `#3D0A0E` | 十一、华诞、举国同庆 |
> 通用/节日/季节/官方/磨砂风格的 PAGE_BG 统一为 `#FAFAFA`。其余主题风格各有独立 PAGE_BG(讣告 `#FFFFFF`、赛博 `#FAFBFC`),详见主题风格色板表。
**季节风格(4种,复用通用组件模板,仅替换令牌色值):**
| 风格 | 主色 PRIMARY | 辅色 ACCENT | 浅底 LIGHT_BG | 文字 TEXT | 辅助文字 MUTED | 正文色 TEXT_BODY | 代码底 CODE_BG | 适用场景 |
|------|-------------|-------------|---------------|-----------|---------------|-----------------|---------------|----------|
| 春·新芽樱粉 | `#7FB069` | `#F48FB1` | `#F2F7EC` | `#4A5D3A` | `#A8C08A` | `#5A6B45` | `#2E3A22` | 立春、踏青、春日物语、樱花 |
| 夏·海风晴蓝 | `#0E9DCB` | `#FF9F40` | `#E8F6FB` | `#0A6E92` | `#5CB8D6` | `#0C7C9E` | `#0A2E3A` | 立夏、消暑、海风、清凉 |
| 秋·枫丹麦金 | `#C75B39` | `#E0A526` | `#FBF1E6` | `#9E3B22` | `#D08B4F` | `#A8492B` | `#2E1A12` | 立秋、丰收、枫叶、桂花 |
| 冬·雪霁冰蓝 | `#2E6B9E` | `#7EB8D4` | `#E8F1F8` | `#1C3B54` | `#6A8BA3` | `#284D6E` | `#0F1A26` | 立冬、围炉、供暖、雪 |
**主题风格(4种,复用通用组件模板,仅替换令牌色值 + 风格特色微调):**
| 风格 | 主色 PRIMARY | 辅色 ACCENT | 浅底 LIGHT_BG | 大底 PAGE_BG | 文字 TEXT | 辅助文字 MUTED | 正文色 TEXT_BODY | 代码底 CODE_BG | 适用场景 |
|------|-------------|-------------|---------------|-------------|-----------|---------------|-----------------|---------------|----------|
| 官方·严谨庄重 | `#1A4F8B` | `#3E6FA3` | `#EEF3F8` | `#FAFAFA` | `#14365E` | `#6E89A8` | `#27425F` | `#102A45` | 政务、公告、政策、权威发布、新闻联播 |
| 讣告·肃穆黑白 | `#333333` | `#666666` | `#F0F0F0` | `#FFFFFF` | `#000000` | `#888888` | `#222222` | `#1A1A1A` | 讣告、悼念、哀悼、唁电、缅怀 |
| 赛博·克制霓虹 | `#0891B2` | `#C026D3` | `#F0F9FB` | `#FAFBFC` | `#0F172A` | `#64748B` | `#1E293B` | `#0F172A` | 赛博、极客、黑客、开源、技术前线 |
| 磨砂·翡翠凝碧 | `#3D8B6E` | `#7DC4A0` | `#EDF7F2` | `#FAFAFA` | `#1E4A38` | `#6BAA8E` | `#2E5C48` | `#0F1F18` | 磨砂、亚克力、毛玻璃、翡翠、玉石、质感美学 |
> 赛博·克制霓虹用渐变文字 `NEON_GRAD=linear-gradient(90deg,#06b6d4,#d946ef)` 模拟霓虹(不加 box-shadow);磨砂·翡翠凝碧用 LIGHT_BG 实色 `#EDF7F2` + `#C5DED2` 浅翡翠描边模拟磨砂质感(不依赖页面背景色,公众号复制后效果不变)。详见 `design-system.md`「风格特色微调」。
#### 风格选择逻辑
**优先级:用户显式指定 > 节日关键词命中 > 季节关键词命中 > 主题关键词命中 > 内容自动匹配 > 默认 Linear 蓝紫**
1. **用户显式指定**:「用墨韵素雅风格排版」「换暖阳咖啡色」「用春节红金风格」→ 使用指定风格
2. **节日关键词命中**:文章内容含节日关键词时自动选用对应节日风格(关键词表见 `design-system.md`「节日风格自动匹配关键词」)。例如文章提到「粽子、龙舟」→ 端午·艾绿五彩。
3. **季节关键词命中**:文章主题为四季 / 二十四节气 / 物候节气时自动选用对应季节风格(关键词表见 `design-system.md`「季节风格自动匹配关键词」)。例如文章提到「立夏、消暑、海风」→ 夏·海风晴蓝。
4. **主题关键词命中**:文章属于特定领域主题时自动选用对应主题风格(关键词表见 `design-system.md`「主题风格自动匹配关键词」)。例如文章提到「政务、公告、白皮书」→ 官方·严谨庄重;「讣告、悼念」→ 讣告·肃穆黑白;「赛博、极客、终端」→ 赛博·克制霓虹;「磨砂、亚克力、翡翠」→ 磨砂·翡翠凝碧。
5. **内容自动匹配**(非节日、非季节、非主题):
| 内容类型 | 推荐风格 |
|----------|----------|
| 技术 / AI / 编程 / 通用 | Linear蓝紫(默认) |
| 人文 / 哲学 / 书评 / 影评 | 墨韵素雅 |
| 美食 / 旅行 / 生活方式 / 品牌 | 暖阳咖啡 |
| 健康 / 养生 / 环保 / 自然 | 青竹墨绿 |
| 设计 / 美学 / 艺术 / 时尚 | 莫兰迪雾 |
| 情感 / 育儿 / 正能量 / 生活 | 晨曦珊瑚 |
| 学术报告 / 金融分析 / 数据研究 | 深蓝学术 |
6. **引导选择**:内容类型不明确、且节日/季节/主题关键词均未命中时,使用 AskUserQuestion 工具
#### 风格特色微调
| 风格 | 微调说明 |
|------|----------|
| 墨韵素雅 | 衬线字体 `font-family:'Noto Serif SC','Source Han Serif',Georgia,serif`,标题区 `letter-spacing:2px` |
| 暖阳咖啡 | `border-radius` 10px→14px,6px→10px,柔和手作感 |
| 青竹墨绿 | 无序列表圆点可换辅色 `#639922` |
| 莫兰迪雾 | 文字色降低饱和度,加 `opacity:0.9` |
| 晨曦珊瑚 | 卡片用 `border:1px solid #F5C4B3` 替代渐变底 |
| 深蓝学术 | 优先使用表格组件展示数据 |
| Linear蓝紫 | 无额外微调 |
| 春节·中国红金 / 国庆·华诞红金 | 红金系庄重喜庆,数据卡渐变用 `linear-gradient(135deg,PRIMARY,ACCENT)`;正文色深红,注意与白字对比 |
| 清明·柳绿清雅 | 素净风格,节日氛围值普遍偏低(可借进度条展示"偏肃穆"等<50%项) |
| 其余节日风格 | 复用通用组件模板,仅令牌色值不同,无额外微调 |
| 春·新芽樱粉 | 主辅双色(新芽绿+樱粉),渐变与进度条副条用辅色 #F48FB1,清新柔嫩 |
| 夏·海风晴蓝 | 主辅双色(晴蓝+暖橙),数据卡渐变用 `linear-gradient(135deg,PRIMARY,ACCENT)`,清凉明快 |
| 秋·枫丹麦金 | 主辅双色(枫丹+金桂),暖调浓郁,进度条副条用辅色 #E0A526 |
| 冬·雪霁冰蓝 | 主辅双色(冰蓝+天空蓝),PRIMARY 加深至 `#2E6B9E` 冷调更饱和锐利,注意浅底与正文对比 |
| 官方·严谨庄重 | 衬线字体 `Noto Serif SC`,主标题 `letter-spacing:2px`,实色深蓝分割线,无彩色装饰 |
| 讣告·肃穆黑白 | 完全灰阶无彩色,衬线字体,最大留白,标题加粗黑体,强调用引号而非色块 |
| 赛博·克制霓虹 | 标题/核心洞察用 `NEON_GRAD` 渐变文字(不加 box-shadow),数据卡青品红渐变,半透明发光卡片 |
| 磨砂·翡翠凝碧 | 信息卡片用 LIGHT_BG 实色 `#EDF7F2` + `#C5DED2` 浅翡翠描边模拟磨砂质感(不用半透明,不依赖页面背景色),圆角 12px,padding 加大,翡翠绿温润如玉 |
### 微信排版组件(23个)
详见 `references/design-system.md` 组件1-23。核心规则:
- 全内联 CSS(inline style),不用 class
- 使用 `<section>` 嵌套,微信编辑器对 section 兼容性最好
- 引用块用 `border-left`(position:absolute 微信支持但 border-left 更简洁)
- 禁止 `<pre>` + `white-space`(代码块用 `<section>` + `<br>` + ` `)
- section 横向 padding 统一 6px
---
## 今日头条平台
### 技术原理
头条编辑器基于 **ProseMirror**,使用 schema 白名单机制——所有 inline style 默认被剥离,只有 schema 中声明的语义标签才保留。因此头条排版必须使用**纯语义 HTML**,零 inline style。
### 头条排版组件(17个)
详见 `references/design-system.md` 头条组件 T1-T17。
| 组件 | 语义标签 | 说明 |
|------|----------|------|
| T1 主标题 | `<h1>【标题】</h1>` | 用【】符号增强视觉权重 |
| T2 摘要 | `<p><em>摘要</em></p>` | 斜体区分 |
| T3 分割线 | `<hr>` | 语义分割线 |
| T4 正文 | `<p>文字</p>` | 17px / #505050 / 行高2 / 字间距1px |
| T5 加粗强调 | `<strong>文字</strong>` | 行内加粗 |
| T6 章节标题 | `<h2>◆ 标题</h2>` | ◆符号引导 |
| T7 子标题 | `<h3>▶ 标题</h3>` | ▶符号引导 |
| T8 核心结论 | `<p><strong>整段加粗</strong></p>` | 单独成段加粗 |
| T9 无序列表 | `<ul><li>` | 语义无序列表,li内strong加粗关键词 |
| T10 有序列表 | `<ol><li>` | 语义有序列表 |
| T11 引用块 | `<blockquote>` | 语义引用 |
| T12 数据高亮 | `<p><strong>大数字</strong></p>` | 加粗单独成段 |
| T13 表格 | `<table><tr><th><td>` | 纯语义表格 |
| T14 代码块 | `<pre>code</pre>` | 语义代码块(头条支持pre) |
| T15 底部签名 | `<hr><p>` | 分割线+签名文字 |
| T16 信息卡片 | `<blockquote>` | 宽表替代,每行一卡(自带左侧竖条) |
| T17 键值列表 | `<blockquote>` | 2~3列文字表替代 |
### 头条排版规范
| 参数 | 值 |
|------|-----|
| 正文字号 | 17px |
| 正文色 | #505050 |
| 字间距 | 1px |
| 行高 | 2 |
| 每段行数 | 不超过4行 |
| 小标题频率 | 每300字 |
| 层级建立 | 文字符号(◆★▶【】),不依赖CSS |
| emoji | 最多2种,不连续出现 |
| 品牌色 | #F04142(头条红) |
### 头条算法雷区(降低推荐权重)
- 连续3个以上感叹号/问号
- 全大写标题
- emoji刷屏(单篇超2种)
- 无图纯文字超长段落
- 过度装饰/花哨排版
### 头条图片规范
| 规范 | 要求 |
|------|------|
| 最小宽度 | ≥640px |
| 比例 | 3:2 或 1:1 |
| 频率 | 每800字1张 |
| 图注 | "图:"开头,≤20字,不带标点 |
| 间距 | 图与上下文各空一行 |
### 头条页面外壳
头条模板使用**双视图预览**:美化预览(有CSS模拟理想效果)↔ 头条实际效果(无CSS模拟ProseMirror渲染)。复制时仅复制语义HTML标签,CSS不会被复制。详见 `references/design-system.md` 头条页面外壳模板。
---
## 工作流程
### 1. 确定平台
按「平台选择逻辑」确定是微信公众号还是今日头条。无法判断时用 AskUserQuestion 引导。
### 2. 获取/生成文章内容
若用户直接提供文章文本,直接进入排版。若只给主题,先产出文章内容再排版。
### 3. 确定风格(仅微信)
微信平台需要选择 23 种风格之一(7 通用 + 8 节日 + 4 季节 + 4 主题),按「风格选择逻辑」确定。头条平台使用固定配色(#F04142红),无需选风格。
### 4. 读取设计系统
读取 `references/design-system.md`,获取对应平台的组件模板:
- 微信 → 组件1-23(inline style,令牌化)
- 头条 → 组件T1-T17(纯语义HTML)
### 5. 选择排版组件
根据文章结构选择合适的组件组合。
### 6. 生成 HTML
按组件模板生成完整 HTML 文件。关键规则:
**微信:**
1. 所有样式内联(`style=""`),不用 class
2. 使用 `<section>` 嵌套
3. 色值令牌替换为所选风格实际值
4. 页面结构:工具栏 + 预览区 + 复制脚本
**头条:**
1. **零 inline style**,只用语义标签
2. 用 ◆★▶【】 等 Unicode 符号 + 语义标签建立层级
3. 页面结构:工具栏 + 双视图切换 + 预览区 + 复制脚本
### 7. 输出文件
生成 HTML 文件保存到当前工作目录,文件名格式:
- 微信:`wechat-{主题}.html`
- 头条:`toutiao-{主题}.html`
---
## 注意事项
### 微信公众号
- 不支持外部 CSS、JavaScript(JS 仅用于预览页复制功能)
- **`position: absolute`**:微信编辑器已支持,粘贴后正常渲染。引用块推荐用 `border-left`(更简洁)
- **禁止 `<pre>` + `white-space`**:换行丢失,代码块用 `<section>` + `<br>` + ` `
- emoji 正常显示,渐变 `linear-gradient` 支持良好
- `box-shadow` 微信编辑器已支持,正文设计上以边框和留白为主
- section 横向 padding 统一 6px
### 今日头条
- **禁止 inline style**:ProseMirror 全部剥离,必须用语义标签
- **禁止 `<section>` 嵌套**:不在 schema 白名单,被忽略或扁平化
- **支持 `<pre>` 代码块**:与微信不同,头条 ProseMirror schema 保留 pre 标签
- 用 Unicode 符号(◆★▶【】)建立视觉层级,不依赖 CSS
- emoji 最多2种,不连续出现(算法敏感)
- 排版克制,避免过度装饰
don't have the plugin yet? install it then click "run inline in claude" again.