AI工具 Skill技能库 关于道场

公众号文章排版发布管线:Markdown一键转可复制HTML并自动上传图床

一人堂 |2026-09-25

公众号排版发布自动化工具,将Markdown文章一键转换为可复制到公众号编辑器的HTML,支持内联CSS样式、PicGo图床上传、SVG配图生成和自动替换占位符。包含完整6步工作流,适用于内容创作者快速完成公众号图文发布。

公众号文章排版发布管线:Markdown一键转可复制HTML并自动上传图床

【适用场景】

- 公众号运营者:将Markdown文章快速转换为公众号可用的HTML格式 - 内容创作者:自动化公众号排版、配图和发布全流程 - 自媒体工作者:批量管理选题、素材、草稿和发布记录 - 技术博主:用Markdown写技术文章,一键生成精美公众号排版

使用时机:当需要"公众号排版"、"一键复制"、"图文排版"、"公众号配图"、"PicGo图床上传"时使用。


【操作步骤】

步骤0:健康检查(首次使用必做)

运行配置检查脚本,确认环境就绪:

```bash python3 scripts/doctor.py ```

检查6项配置:PicGo安装 / Server监听 / 图床配置 / token有效 / 仓库可访问 / 存储路径就绪。

任何一项失败,脚本会输出修复指引,按指引修复后重跑直到全绿。

步骤1:撰写或获取文章

准备好需要发布的Markdown文章,存入草稿目录。建议包含YAML frontmatter:

```markdown


title: 文章标题 type: 技术/生活/产品 status: draft tags: 标签

文章正文... ```

步骤2:生成排版HTML

将Markdown文章转换为公众号兼容的HTML格式:

核心约束: - 所有CSS必须写进`style=""`属性,不用`<style>`标签或class - 不用CSS渐变(易被公众号过滤) - 正文宽677px,字号14-15px,行高1.85-1.9 - 图片占位符统一用`__IMAGE_N__`

```html <img src="__IMAGE_N__" alt="描述" style="width:100%;border-radius:6px;display:block;" /> ```

步骤3:生成配图

如需生成封面图或插图:

SVG手绘配图(推荐): - 手绘SVG尺寸900px宽 - 用`rsvg-convert`转换:`rsvg-convert -w 900 in.svg -o out.png`

封面裁剪(命令行): ```bash

裁剪为2.35:1比例

ffmpeg -i in.png -vf "crop=900:383:0:0" out.png

缩放到指定尺寸

sips -z 383 900 in.png ```

文字溢出检测(必须做): - 用macOS Vision OCR定位每段文字边界 - 判断文字是否超出画布范围 - OCR误报时用Pillow像素级复核

步骤4:上传图床并替换占位符

确认环境就绪后,运行自动发布脚本:

```bash python3 scripts/auto-publish.py --html 排版.html --images image1.png image2.png ```

脚本自动完成: 1. 上传图片到配置的图床 2. 获取图片URL 3. 替换HTML中的`__IMAGE_N__`占位符 4. 输出`_final.html`

若无可用PicGo:手动上传图片到公众号素材库,获取`mmbiz.qpic.cn`链接后手动替换。

步骤5:复制发布

1. 用浏览器打开`_final.html` 2. 全选复制:`Cmd+A` → `Cmd+C` 3. 粘贴到公众号编辑器 4. 微信自动转存外链图片 5. 发布后更新发布记录

步骤6:归档到例文库

发布完成后归档到`references/examples/`目录,作为同类文章的参考:

```bash python3 scripts/manage-examples.py add 2026-09-25-文章slug ```

归档内容: - `排版.html`(最终成品) - `meta.md`(文章类型、视觉主题、踩坑记录) - `assets/`(可选,配图文件)


【代码模板】

完整工作流模板

```bash

Step 0: 检查环境

python3 scripts/doctor.py

Step 1: 文章已准备好在 03_草稿/ 目录

Step 2: 生成排版HTML(需配合 frontend-design skill)

输出到 03_草稿/文章名_final.html

Step 3: 生成配图

rsvg-convert -w 900 assets/cover.svg -o assets/cover.png

Step 4: 上传图床

python3 scripts/auto-publish.py --html 03_草稿/文章名_final.html --images assets/cover.png

Step 5: 复制发布

浏览器打开 _final.html → Cmd+A → Cmd+C → 粘贴到公众号

Step 6: 归档

python3 scripts/manage-examples.py add 2026-09-25-文章slug ```

目录结构建议

``` <内容根目录>/ ├── 01_选题库/ 选题卡片 ├── 02_素材收集/ 素材卡片 ├── 03_草稿/ 草稿 + 排版HTML ├── 04_发布记录/ 发布记录 ├── 06_素材库/ 配图SVG + PNG ├── 99_模板/ 各类卡片模板 └── references/ ├── layout-guide.md 排版方法论 └── examples/ 例文库 ```


【复盘要点】

公众号排版红线(必知)

约束说明
内联样式所有CSS写进`style=""`,不用`<style>`
图片URL必须用`https://`外链,不用本地路径
占位符统一`__IMAGE_N__`,交给脚本替换
渐变禁用CSS渐变易被公众号过滤,用色块拼接替代

环境依赖

- PicGo:图床上传工具,需开启Server(默认`127.0.0.1:36677`) - rsvg-convert:SVG转PNG工具 - ffmpeg:视频/图片处理 - headless Chromium:渲染验证(可选)

常见问题处理

- PicGo未运行:`doctor.py`会自动启动(`open -a PicGo`) - 图片显示异常:检查图片URL是否为外链,公众号不支持本地路径 - 文字溢出:用OCR工具检测并调整SVG尺寸 - 样式被过滤:确保所有样式为内联,不用class和渐变


来源:GitHub https://github.com/786262170/wechat-publish

技能文件:SKILL.md