下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/tucent--wechat-md-formatter.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @tucent/wechat-md-formatter。Markdown 粘进公众号,格式全丢?把 md 丢进来,直接输出能粘贴的排版 HTML。21 种主题 × 9 种版式自由组合,29 个预设开箱即用,提示框、图廊、代码高亮都支持,纯本地不联网。
阅读全文 (展开查看完整说明)
概述
公众号文章排版
将 Markdown 渲染为可粘贴到公众号后台的排版 HTML。纯本地执行,无 npm 依赖,无外部 API 调用。
When to Use
- 用户需要将 Markdown 转为公众号排版 HTML
- 用户提到"公众号排版""微信排版""主题排版"等
- 用户希望用预设、或自定义主题与版式组合来美化文章
输入与输出
- 输入:Markdown 文件路径,或经 stdin 传入的内容
- 输出:HTML 写入 stdout,不自动生成文件。需要落盘必须用 shell 重定向
这一点容易搞错:脚本只往标准输出打印,不会在 md 旁边生成任何 html。要生成文件必须自己重定向:
node <技能目录>/wechat-html.js --preset 墨色下划线 input.md > output.html出错时脚本以非零码退出,且 stdout 为空——不要用 > 覆盖已有文件后再判断成败,先检查退出码。
脚本入口
唯一入口:wechat-html.js
# 使用预设(推荐,中文预设名,共 29 个)
node <技能目录>/wechat-html.js --preset 墨色下划线 input.md > output.html
# 主题 + 版式自由组合(21 主题 × 9 版式)
node <技能目录>/wechat-html.js --theme ink-seri --layout underline input.md > output.html
# 列出可用值
node <技能目录>/wechat-html.js --list-presets # 预设 29 个
node <技能目录>/wechat-html.js --list-themes # 主题 21 个
node <技能目录>/wechat-html.js --list-layouts # 版式 9 个
node <技能目录>/wechat-html.js --list-image-styles # 图片样式 4 个
node <技能目录>/wechat-html.js --list-code-themes # 代码主题 8 个也可通过环境变量指定默认值:WEWORK_PRESET、WEWORK_THEME_ID、WEWORK_LAYOUT_ID、WEWORK_IMAGE_STYLE_ID、WEWORK_CODE_THEME_ID。
优先级:命令行参数 > 预设 > 环境变量 > 默认值。
可选参数
| 参数 | 说明 | 示例 |
|---|---|---|
--preset / -p | 预设名(主题+版式组合) | --preset 墨色下划线 |
--theme / -t | 主题 ID | --theme ink-seri |
--layout / -l | 版式 ID | --layout underline |
--image-style / -i | 图片样式 | --image-style rounded |
--code-theme / -c | 代码高亮主题 | --code-theme one-dark |
参数值写错时脚本会报错并列出所有可用值,不会静默回退到默认主题。看到报错就照着列表改正,不要怀疑是文件的问题。
主题与版式
主题决定配色与字体,版式决定标题与区块的呈现方式,两者可任意组合。
版式(9 种):block 色块、underline 下划线、leftline 左边线、minimal 极简、card 卡片、gradient 渐变、center 居中、yanqi 雁栖湖、yanqi-coral 橙心
主题(21 种):coral-warm 珊瑚暖意、ink-seri 墨色书香、teal-fresh 青绿清新、purple-elegant 紫调雅致、minimal-bw 极简黑白、amber-paper 琥珀暖纸、mist-blue 雾蓝静读、sakura-soft 樱粉轻语、dark-calm 深色护眼、autumn-gold 金秋暖阳、yanqi-lake 雁栖湖、yanqi-coral 橙心、cyanosis 绀青、smartblue 智慧蓝、channing-cyan 禅宁青、fancy 花哨、jade-green 碧玉、ink-bamboo 墨竹、cream-apricot 奶油杏、starry-blue 星空蓝、condensed-night-purple 凝夜紫
代码主题(8 种):vscode-dark(默认)、vscode-light、monokai、one-dark、solarized-dark、solarized-light、dracula、github-dark
图片样式(4 种):default、rounded 圆角、shadow 阴影、border 描边
文章类型与推荐预设
| 文章类型 | 推荐预设 | 气质 |
|---|---|---|
| 资讯快报/早报 | 暖色色块、青绿色块 | 层级清晰,可扫读 |
| 深度长文/教程 | 墨色下划线、极简黑白 | 段落节奏好,不抢内容 |
| 通知/公告 | 智慧蓝左边线、绀青下划线 | 正式沉稳 |
| 休闲/生活 | 樱粉色块、金秋渐变 | 温暖活泼 |
| 科技/产品 | 深色护眼、星空蓝渐变 | 暗色护眼,技术感 |
| 古风/文艺 | 墨竹下划线、琥珀色块 | 传统雅致 |
扩展语法
除标准 Markdown 外,支持以下写法。
提示框
GitHub 风格与三冒号写法等价,都跟随主题配色:
> [!TIP]
> 建议内容
::: TIP
建议内容
:::五种类型:TIP 建议、NOTE 提醒、IMPORTANT 重要、WARNING 警告、CAUTION 注意。
提示框用 1×1 表格渲染,粘贴到公众号后可保留边框和背景色,且不算引用,有利于原创声明。
滑动图廊
::: gallery [标题]


:::多图横向滑动展示,标题可选。
短代码
独占一行书写:
| 写法 | 效果 |
|---|---|
[关注引导] | 居中的关注引导语 |
[分割线-细] | 1px 细分割线 |
[分割线-粗] | 3px 粗分割线 |
发布前检查
渲染完成后,先对源 Markdown 扫一遍,发现问题就告诉用户,不要直接把 HTML 交出去。下面几项都会原样渲染进正文,靠肉眼很容易漏。
| 检查项 | 特征 | 不处理的后果 |
|---|---|---|
| 配图占位符 | 【配图·X】→ 路径、【图1】 等非标准写法 | 占位文字被当正文,直接发到公众号上 |
| 本地图片路径 | 图片 src 不以 http:// https:// data: 开头 | 公众号无法加载,发出去是裂图 |
| 遗留的修订说明 | 含「可删」「修订说明」「改动点」「TODO」「草稿」 | 内部备注一起发布 |
| 占位链接 | ](TODO)、](xxx)、]() | 点击无反应 |
# 占位符 / 内部备注
grep -nE '【配图|【图[0-9]|(可删)|可删|修订说明|改动点|TODO|草稿' input.md
# 非公网图片引用(需 grep -P,Git Bash 可用)
grep -nP '![[^]]*]((?!https?:|data:)' input.md命中配图占位符时,先把它转成标准 Markdown 图片再排版,例如:
【配图·封面】→ article-images/cover.png | 手机界面示意改为
本地路径只在本地预览有效,发布前仍须上传图床并替换为公网 URL。预览时把 HTML 放在与 md 同级或相邻目录,相对路径才能解析。
注意事项
- 图片需使用公网可访问的 URL,否则公众号内无法显示
- 生成的 HTML 用浏览器打开后全选复制(Ctrl+A → Ctrl+C),粘贴到公众号编辑器
- 粘贴后公众号仅保留引用块(blockquote)和表格的背景色与边框,其余样式会被过滤——所以提示框和表格用了 table 结构
- 无输入内容时脚本报错退出;传文件路径时路径不存在会直接抛 ENOENT,先确认文件存在
依赖
- Node.js(支持 ES Module)
- 无 npm 依赖,无需
npm install - 纯本地渲染,无外部 API 调用