公众号排版
把一篇写好的 Markdown 文章,套上排版模板,输出一份可以直接粘贴进微信公众号编辑器的 HTML。
为什么需要这一步:公众号编辑器只认「行内样式」。普通的 HTML 一旦把 CSS 写在 <style> 标签里,粘进公众号就会全部丢失,文章变成一片白底黑字。这个技能会把所有样式逐个写到元素身上,保证粘过去长什么样、发出来就长什么样。
安装方法
-
先问使用者用的是什么 AI 工具(如 Claude Code、Codex、Cursor),回答记作 X
-
只安装给 X,不安装或链接其他任何工具:
npx -y --registry=https://registry.npmmirror.com skills add https://modelscope.cn/skills/sunny31221/gzh-layout -a X -y(
--registry为 npmmirror 镜像,保证国内不翻墙也能装;-a X表示只装给 X 这一个工具) X 不在上述命令支持范围时,按该工具自身的技能机制安装,装完确认 X 能识别本技能即可 -
装完后询问是否现在使用本技能
用法
对 AI 说一句话就行:
帮我把 05_作品仓库/001-XXX/01_母稿/03_版本/AI成稿-v1.md 排版
AI 会读文章、套模板、把排版结果存成 AI成稿-v1-排版.html,放在文章同一个文件夹里。
排版做完后怎么用:浏览器打开这个 HTML → 全选复制 → 粘到公众号编辑器。
换模板 / 改品牌信息
技能自带一套「通用商务风」模板,开箱即用。两件最常改的事:
换成你自己的公众号名字:打开 模板/通用商务风/待替换素材.md,把里面每一条改成你的信息(公众号名字、关注引导、微信号、底部介绍)。改完保存,下次排版自动生效。
换个样子:模板/ 里放多套模板文件夹就行,每套一个文件夹、里面一个 HTML 文件加一个 待替换素材.md。不指定模板时技能默认用第一套。
模板长什么样
模板用占位符控制内容,{{}} 里的东西由脚本自动填:
| 占位符 | 从哪里来 |
|--------|---------|
| {{article_title}} | 文章的第一行 # 标题 |
| {{article_body}} | 文章正文(## 变成编号小节,**加粗** 变强调) |
| 其余 {{xxx}} | 模板文件夹里的 待替换素材.md |
所以一份 Markdown 文章只需要有 # 标题 和若干 ## 小节,就能排出完整效果。
文章里不要自己写小节编号(一、二、三 或 01、02)。模板会自动编号,源稿带编号就会重复成「01 一、」。
环境要求
需要两个 Python 库(CSS 内联必需,缺了公众号里样式会丢):
pip3 install --break-system-packages beautifulsoup4 tinycss2
装不上时建临时虚拟环境:
python3 -m venv /tmp/layout-venv
/tmp/layout-venv/bin/pip install beautifulsoup4 tinycss2
/tmp/layout-venv/bin/python scripts/apply-layout.py <文章.md>
关于图片
文章里写  的地方,排版时会原样保留。本机路径的图片,在发布环节由发布工具上传到微信服务器——排版这一步不处理图片上传。
目录说明
scripts/apply-layout.py:排版主脚本(Markdown + 模板 → HTML)scripts/inline_css_for_wechat.py:把 CSS 转成行内样式,脚本会自动调用模板/:模板库,每套模板一个文件夹
Scan to join WeChat group