场景解决方案2026年6月27日

用 Markdown 写公众号,粘贴后为什么样式全丢?

公众号后台不解析 Markdown,直接粘源码会露出井号,粘预览又常丢样式。本文讲清根因是只认内联 CSS,以及源稿不变、发布前再转富文本的做法。

在 Obsidian 或 VS Code 里写得整整齐齐,一粘进公众号后台,要么满屏 #,要么标题和代码块的样式全没了。根因不是你不会排版,而是公众号只吃内联样式的富文本,不吃 Markdown。源稿继续用 .md,只在发布前转一次即可。

文章核心论点配图

公众号为什么不认 Markdown?

因为微信公众号后台是富文本编辑器,只接受带内联 style 的 HTML,而 Markdown 是要先渲染的纯文本标记。把 ## 标题 直接粘进去,编辑器当普通文字,# 原样显示。

更隐蔽的一种失败是:你在预览里复制的是「已经排好的样子」,粘过去仍然变素。公众号会去掉外部 CSS 和 class,只留写在标签上的 style。多数预览器把颜色和字号挂在 class 上,一过滤就只剩裸文字。所以「排版崩了」其实有两种:粘了源码,或粘了带 class 的渲染结果。

同一份稿还要发小红书、再存 PDF,属于一稿多发,见一份 Markdown 一稿多发;本文只解决公众号这一下。

正确做法是什么:源稿不变,最后一步再转?

稳定做法是把 .md 当唯一源稿,写作习惯不用改,只在点「发表」之前把内容变成公众号能留下的内联样式富文本。这样不必为公众号改编辑器,也不必每篇在后台从零点标题。

操作上:把 .md 粘进(或导入)Markdown 转公众号,右侧按公众号常见样式预览,再复制到后台。关键不是「看起来像公众号」,而是转换结果里的样式都写在 style 里,过滤之后标题、代码块、引用还能在。

Markdown 里的本地图片怎么带进公众号?

公众号后台读不到你电脑上的 ![封面](cover.png)。发布前必须让每张图变成后台认识的图片,而不是还指着本地路径。

常见做法是:转换时识别这些相对路径,按文件名把同目录或压缩包里的图匹配上去,再随富文本一起带进后台。整包导入「md + 图片」比一张张上传、一张张换链接省事。图还在别的网盘链接上时,先下载到稿件旁边再转,少依赖外链在预览里碰巧能显示。

代码块、表格能进,公式和流程图为什么不行?

代码块、表格、引用可以变成带内联样式的富文本,公众号吃得下。Mermaid 源码和 LaTeX 公式公众号不会渲染,粘进去就是字符;编辑器对自定义 SVG 也不友好。

内容 能否直接进公众号 做法
代码块、表格、引用 能 转成内联样式富文本
LaTeX 公式 不能 先导出 PNG 再插入
Mermaid 流程图 不能 先导出 PNG 再插入

公式从笔记里抽出来出图,见笔记里的公式发给别人怎么不变成代码。流程图同样:在能渲染 Mermaid 的地方导出 PNG,把图片写回 .md,再做公众号转换。不要指望后台「认」$...$ 或 ```mermaid。

已经发出去的公众号文章,怎么存回 Markdown?

文章已在公众号、你想归档或迁到博客时,方向相反:从页面复制 HTML,再转成干净的 .md(去掉 figure 包装、被 <br> 拆开的代码、冗余内联样式)。这是迁移手段,不是日常写作主路径;日常仍以 .md 为源、发布前再转公众号。

什么时候不必走这套转换?

几乎没有格式——纯叙述、无代码、无表、无图——直接在后台敲往往更快。这套做法的价值在有代码块、有结构、还要反复用同一份源稿的技术或知识文。格式越简单、只发一次,转换的收益越小。

小结

公众号丢样式,是因为它过滤 class、只留内联 style,和 Markdown 不是一套东西。源稿继续写 .md,发布前转成内联富文本再粘;本地图按文件名匹配;公式和流程图先出 PNG。一稿还要发到别的平台,走一稿多发那篇,不必和「粘贴丢样式」挤在同一篇。

常见问题

微信公众号后台是富文本编辑器,只认带内联样式的 HTML,不解析 Markdown。直接粘 .md 会原样显示 # 和 *。正确做法是先把 Markdown 渲染成内联样式富文本,再粘进后台。