告别排版地狱:我做了一个 Markdown 转微信公众号工具

作者:OHCJ099 · 协议:MIT · GitHub · npm

写微信公众号文章最痛苦的是什么?

不是写内容,是排版

每次写完文章,复制到微信编辑器里,格式全乱。代码块变成纯文本,表格消失,引用块样式错位。然后你得花半小时在编辑器里重新调格式。

作为一名程序员,我决定用代码解决这个问题。

md2wechat:一行命令搞定排版

npx @ohcj099/md2wechat article.md

就这么简单。它会:

  1. 读取你的 Markdown 文件
  2. 转换成微信兼容的 HTML(全部内联样式,不依赖任何外部 CSS)
  3. 自动复制到剪贴板
  4. 直接粘贴到微信编辑器里

支持的特性

为什么不用现有的?

市面上有几款类似工具,但都有问题:

工具问题
mdnice需要打开网页,复制粘贴两步操作
微信 Markdown 编辑器样式在微信里经常错位
手动排版浪费生命

md2wechat 的优势

  1. 零依赖 — 不需要安装任何第三方包,纯 Node.js 实现
  2. 命令行操作 — 写完文章一条命令搞定,不用切窗口
  3. 自动复制 — 转换完直接在剪贴板里,Ctrl+V 就完事
  4. 完全内联样式 — 微信编辑器不会吞掉任何样式

快速上手

# 安装
npm install -g @ohcj099/md2wechat

# 使用
md2wechat article.md

# 暗色主题
md2wechat article.md --theme dark

# 输出到文件
md2wechat article.md -o output.html

# 从管道读取
cat article.md | md2wechat

技术实现

整个工具只有一个 TypeScript 文件,约 600 行代码,核心思路:

  1. Markdown 解析器 — 用正则实现,不依赖任何 Markdown 库
  2. HTML 生成器 — 每个元素都用内联 style,确保微信兼容
  3. 语法高亮 — 简单的关键字着色,覆盖主流语言
  4. 剪贴板操作 — Windows 用 clip,macOS 用 pbcopy,Linux 用 xclip

用 esbuild 打包后,最终的 cli.js 只有 25KB,一个文件搞定。

为什么做这个工具?

我经常在公众号写技术文章,每次排版都要花 20-30 分钟。用 Markdown 写完后,转换到微信格式一直是个痛点。

之前用过 mdnice,但每次都要打开网页、粘贴、复制,步骤太多。我想要的是:写完 → 一条命令 → 粘贴发布

所以就自己写了一个。

立即体验

一行命令,告别排版烦恼

GitHub npm 项目首页