md2wechat-lite
Manages md2wx CLI for converting Markdown to WeChat Official Account drafts. Use when working with WeChat article publishing, Markdown to HTML conversion, or WeChat media upload.
install
source · Clone the upstream repo
git clone https://github.com/geekjourneyx/md2wechat-lite
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/geekjourneyx/md2wechat-lite "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/md2wechat-lite" ~/.claude/skills/geekjourneyx-md2wechat-lite-md2wechat-lite && rm -rf "$T"
manifest:
skills/md2wechat-lite/SKILL.mdsource content
md2wx - Markdown to WeChat
CLI tool for converting Markdown to WeChat Official Account formatted drafts.
Quick start
Install:
curl -fsSL https://raw.githubusercontent.com/geekjourneyx/md2wechat-lite/main/cli/scripts/install.sh | sh
Configure credentials:
md2wx config set wechat-appid "wx123..." md2wx config set wechat-appsecret "your_secret" md2wx config set api-key "wme_your_key"
Commands
| Command | Purpose |
|---|---|
| Create article draft from Markdown |
| Create Xiaolvshu (image card) draft |
| Upload images to WeChat CDN |
| List available themes |
| Manage settings (set/get/list/path) |
Article draft
Convert Markdown to WeChat article:
md2wx article-draft --file article.md --theme bytedance --cover-image "https://cdn.example.com/cover.jpg"
Or pass inline Markdown:
md2wx article-draft --markdown "# Title\n\nContent" --theme elegant-red --cover-image "https://cdn.example.com/cover.jpg"
Note:
does not read from stdin pipe directly.article-draft- For API compatibility, always provide
with a public URL.--cover-image
Newspic draft
Create image-rich card drafts:
md2wx newspic-draft --title "标题" --content "内容" --images "https://cdn.example.com/img1.jpg,https://cdn.example.com/img2.png"
Batch upload
Upload images and get WeChat CDN URLs:
md2wx batch-upload --images "https://cdn.example.com/a.jpg,https://cdn.example.com/b.jpg"
Image input constraints:
- API accepts public image URLs only.
- Local file paths and glob patterns are not supported.
Themes
Built-in (6): default, bytedance, chinese, apple, sports, cyber
Template (32):
{minimal|focus|elegant|bold}-{gold|green|blue|orange|red|navy|gray|sky}
List/search themes:
md2wx themes list [--verbose] [--search query]
For theme descriptions: See
cli/pkg/themes/list.go
Configuration
Config file:
~/.md2wx/config.yaml (stored as key=value lines)
Priority: Command args > Environment vars > Config file > Defaults
Environment variables:
MD2WX_WECHAT_APPIDMD2WX_WECHAT_APPSECRETMD2WX_API_KEYMD2WX_API_BASE_URLMD2WX_DEFAULT_THEMEMD2WX_BACKGROUND_TYPEMD2WX_FONT_SIZE
Project structure
cli/ ├── main.go # Root command ├── article-draft.go # Article draft ├── newspic-draft.go # Xiaolvshu draft ├── batch-upload.go # Image upload ├── config.go # Config management ├── themes.go # Theme list command └── pkg/ ├── api/client.go # HTTP API client ├── config/ # Config file I/O ├── themes/ # Theme definitions └── output/ # JSON formatter
Output format
All commands output JSON:
{ "success": true, "data": { "media_id": "...", "url": "..." } }
Implementation details
- Zero dependencies (except cobra): Manual key=value config parsing
- Go 1.24+ required
- Single binary distribution
See source files for:
- API client:
cli/pkg/api/client.go - Config handling:
cli/pkg/config/config.go - Theme list:
cli/pkg/themes/list.go