公众号(WeChat Official Account)排版工具:将文章转换成可一键复制、直接粘贴进公众号编辑器并保留全部样式的 HTML。内置音乐卡片、歌词引用块、高亮块、金句块、互动引导等组件,默认暖色调配色,特别适合歌曲/音乐/怀旧/生活方式类内容;其他类型也可用,但配色与组件通常需微调。WeChat MP Formatter: turns articles into self-contained HTML that keeps all styling when pasted into the MP editor. Ships music cards, lyric quote blocks, highlight boxes, key-sentence blocks and interactive prompts with a warm-tone palette tuned for songs/music/nostalgia/lifestyle; other topics work too but may need palette/component tweaks.
Coding
content-formatter
Try it统一内容排版引擎,支持29平台排版规则,4层排版策略(L0无需转换/L1通用HTML/L2平台专属/L3纯文本)。触发:内容排版/格式转换/平台适配
What it does
统一内容排版引擎,支持29平台排版规则,4层排版策略(L0无需转换/L1通用HTML/L2平台专属/L3纯文本)。触发:内容排版/格式转换/平台适配
The skill document
核心功能: 本技能提供/平台适配等能力。
content-formatter 统一内容排版引擎
整合 base.py 的
_ensure_content_format、format_converter.py、content_platform_adapter.py的_adapt_content_format三处分散排版入口,统一为单一排版引擎,支持 29 平台排版规则。
使用场景
- 内容发布前排版适配: 将 Markdown 原始内容转换为目标平台所需的格式(HTML/Markdown/纯文本)
- 多平台批量发布: 一次输入,按各平台规则分别输出对应格式
- 格式降级兜底: 当平台专属排版器不可用时,自动降级到通用 HTML 转换
- 统一排版入口: 消除三处分散排版逻辑(base.py/format_converter.py/content_platform_adapter.py),所有排版经由本引擎统一处理
4层排版策略
| 层级 | 说明 | 适用平台 | 处理方式 |
|---|---|---|---|
| L0 | 无需转换 | Markdown 原生平台(掘金/CSDN/思否等) | 保持 Markdown 原文输出 |
| L1 | 通用 HTML | 大多数 HTML 平台(搜狐/大鱼/网易等) | Markdown→HTML + 默认内联 CSS |
| L2 | 平台专属 | 微信公众号/知乎/百家号/微博 | 调用 format_converter 专属样式,失败降级 L1 |
| L3 | 纯文本 | Twitter/X 等短文本平台 | 去除 Markdown 标记 + 字符截断 |
工作流
- 接收内容和平台参数
- 输入:
--content(Markdown 原始内容)--platform(目标平台)--format(可选,目标格式) - 支持
--content-file从文件读取内容(替代--content)
- 输入:
- 查询平台排版规则
- 从
platform_styles.json加载平台配置(format/layer/style/inline_css/features/max_length) - 未知平台默认使用 L1 通用 HTML 排版
- 从
- 执行排版转换
- L0: 保持 Markdown 原文,不转换
- L1: 调用
_basic_md_to_html进行通用 Markdown→HTML 转换(可选内联 CSS) - L2: 调用
_format_via_converter调用 format_converter.py 专属排版器,失败则降级 L1 - L3: 调用
_strip_markdown去除 Markdown 标记,按 max_length 截断
- 返回格式化内容
- 输出 JSON:
{success, data:{html, markdown, text, format_used, layer}, error}
- 输出 JSON:
输入格式
python skills/content-formatter/scripts/format_engine.py \
--content "# 标题\n\n正文内容" \
--platform wechat_official \
--format html
参数说明:
--content(必填): 原始内容(Markdown 格式)--platform(必填): 目标平台名称(如 juejin/wechat_official/zhihu/x_twitter 等)--format(可选): 目标格式(html/markdown/text),留空则按平台配置自动判断--content-file(可选): 内容文件路径,替代--content(适合长文本)
输出格式
{
"success": true,
"data": {
"html": "标题正文内容",
"markdown": "# 标题\n\n正文内容",
"text": "标题\n\n正文内容",
"format_used": "html",
"layer": "L1"
},
"error": null
}
字段说明:
html: HTML 格式内容(L0/L3 平台为空字符串)markdown: Markdown 原文(L3 平台为转换后的纯文本)text: 纯文本内容(仅 L3 平台有值)format_used: 实际使用的格式(html/markdown/text)layer: 实际使用的排版层级(L0/L1/L2/L1(fallback))
异常处理
| 异常场景 | 处理方式 | 降级层级 |
|---|---|---|
| 未知平台 | 使用默认 L1 通用 HTML 排版 | L1 |
| L2 专属排版器不可用(format_converter.py 不存在) | 降级到 L1 通用 HTML | L1(fallback) |
| L2 专属排版器调用失败(超时/返回错误) | 降级到 L1 通用 HTML | L1(fallback) |
| markdown 库未安装 | 使用简单正则替换进行基础转换 | L1(基础) |
| 排版引擎内部异常 | 返回 {success:false, error:..., code:...} | 无 |
所有异常均通过 try/except 捕获,排版失败时返回结构化 JSON 错误信息,不抛出未捕获异常。
示例
示例1: Markdown 平台(掘金) - L0 无需转换
python skills/content-formatter/scripts/format_engine.py \
--content "# 测试标题" \
--platform juejin
输出:
{"success": true, "data": {"html": "", "markdown": "# 测试标题", "text": "", "format_used": "markdown", "layer": "L0"}, "error": null}
示例2: 微信公众号 - L2 平台专属排版
python skills/content-formatter/scripts/format_engine.py \
--content "# 测试标题" \
--platform wechat_official
输出:
{"success": true, "data": {"html": "测试标题", "markdown": "# 测试标题", "text": "", "format_used": "html", "layer": "L2"}, "error": null}
示例3: Twitter/X - L3 纯文本截断
python skills/content-formatter/scripts/format_engine.py \
--content "# 标题\n\n这是一段很长的正文内容..." \
--platform x_twitter
输出:
{"success": true, "data": {"html": "", "markdown": "标题\n\n这是一段很长的正文内容...", "text": "标题 这是一段很长的正文内容...", "format_used": "text", "layer": "L3"}, "error": null}
集成说明
本引擎被 mcps/multi-publisher-mcp/publishers/base.py 的 _ensure_content_format 方法调用,作为统一排版入口。调用方式为 subprocess 子进程调用,失败时降级到 base.py 内置的 format_converter 路径(P1-5 已有逻辑)。
29 平台清单
L0(Markdown 原生,9个): juejin, csdn, segmentfault, cnblogs, 51cto, oschina, yuque, imooc, jianshu, woshipm, bilibili_col L1(通用 HTML,13个): toutiao, douban, sohu, dayu, netease, yidian, smzdm, xueqiu, eastmoney, douyin_img, sohufocus, wordpress, typecho L2(平台专属,4个): wechat_official, zhihu, baijiahao, weibo L3(纯文本,1个): x_twitter
wenyan CSS 主题说明
wenyan CSS 主题已随 wenyan-mcp 归档,如需使用从 mcps/wenyan-mcp/ 源码提取。 R6复核修复(BUG-FAKE-121+): wenyan-mcp已归档,list_themes不再可用(如需CSS主题,执行npm pack @wenyan-md/mcp提取dist/themes/*.css)
wenyan-mcp(@wenyan-md/mcp, Node 运行时)的 CSS 主题文件内联在 npm 包源码中,本地 mcps/wenyan-mcp/ 目录仅保留 mcp.json(工具声明: render_markdown/list_themes/register_theme/delete_theme/publish_draft)和 .env.example,不含独立 .css 文件。
如需获取 wenyan 内置主题 CSS:
- 执行
npm pack @wenyan-md/mcp解包后提取dist/themes/*.css - 或调用 wenyan-mcp 的
list_themes工具在线获取主题列表 - 提取后将 CSS 放置到
skills/content-formatter/assets/themes/目录(当前不存在,需创建)
Related skills
面向个人用户的 Markdown 格式化工具,将纯文本或已有 Markdown 转换为结构清晰、易读的格式。核心能力: - 自动识别纯文本与 Markdown 内容类型 - 生成 frontmatter(标题、摘要、描述) - 优化标题层级、加粗关键结论、列表化平行内容 - 中英文混排间距自动修正 适用场景: - 个人博客文章格式整理 - 技术笔记结构优化 - 文档可读性提升 差异化: - 免费版提供单文件格式化能力 - 仅调整格式与修正明显错别字,不改动内容 - 支持交互式标题选择 触发关...
自媒体文章排版生成技能。当用户要求生成、创建、排版微信公众号文章或今日头条文章,或需要公众号/头条美化格式、编辑器兼容HTML时触发。支持微信公众号(23种风格配色:7种通用+8种节日+4种季节+4种主题,默认Linear冷工程蓝紫,全内联CSS)和今日头条(纯语义HTML,ProseMirror兼容)双平台自动选择。可根据用户要求、节日/季节/主题关键词或内容自动匹配平台和风格。支持标题、正文、列表、引用、提示框、数据卡片、对比栏、代码块、表格、进度条、信息卡片、键值列表等全套排版组件;宽表/长内容可自动改用信息卡片或键值列表展示。
公众号排版工具。用户提供任意格式的文章内容(草稿、纯文字、已有 Markdown 均可), AI 自动识别结构、添加排版标记,生成专业公众号 HTML。 Use when: 用户说"帮我排版"、"转成公众号格式"、"生成 HTML";用户上传文章内容或文件 NOT for: 纯文本渲染;用户只想预览已有 HTML
公文格式转换 — 将 Markdown 转换为符合 GB/T 9704-2012 党政机关公文格式的 Word 文件。可选能力:远程图片下载(仅 http/https/data:image,可通过 download_images=False 关闭)。Do NOT:不做文体识别、不添加红头/版记/落款、不做内容审核。
内容生成+发布统一编排器,15条管道文件(12 PL-*+3 E2E-*):VIDEO/VIDEO-BATCH/IMAGE/AUDIO/LIPSYNC/COMIC/COMIC-BATCH/ARTICLE-BATCH/NOVEL-BATCH/PRODUCT/HOTSPOT/NEWPROD+E2E-VIDEO/E2E-IMAGE/E2E-DAILY+3内置虚拟路由(PL-NOVEL连载/PL-DRAMA短剧/PL-UPLOAD上传)。平台注册表自动路由+代理自动注入+多租户感知(tenant_id→风格/人设/素材/平台隔离)+素材→闲鱼商品(PL-PRODUCT)+热点→商品(PL-HOTSPOT)+小说连载(PL-NOVEL/PL-NOVEL-BATCH)+短剧生成(PL-DRAMA内置)。触发:生成内容/发布内容/一条龙/日常运营/素材转商品/热点选品/热点上架/小说连载/短剧生成/上传内容生成 不触发:纯闲鱼运营/纯客服回复/数据分析查询