| name | wechat-article-design |
|---|---|
| description | 个人化微信公众号文章排版 Skill,在不改写正文、不丢图片、不打乱图文顺序的前提下,将 Markdown、Word、PDF 或纯文本转换为可直接粘贴到微信公众号编辑器的 HTML。支持六套主题、AI 产品长文默认主题、克制的重点标记、章节编号、引言与目录、代码块、截图/GIF、可选签名,以及按描述或参考图生成新主题。用户提到“公众号排版”“微信排版”“自动排版”“把文章转成公众号 HTML”“保留原稿排版”“生成公众号主题”时使用。不得用于代写正文、普通网页、PPT 或未经确认的内容改写与配图替换。 |
我的公众号文章排版
把现有文章转换成可直接复制到微信公众号编辑器的 HTML。默认把排版视为发布前的最后一步:先接住成稿,再改变视觉层;不要用“优化”之名重写内容。
本 Skill 基于 gzh-design-skill 修改。主题组件继续从 references/ 读取,确定性检查交给 scripts/。具体 HTML 必须取自组件库,不要临时手写一套近似样式。
不可越过的边界
- 保留正文措辞、事实、段落、图片、图片位置和先后顺序。
- 排版可增加视觉容器、章节编号和少量重点标记,但不能删段、改标题、重组论证或替换图片。
- 摘要、导读、封面、正文示意图、作者签名均为可选项。原文没有、用户也没要求时,不自动补。
- 若结构明显有误,先指出并询问;不要在排版阶段自行修稿。
- 输出前核对源文与产物的段落数、图片数和图片顺序。任何无法保留的内容都要明确报告。
工作流
0. 读取与归一化输入
- Markdown 或
.md:直接读取。 .docx:读references/format-normalize.md,运行scripts/extract_docx.py,保留标题、列表和内嵌图片。- PDF、纯文本或网页富文本:按
references/format-normalize.md转成 Markdown 草稿。 - 非 Markdown 输入完成归一化后,报告识别到的章节数和图片数,请用户确认结构;用户明确说“直接排”“不用问”时才跳过。
先建立源文清单:标题、章节、非空段落、表格、代码块、图片及其顺序。此清单用于最终保真核对。
1. 选择主题
读取 references/theme-index.md。用户已指定主题时直接使用;未指定时只推荐一次:
- AI 产品分析、产品体验、案例复盘、Agent/RAG/Prompt、AI 产品经理专业长文:优先推荐“橄榄手记”。
- 教程、清单、工具盘点:推荐“摸鱼绿”。
- 深度观点、力量感话题:推荐“红白色系”。
- 设计、科技评论、高端品牌:推荐“石墨极简风”。
- 极简生活、深度随笔:推荐“留白禅意风”。
- 工具对比、创意测评:推荐“摸鱼票据风”。
全自动模式下按题材选主题。没有明显倾向时也优先选“橄榄手记”,因为个人默认用途是 AI 产品与专业长文。
2. 读取组件库
同时完整读取:
theme-index.md指定的主题库references/theme-{id}.md。references/common-components.md。
先按文章类型查主题库的“文章类型 → 组件组合配方”,再选组件。每篇只用一套主题,不跨主题拼装。
3. 解析文章结构
识别标题、引言、## 章节、### 小节、正文、列表、表格、引用、代码、图片和 GIF。文章类型可判为教程、工具清单、观点分析、人物访谈、数据报告、随笔或案例实战。
把 Markdown 元素映射到主题组件:
##→ 章节组件,并按顺序生成01/02/03…。###→ 主题小节组件或通用左竖条小标题。**文字**、==文字==、<u>文字</u>→ 对应主题强调组件。- 代码与 Prompt → 通用代码块,不放进普通正文卡片。
- 图片/GIF → 主题或通用图片组件,原样保留
src、说明与位置。
4. 克制地添加视觉重点
默认使用“稀疏标记”,不采用原项目“每段 1–3 处下划线”的高密度规则:
- 每 2–3 个自然段最多主动标记 1 个短语。
- 每个自然段最多 1 处,连续两个段落不要都加下划线。
- 优先标核心判断、关键数据、产品名和真正影响结论的概念。
- 短语控制在 4–15 个汉字,避免跨行长下划线。
- 原文已有加粗、高亮时优先尊重原标记,不再重复叠加。
- 全文最强锚点不超过 5 处;颜色只作点睛,正文仍由灰阶承重。
5. 可选增强项
只有用户明确要求时才执行:
- 提炼三条导读或开头引言卡。
- 生成公众号封面。
- 生成正文信息图或示意图。
- 添加作者签名或互动 CTA。
- 调整原文标题、段落或配图。
执行其中任何一项时,说明新增了什么。若会改变原稿内容,先确认再改。
6. 装配并校验 HTML
按主题库的完整骨架装配,输出必须是从全局 <section> 开始的正文片段,不加 <!DOCTYPE>、html、head 或 body。
平台红线:
- 样式全部内联。
- 所有文字节点用
<span leaf="">包裹。 - 禁止
<style>、<script>、<div>、class、id、float、display:grid、CSS 变量和外部字体。 - 不使用
position:fixed/absolute/sticky、@media或@keyframes。 - 图片用
max-width:100%;height:auto;display:block;margin:0 auto,不要强行拉伸小图。
写入 HTML 后运行:
<SKILL_ROOT>/scripts/validate_gzh_html.py <输出.html>
必须达到 0 ERROR、0 WARNING。
7. 保真核对
先运行确定性保真脚本:
<SKILL_ROOT>/scripts/verify_content_fidelity.py <源文.md> <输出.html>
脚本必须 PASS。随后再使用第 0 步的源文清单逐项人工检查:
若用户已明确要求新增正文配图,使用 --allow-extra-images;它只允许增加图片,所有源图仍必须完整且保持相对顺序。未获得明确要求时不得使用该参数。
- 标题和所有非空正文是否存在。
- 每张图片是否存在,顺序和相邻段落是否保持。
- 代码块、表格、引用和列表是否遗漏。
- 是否加入了用户未要求的新内容。
- 是否存在作者名、职业状态、项目经历等错误占位或推断。
发现差异时先修正再交付,不能用“版式需要”解释内容丢失。
8. 交付文件
生成两份文件:
{原文件名}_排版_{主题中文名}({英文标识}).html:干净正文。- 使用
scripts/wrap_preview.py生成{...}_预览.html:带“复制到公众号”按钮。
交付时说明所选主题、是否添加可选增强项、保真脚本结果、人工核对结果,以及 HTML 校验脚本结果。
常见问题
- 图片没有说明时不要编造图注。
- 本地图片路径可用于预览,但发布前仍需确认公众号后台是否成功上传。
- 目录是三条精选导读,不等于全文目录;用户未要求时默认不加。
- 签名只在末尾出现一次;用户没提供署名且没要求签名时整块省略。
- 不用四周虚线框突出普通标题;用留白、字号、左竖条或药丸标签。
- 中文正文使用全角标点,代码、URL 和英文标识符保持原样。
- 预览正常不等于发布完成;提示用户在公众号草稿箱和手机预览中做最后检查。
自定义主题
用户要求新风格时,完整读取 references/theme-generator.md:一次收集主题描述或参考图与可选偏好,生成整页组件预览;用户确认后再转成标准主题库、登记 theme-index.md,运行:
python3 scripts/component_lint.py .
达到 0 ERROR 后才将新主题用于正式排版。
维护说明
触发、主题选择、保真与稀疏标记的回归用例见 references/eval-cases.md。修改组件库后先运行 component_lint.py,再用样例生成 HTML,依次运行 verify_content_fidelity.py 与 validate_gzh_html.py。
