前言#
作为一名技术博主,我一直在寻找高效的写作方式。Markdown 凭借其简洁的语法和强大的可移植性,早已成为技术文档和博客写作的事实标准。然而,当我尝试将文章发布到微信公众号时,却遇到了一个令人头疼的问题——微信公众号的编辑器实在太难用了。
不仅排版能力有限,默认样式也难以让人满意。每次在微信公众号编辑器中调整格式,都要花费大量时间。更糟糕的是,换一台电脑,所有的格式设置都要重新来过。
在我四处寻找解决方案时,我发现了微信公众号提供的草稿箱 API。这让我萌生了一个想法:既然微信公众号允许通过 API 上传草稿,为什么不自己开发一个工具来桥接 Markdown 和微信公众号呢?
于是,wechat_upload 项目诞生了。
为什么选择自建工具#
微信公众号编辑器的痛点#
- 排版能力弱:表格、代码高亮、公式等常见功能支持不完善
- 样式单一:默认样式缺乏美感,个性化设置有限
- 跨设备同步差:编辑体验在不同的设备和浏览器上不一致
- 效率低下:每次写文章都要在浏览器中切换上下文,打断写作思路
我的解决方案#
与其在微信公众号编辑器中挣扎,不如用自己最喜欢的工具(Typora、VS Code +插件、Obsidian 等)编写 Markdown,然后通过 API 直接同步到微信公众号草稿箱。用户只需要在微信公众平台点击「发布」即可。
技术实现#
项目架构#
项目采用 Go 语言开发,选择 Go 的原因很简单:
- 编译为单一可执行文件:部署极其方便,不需要安装运行时
- 静态类型系统:减少运行时错误,提高稳定性
- 优秀的 HTTP 客户端支持:便于与微信公众号 API 对接
- 跨平台编译:一次编写,Windows、Linux、macOS 都能运行
核心功能模块#
wechat_upload/
├── internal/
│ ├── api/ # API 处理层
│ ├── config/ # 配置管理
│ ├── wechat/ # 微信公众号 SDK 封装
│ └── markdown/ # Markdown 解析与转换
├── config.yaml # 配置文件
└── main.go # 程序入口Markdown 转 HTML 的样式设计#
在将 Markdown 转换为 HTML 时,我参考了 Markdown.com.cn 编辑器 的 CSS 样式。这个在线编辑器在技术社区中广受欢迎,它的样式设计简洁美观,特别适合代码类文章的展示。
在此向他致敬!
如何操作#
需要登录微信开发者平台上进行登录
微信公众平台配置#
微信公众号 登录后可以获取微信公众号的信息,比如AppID ,
在使用工具之前,需要在微信公众平台进行以下配置:
- 登录微信公众平台后台 切换到公众号
- 进入「基础信息」可以查看AppID,和一些私人信息
- 获取AppSecret需要重置才能看到,所以请妥善保存
- 配置「服务器白名单」,添加运行工具的服务器 IP
- 获取 AppID 和 AppSecret
配置页面示意#

首次配置建议使用测试号进行功能验证,熟悉后再切换到正式公众号。
使用方法#
客户端网页展示
点击文章管理
选择文章并进入编辑
选择主题并进行预览
保存,上传草稿,或者更新草稿
上传成功提示#
工具成功上传后,你可以在微信公众号草稿箱中看到转换后的文章:
- 标题和作者信息完整保留
- 代码块语法高亮正常显示
- 图片自适应显示
- 表格排版美观
结语#
通过这个工具,我终于可以专注于内容创作,而不是在编辑器中浪费时间和精力。希望这个工具也能帮助到有同样困扰的你。
如果你对这个项目感兴趣,欢迎前往 GitHub 仓库 查看源码和文档。Issues 和 Pull Requests 都是 welcome 的!
相关链接:
- GitHub 仓库:https://github.com/lixxix/wechat_upload
- Markdown.com.cn 编辑器:https://markdown.com.cn/editor/
- 微信公众号草稿箱 API 文档

