AI工具 Skill技能库 关于道场

Markdown转微信公众号HTML工具:7种预设样式+草稿箱推送一站式方案

一人堂 |2026-07-04

将Markdown文件转换为符合微信公众号规范的HTML文件,支持7种预设样式(默认/泛黄怀旧/科技蓝紫/青绿引号/角标绿条/中轴蓝卡/紫绿清韵),自动适配微信公众号渲染,并可一键推送至微信公众号草稿箱或稀土掘金草稿箱。零API依赖,仅需配置文件Cookie即可使用。

Markdown转微信公众号HTML工具

【适用场景】

当用户需要将本地Markdown文档发布到微信公众号或稀土掘金平台时,使用此工具。主要解决以下问题:

- 格式转换难:Markdown语法在微信公众号后台直接复制会丢失样式,需要转换为HTML - 样式适配乱:不同主题文章(技术博客/新闻日报/学术笔记)需要不同视觉风格 - 多平台发布繁琐:同一篇文章需要发布到微信公众号和掘金两个平台,手动转换工作量大

适用对象:技术博主、内容创作者、自媒体运营者、新闻编辑

【操作步骤】

第一步:确认执行模式

根据用户意图判断使用哪种模式:

用户意图执行模式脚本命令
「把这篇md转成微信html」仅转换HTML`python3 ${CODEBUDDY_SKILL_DIR}/scripts/md2wechat_html.py`
「推送/发布到公众号」转换+推送草稿箱`python3 ${CODEBUDDY_SKILL_DIR}/scripts/push_daily.py`
「推送到掘金」推送掘金草稿箱`python3 ${CODEBUDDY_SKILL_DIR}/scripts/push_juejin.py`

第二步:选择预设样式

用户未指定时默认使用「默认样式」。可根据文章类型选择:

预设样式视觉特征触发关键词
默认(白底灰字)白底灰字+棕橘胶囊标题默认、白色、白底、简洁、干净
泛黄怀旧古卷泛黄底色+深棕标题怀旧、古风、黄底、复古
科技蓝紫白底+蓝紫渐变标题科技、AI、技术、前沿
青绿引号米白底+青绿引号线H2文艺、杂志、专栏、清爽
角标绿条黄编号角标+绿色标签块运营、资讯、拆解、模块化
中轴蓝卡冷灰底+中轴蓝色编号卡产品文档、技术手册、结构化
紫绿清韵白底+紫色胶囊框H2学术、研究笔记、深度技术

第三步:执行转换或推送

纯转换模式: ```bash

默认样式转换

python3 ${CODEBUDDY_SKILL_DIR}/scripts/md2wechat_html.py article.md article_wechat.html

指定预设样式

python3 ${CODEBUDDY_SKILL_DIR}/scripts/md2wechat_html.py \ --config ${CODEBUDDY_SKILL_DIR}/references/article_nostalgic.yaml \ article.md article_wechat.html

新闻模式(板块化日报)

python3 ${CODEBUDDY_SKILL_DIR}/scripts/md2wechat_html.py --news news.md news_wechat.html ```

推送草稿箱模式: ```bash

从frontmatter提取标题和摘要

python3 ${CODEBUDDY_SKILL_DIR}/scripts/push_daily.py input.md

手动指定标题和摘要

python3 ${CODEBUDDY_SKILL_DIR}/scripts/push_daily.py input.md \ --title "文章标题" --digest "120字以内摘要" ```

第四步:验证输出

- 转换模式:检查生成的HTML文件是否完整 - 推送模式:登录微信公众号后台确认草稿箱内容

【代码模板】

前置条件:配置文件 `~/.md_push_wechat/config.yaml` 必须包含微信公众号的 `appid` 和 `secret`

```yaml

~/.md_push_wechat/config.yaml 示例

wechat: appid: "wx_your_appid" secret: "your_secret_key"

juejin: cookie: "你的掘金Cookie字符串" ```

完整工作流脚本: ```python import subprocess import sys

skill_dir = "${CODEBUDDY_SKILL_DIR}" input_file = "article.md"

步骤1:转换为HTML

result = subprocess.run([ "python3", f"{skill_dir}/scripts/md2wechat_html.py", input_file, "output.html" ], capture_output=True, text=True)

步骤2:推送草稿箱

if result.returncode == 0: push_result = subprocess.run([ "python3", f"{skill_dir}/scripts/push_daily.py", input_file, "--title", "文章标题" ], capture_output=True, text=True) print(push_result.stdout) ```

【复盘要点】

容易出现的问题

1. 配置文件缺失:推送草稿箱前必须确认 `~/.md_push_wechat/config.yaml` 存在 2. 摘要超长:`--digest` 参数必须控制在120字以内,否则会被微信公众号截断 3. Cookie过期:掘金Cookie有效期约30天,过期后需重新获取 4. 图片上传失败:脚本采用尽力而为模式,图片上传失败会保留原引用

优化建议

- 技术博客类文章推荐使用「科技蓝紫」或「紫绿清韵」样式 - 新闻日报类文章使用「新闻模式」并指定 `--news` 参数 - 批量发布时可将样式偏好写入frontmatter实现自动化

来源:GitHub https://github.com/MuKunZiAI/mukun_md_push