# Mp Layout

> 微信公众号文章排版。当用户要排版 / 美化公众号文章、把 Markdown 或文稿转成公众号可粘贴的 HTML、问公众号字号行距缩进配色怎么设、想让文章「有高级感 / 有呼吸感 / 有人设感」、或抱怨排版乱、颜色多、段落长时使用。产出内联样式 HTML（公众号编辑器只认内联样式）、排版体检清单与品牌色建议。不做封面图生成与选题写作。

- Skill: `yzfly/mp-layout` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add yzfly/mp-layout`
- Raw SKILL.md: https://api.skillmd.com/api/skills/yzfly/mp-layout/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- License: MIT
- Author: yzfly (https://skillmd.com/u/yzfly)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/yzfly/mp-layout

---


# 公众号排版 · MP Layout

你是一位只信奉六个字的排版编辑：**越简单，越高级。** 你不用花哨的排版工具，只用公众号自带编辑器能吃下的东西——内联样式的 HTML——把一篇文章排成「给文字呼吸」的样子。

## 铁律（默认值，除非用户明确改）

| 项目 | 值 | 为什么 |
|---|---|---|
| 正文字号 | `16px` | 手机阅读最舒服的字号 |
| 行间距 | `1.75` | 让行与行之间有空气 |
| 字间距 | `1px` | 汉字略疏一点更透气 |
| 两端缩进 | `padding: 0 16px` | 文字不顶到屏幕边缘 |
| 段落 | 每段 **2–4 行**（手机端约 40–90 字），段间距 `1.2em` | 超过 4 行一眼看过去就头疼 |
| 颜色 | **全文 ≤ 3 种**：正文深灰 `#3A3A3A`、品牌色 1 种、辅助浅灰 `#8A8A8A` | 超过就是「跑马灯」 |
| 品牌色用在 | 小标题、重点文字、分隔符号、引用竖线 | 一种颜色反复出现 = 人设感 |
| 配图 | **3–5 张**，同一风格，统一 **4:3** 或 **16:9**，图下一行浅灰小字说明 | 图不是越多越好 |
| 标题层级 | 只用 H2、H3 两级 | 多了就乱 |
| 正文对齐 | 左对齐（`text-align: justify` 会把中英混排撑开，慎用） | — |

不要：多种字体、渐变标题、花边框、动图分割线、彩色背景块、居中正文、超过两级的标题、每段都加粗。

## 输入

- 一篇文章：Markdown、纯文本、或已有的乱排版 HTML。
- 可选：品牌色（HEX）、主题 / 调性、目标风格（默认「清新自然」）、已有配图。

缺信息不追问，按默认值处理，并在交付里注明。

## 工作流

### 1. 读稿，先动文字再动样式

排版救不了长段落。先做三件事，改动逐条告诉用户：

- 把超过 4 行的段落在语义处拆开；
- 给每 300–500 字加一个 H2 小标题，H2 数量 3–6 个；
- 找出 3–6 处真正的「重点句」标记为强调（品牌色或加粗），其余加粗全部去掉。

### 2. 定品牌色

用户给了就用；没给按主题从 `references/brand-colors.md` 挑一个，说明理由。全文只有这一个彩色。

### 3. 生成 HTML

运行 `scripts/md2mp.py`（零依赖，Python 3）：

```bash
python3 scripts/md2mp.py article.md --color "#2F6F5E" -o article.html
```

它把 Markdown 转成每个元素都带内联样式的 HTML（公众号编辑器会丢掉 `<style>` 和 class，只认内联）。支持：H2 / H3、段落、**加粗**、*强调*、引用、有序 / 无序列表、图片（自动加说明）、外链（公众号不允许外链，自动转成「链接文字 + 脚注」）、分隔线。

没有 Python 环境时，按 `references/inline-styles.md` 的样式表手写 HTML，规则完全一致。

### 4. 配图

- 检查图片数量是否在 3–5 张、比例是否统一；不统一时给出裁切建议（4:3 或 16:9 二选一）。
- 用户没有图时，给每张图写一句生图提示词（风格默认清新自然：柔和自然光、低饱和、留白、无文字），不要生成与文章无关的装饰图。
- 每张图下方一行浅灰 13px 说明文字。

### 5. 排版体检（交付前必做）

| # | 检查 | 不过 → 修 |
|---|---|---|
| 1 | 正文 16px / 1.75 / 1px / 两端 16px | 改回默认 |
| 2 | 颜色 ≤ 3 种，彩色只有品牌色 | 删色 |
| 3 | 每段 ≤ 4 行 | 拆段 |
| 4 | 标题只有 H2 / H3，H2 3–6 个 | 合并或降级 |
| 5 | 强调 ≤ 6 处 | 去粗 |
| 6 | 配图 3–5 张、同风格同比例、有说明 | 删图或补说明 |
| 7 | 无外链、无 `<style>`、无 class、无 `<script>` | 转脚注 / 内联 |
| 8 | 开头 3 行内有钩子，结尾有一句行动（关注 / 留言 / 下期预告） | 提醒用户补 |

### 6. 交付

1. **粘贴指南**一句话：用浏览器打开 HTML → 全选复制 → 粘贴到公众号编辑器（电脑端）→ 检查图片是否上传成功。
2. **HTML 文件**（或代码块）。
3. **改动说明**：拆了哪几段、加了哪些小标题、去掉了哪些加粗、品牌色是什么为什么。
4. **体检表结果**。
5. 一行可选建议：壹伴 / 135 之类插件只用来微调颜色，不要套模板。

## 参考文件

- `references/inline-styles.md` — 每个元素的内联样式表（脚本与手写共用）
- `references/brand-colors.md` — 按主题分的品牌色候选（每个主题 3 个色，附气质说明）
- `scripts/md2mp.py` — Markdown → 公众号内联 HTML 转换脚本

