跳过正文
被微信编辑器折磨疯了?我干脆自己造了个自动化发布工具

被微信编辑器折磨疯了?我干脆自己造了个自动化发布工具

·169 字·1 分钟· loading · loading ·
lixxix
作者
lixxix
关注科技,编程改变生活!

前言
#

作为一名技术博主,我一直在寻找高效的写作方式。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 ,

在使用工具之前,需要在微信公众平台进行以下配置:

  1. 登录微信公众平台后台 切换到公众号
  2. 进入「基础信息」可以查看AppID,和一些私人信息
  3. 获取AppSecret需要重置才能看到,所以请妥善保存
  4. 配置「服务器白名单」,添加运行工具的服务器 IP
  5. 获取 AppID 和 AppSecret

配置页面示意
#

微信公众平台配置页面
在微信公众平台配置服务器白名单
提示

首次配置建议使用测试号进行功能验证,熟悉后再切换到正式公众号。

使用方法
#

客户端网页展示

alt text

点击文章管理

alt text

选择文章并进入编辑

alt text

选择主题并进行预览

alt text

保存,上传草稿,或者更新草稿

alt text

上传成功提示
#

工具成功上传后,你可以在微信公众号草稿箱中看到转换后的文章:

  • 标题和作者信息完整保留
  • 代码块语法高亮正常显示
  • 图片自适应显示
  • 表格排版美观

结语
#

通过这个工具,我终于可以专注于内容创作,而不是在编辑器中浪费时间和精力。希望这个工具也能帮助到有同样困扰的你。

如果你对这个项目感兴趣,欢迎前往 GitHub 仓库 查看源码和文档。Issues 和 Pull Requests 都是 welcome 的!


相关链接:

  • GitHub 仓库:https://github.com/lixxix/wechat_upload
  • Markdown.com.cn 编辑器:https://markdown.com.cn/editor/
  • 微信公众号草稿箱 API 文档