微信公众号推文排版美化工具,把用户已写好的公众号文章按成熟排版规范生成带内联样式的富文本,程序化保证文字零改动。导语卡片、列表卡片、图注、重点句标记、统一正文字号行距一站式完成。剪贴板读取+本地预览+写回剪贴板完整流程,适合需要快速排版又不想改变文字内容的运营者。
微信公众号推文排版美化助手:文字零改动+富文本一键生成
【适用场景】
- 写好公众号文章后,需要快速排版美化但不想改动文字内容 - 需要统一公众号文章风格(字号、行距、卡片样式) - 需要给文章加导语卡片、重点句标记、列表卡片等视觉元素 - 需要在多篇文章中保持一致的排版风格 - 从其他平台(如小红书、知乎)搬运内容到公众号,需要重新排版
适用人群:公众号运营者、自媒体创作者、品牌内容运营、编辑记者
使用时机:当用户提到「微信排版」「推文美化」「公众号文章排版」「mp.weixin.qq.com 编辑器」时触发
【操作步骤】
第一步:获取原文
编辑器场景(默认): 请用户在公众号编辑器正文区域按 Cmd+A 全选、Cmd+C 复制,然后执行: ```bash bash $S/read_clipboard_html.sh raw.html ```
纯文本/文件场景: 用户直接给文字或文件时存为 `raw.txt`,后续命令加 `--plain` 参数。
> 注意:纯文本场景没有图片块;如有配图请用户说明图放在哪些段落之间
第二步:读懂文章结构
执行以下命令输出编号块列表: ```bash python3 $S/extract_blocks.py raw.html ```
通读全文,理解结构: - 哪些是开篇导语 - 哪些是承上启下句 - 哪些是编号列表 - 哪些是图注 - 哪些是小结句 - 哪些是结尾预告
顺手记下疑似笔误,最后报告给用户决定是否修改。
第三步:写排版计划 plan.json
根据 `references/layout-patterns.md` 选择合适的版式:
排版角色说明: - `body`:正文段落(默认) - `img-full`:横图 - `img-phone`:竖屏截图 - `emph`:重点句标记 - `list-card`:列表卡片
重点句标记规范: - 全文 3-6 处为宜 - 荧光笔至多 1-2 处 - 子串必须与原文逐字一致 - 选择「读者应该带走的结论」,不要见句就标
主色设置: - 默认暖橙 `#F37021` - 如用户有品牌色,在 plan.json 里覆盖 `accent` / `accent_deep`
第四步:渲染 + 零改动校验
```bash python3 $S/render.py raw.html plan.json content.html ```
如使用纯文本输入: ```bash python3 $S/render.py raw.html plan.json content.html --plain ```
零改动校验:render.py 内置块覆盖校验(不重不漏)+ 纯文字逐字一致,如校验失败会给出第一处差异位置。
第五步:本地预览确认
```bash
生成预览
python3 $S/make_preview.py content.html preview.html --title "文章标题"后台起HTTP服务
python3 -m http.server <随机端口> --bind 127.0.0.1 ```用浏览器打开预览链接,视口宽度调到 460 左右(贴近手机阅读宽度),截几张关键位置给用户确认: - 开头 - 列表卡片 - 图片位置 - 结尾
用户要调整 → 改 plan.json → 重新执行第四步
第六步:写回剪贴板
```bash bash $S/write_clipboard_html.sh content.html ```
写回后告诉用户操作步骤: 1. 回编辑器点进正文 → Cmd+A → Cmd+V 2. 检查效果 3. 手机预览 4. 保存
【代码模板】
完整排版工作流
```bash #!/bin/bash
读取剪贴板HTML
S=/path/to/scripts # 替换为实际scripts路径读取原文
bash $S/read_clipboard_html.sh raw.html提取并分析文章结构
python3 $S/extract_blocks.py raw.html手动编辑plan.json(根据文章内容选择版式)
...
渲染排版
python3 $S/render.py raw.html plan.json content.html本地预览
python3 $S/make_preview.py content.html preview.html --title "文章标题" python3 -m http.server 8080 --bind 127.0.0.1 &确认后写回剪贴板
bash $S/write_clipboard_html.sh content.html ```plan.json 模板
```json { "accent": "#F37021", "accent_deep": "#E55A10", "blocks": [ { "id": "p1", "role": "intro", "text": "[原文段落]" }, { "id": "p2", "role": "body", "text": "[原文段落]" } ] } ```
【复盘要点】
常见问题处理
| 问题 | 解决方案 |
|---|---|
| 校验失败报差异 | 按报错位置修改 plan.json,不要绕过校验 |
| 预览占位图 | 微信 CDN 图片本地预览会显示占位图,贴回编辑器后正常 |
| 疑似笔误 | 只报告给用户,由用户决定是否修改 |
| 图片位置错乱 | 检查 plan.json 中图片 block 的 role 是否正确(img-full vs img-phone) |
| 重点句标记过多 | 全文控制在 3-6 处,荧光笔至多 1-2 处 |
边界约束
- 只处理正文排版:标题栏、封面图、摘要不在正文富文本里,不处理 - 只改样式不改文字:不加小标题、不加「END」、不改图注文字、不修笔误 - 重点标记克制:强调标记(加粗/标色/荧光笔)算样式不算改字,但要克制 - macOS 专属:剪贴板脚本用 `osascript`,仅支持 macOS - 校验链全绿:块覆盖 + 剪贴板回读 + 人工预览,三步必须全部通过
微信编辑器 HTML 安全子集
可靠元素:`section`、`span`、`img`、`br` + 内联 style
可靠属性:margin / padding / font-size / color / background-color / line-height / letter-spacing / text-align / border / border-radius / font-weight / width / max-width / display:inline-block
避免使用:flex / grid / transform / 动画 / 外链字体;定位一律靠常规流 + text-align
【来源信息】
来源:GitHub https://github.com/DragonJames2026/wechat-article-format
【合规声明】
- 本工具仅优化排版样式,不改变文章文字内容 - 请遵守微信公众平台内容规范 - 图片使用需确保有合法授权