将 Markdown 发布为 Ghost 博客,再一键同步到微信公众号草稿箱。 图片上传、代码块保护、样式白名单过滤 — 全自动完成。
将 Markdown 文件转换为 Ghost 原生 Lexical 格式,发布后在编辑器中可二次编辑,支持标题、代码块、表格、列表等丰富内容。
文章中的图片自动上传至微信永久素材库,替换为 CDN 地址,无需手动处理。
标签、属性、样式三层白名单机制,确保生成的 HTML 安全合规,通过微信公众号的内容审核。
代码块使用占位符机制保护,避免被 HTML 清理器破坏,保留语言标记和原始格式。
智能处理微信不支持的 HTML:表格转 div 布局,列表转前缀段落,链接转 text[url] 格式。
publish --wechat 一条命令完成 Markdown → Ghost → 微信的完整发布,无需任何手动步骤。
# 从 PyPI 安装(推荐) pip install ghostwriter-cli # 或从源码安装 git clone https://github.com/yinguobing/ghostwriter.git cd ghostwriter pip install -e ".[dev]"
支持环境变量(CI/Docker 首选)或配置文件两种方式:
# 方式 1:环境变量(CI/Docker 首选) export GHOSTWRITER_GHOST_API_URL="https://your-ghost-blog.com" export GHOSTWRITER_GHOST_ADMIN_KEY_ID="your_key_id" export GHOSTWRITER_GHOST_ADMIN_KEY="your_hex_secret" export GHOSTWRITER_WECHAT_APPID="your_wechat_appid" export GHOSTWRITER_WECHAT_SECRET="your_wechat_secret" # 方式 2:CLI 交互式配置 ghostwriter config set ghost.api_url https://your-ghost-blog.com ghostwriter config set ghost.admin_key_id your_key_id ghostwriter config set ghost.admin_key your_hex_secret ghostwriter config set wechat.appid your_wechat_appid ghostwriter config set wechat.secret your_wechat_secret # 查看当前配置(密钥已脱敏) ghostwriter config
# 列出 Ghost 文章 ghostwriter list # 发布 Markdown 到 Ghost ghostwriter publish article.md # 同步到微信草稿 ghostwriter sync <article-id> # 预览 HTML(不创建草稿) ghostwriter sync --preview <article-id> # 一键发布 + 同步 ghostwriter publish article.md --wechat
从 Ghost API 获取 HTML 后,文章经过多层处理再推送到微信草稿箱:
让 Ghost 博客和微信公众号之间的内容同步变得简单优雅
GitHub → 查看文档