md2wechat-skill

将 Markdown 文件转换为微信公众号兼容的内联样式 HTML,并一键发送到微信草稿箱。支持 Front Matter 元数据、表格、代码块、列表、图片自动上传等完整排版能力。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "md2wechat-skill" with this command: npx skills add koraiHub/md2wechat-skill

md2wechat-skill — Markdown 转微信草稿箱

将 Markdown 文件经过排版引擎转换为微信图文编辑器兼容的内联样式 HTML,并通过微信公众号 API 发送到草稿箱。

核心能力

  • Markdown → 微信 HTML:完整解析标准 Markdown 语法(标题、列表、表格、代码块、引用等),自动转换为微信兼容的内联样式
  • Front Matter 元数据:支持 YAML Front Matter 定义标题、作者、摘要、发布模式等
  • 图片自动处理:正文内嵌的本地图片自动上传到微信 CDN 并替换为永久链接
  • 封面图上传:支持指定封面图上传为微信永久素材
  • 代码块深色主题:代码块自动适配深色背景样式
  • 超长内容截断:超过微信 2MB 限制的内容自动安全截断

前置条件

依赖安装

pip install wechatpy markdown beautifulsoup4 requests python-dotenv pillow

微信公众号配置(仅草稿箱发布需要)

需要设置以下环境变量(可通过 .env 文件或系统环境变量):

WECHAT_APPID=你的公众号AppID
WECHAT_SECRET=你的公众号AppSecret

获取方式:登录 微信公众平台 →「开发」→「基本配置」→ 获取 AppID 和 AppSecret。

配置模板见 {baseDir}/resources/env_template.txt

提示:如果仅需要将 Markdown 转换为微信兼容 HTML(--convert-only 模式),则不需要配置微信密钥。

使用方式

模式一:仅转换 HTML(无需微信密钥)

将 Markdown 文件转换为微信兼容的内联样式 HTML,输出到本地文件:

python {baseDir}/scripts/md2wechat.py <markdown文件路径> --convert-only --output <输出HTML路径>

示例:

python {baseDir}/scripts/md2wechat.py ./article.md --convert-only --output ./preview.html

模式二:转换并上传到微信草稿箱

python {baseDir}/scripts/md2wechat.py <markdown文件路径> --draft --env-file <.env路径>

支持的可选参数:

  • --title "自定义标题":覆盖自动提取的标题
  • --author "作者名":指定作者
  • --cover ./cover.png:指定封面图
  • --output ./preview_dir/:同时保存本地预览 HTML
  • --env-file .env:指定环境变量配置文件

完整示例:

python {baseDir}/scripts/md2wechat.py ./my_article.md --draft \
    --title "我的文章标题" \
    --cover ./images/cover.png \
    --env-file ./.env \
    --output ./preview/

查看帮助

python {baseDir}/scripts/md2wechat.py --help

Markdown 文件格式

基本格式

标准的 GitHub Flavored Markdown 语法均受支持:

# 文章标题

正文段落...

## 二级标题

- 无序列表项
- 列表项

1. 有序列表项
2. 列表项

> 引用文本

**加粗** 和 *斜体*

| 表头1 | 表头2 |
|-------|-------|
| 单元格 | 单元格 |

Front Matter 元数据(可选)

在文件最顶部添加 YAML 格式的元数据块:

---
title: 自定义标题
author: 作者名
summary: 文章摘要描述
publish_mode: draft
---

正文内容...

支持的字段:titleauthorsummarycoverpublish_atpublish_modeaccount_id

图片引用

使用相对路径引用图片,上传草稿时会自动处理:

![图片描述](images/photo.png)

示例文件

示例 Markdown 文章:{baseDir}/examples/sample_article.md

脚本文件说明

文件说明
scripts/md2wechat.py主入口脚本(CLI)
scripts/md_converter.pyMarkdown → 微信 HTML 转换引擎
scripts/html_formatter.pyHTML 内联样式适配器
scripts/wechat_client.py微信公众号 API 客户端

Rules

  1. 在执行 --draft 模式前,必须确认用户已正确配置 WECHAT_APPIDWECHAT_SECRET
  2. 如果用户只需要转换 HTML 而不需要上传,应使用 --convert-only 模式
  3. 所有脚本的工作目录应在 {baseDir}/scripts/ 下执行,以确保模块导入正确
  4. 转换生成的 HTML 使用内联样式,不依赖外部 CSS 文件,确保微信兼容性

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Sendflare

通过 Sendflare SDK 发送带附件的电子邮件,管理联系人列表,支持 CC/BCC 和安全 API 认证。

Registry SourceRecently Updated
General

Playtomic - Book courts using padel-tui

This skill should be used when the user asks to "book a padel court", "find available padel courts", "search padel courts near me", "reserve a Playtomic cour...

Registry SourceRecently Updated
General

Fund Keeper

国内场外基金智能顾问 + 股票行情查询。实时估值、买卖建议、收益统计、定投计划、OCR 识图、股票 - 基金联动。支持离线模式、多数据源缓存。

Registry SourceRecently Updated