在线工具教程

Markdown 怎么排版到公众号?代码高亮与一键复制的正确姿势

技术作者最熟悉的写作环境是 Markdown,但公众号编辑器只认富文本。直接粘贴的后果是:标题变正文、代码失去高亮、列表缩进全丢。这篇讲怎么把这层转换做干净。

约 9 分钟读完

01为什么直接粘贴会乱

公众号编辑器接受的是 富文本 HTML,而 Markdown 是纯文本标记。两者之间缺少一层渲染。

更麻烦的是公众号会对粘贴进来的 HTML 做白名单过滤:它只保留它认识的行内样式,把 class、外部样式表、`<style>` 标签全部剥掉。所以「用 class 定义样式」的方案必然失效——样式必须写成行内样式才能活下来。

这就是为什么很多 Markdown 编辑器「复制为富文本」之后,粘到公众号里样式全没了——它们的输出依赖 class,而公众号只认行内 style 属性。

02完整流程

  1. 1把你的 Markdown 粘进左侧编辑区,或用「导入 .md」直接上传文件。
  2. 2在主题列表里选一套样式。技术类文章建议选偏文档、Geek 风格的主题:字号紧、行距适中、代码块对比度高。
  3. 3检查代码块是否已高亮。如果原文用的是三个反引号包裹并标注了语言(如 ```python),高亮会自动生效;没标语言的会退化成普通等宽字体。
  4. 4在右侧预览区确认排版,特别是表格、引用块、有序列表这几处最容易出问题的地方。
  5. 5点「复制」按钮,然后到公众号编辑器里 Ctrl+V / 长按粘贴。

不要点「复制纯文本」。公众号编辑器对纯文本不会做任何还原,粘进去就是一堆 ## 和星号。

03代码高亮的三个前提

另外,公众号对超长代码行的处理很差——它不会自动换行,会出现横向滚动条,在手机上体验极差。建议把超过 60 个字符的代码行手动折行,或者只贴关键片段。

  • 代码块要用三反引号包裹,而不是缩进四个空格。缩进式代码块在很多转换器里识别不稳定。
  • 标注语言名:` ```js `、` ```python `、` ```bash `。不标语言时高亮器无法判断语法。
  • 代码里不要用中文标点:很多高亮器遇到全角引号会解析异常,导致后续整段着色错乱。

04表格与图片的处理差异

元素公众号支持情况建议做法
Markdown 表格转换为富文本表格后支持,但样式固定列数控制在 4 列以内,手机上才看得清
本地图片不支持外链图片自动上传先手动上传到公众号素材库,再替换
外链图片会被过滤或显示防盗链占位图必须先转存到公众号素材库
emoji支持可以正常使用
数学公式不支持转成图片后插入

图片是最容易被忽略的一步。转换工具无法把图片自动传进公众号素材库,所以你粘贴之后必须逐张替换图片,否则读者看到的是空白或防盗链提示。

05主题怎么选

  • 技术教程:选文档风或 Geek 风。代码块背景要深,行内代码要有明显底色,否则读者分不清「代码」和「普通文字」。
  • 产品 / 商务内容:选极简或商务风。避免花哨的装饰元素,公众号读者对过度排版有天然的广告警觉。
  • 生活 / 情感内容:可以选偏暖色、字距稍大的主题,阅读节奏更舒缓。
  • 长文:统一用一套主题。中途换主题会让读者感觉在看两篇不同的文章。

06发布前的自查清单

  1. 1手机上打开预览,检查代码块是否需要横向滚动。
  2. 2确认所有图片都真实显示(不是占位图或空白框)。
  3. 3检查有序列表的序号是否连续——转换过程中序号错位是常见问题。
  4. 4确认没有残留的 Markdown 标记(比如没被解析的 `**` 或 `##`)。
  5. 5确认引用的外部链接在公众号里可点击(公众号只允许部分域名做外链)。

常见问题

为什么复制到公众号后样式全丢了?+

公众号编辑器会过滤粘贴内容的 class 和外部样式表,只保留行内样式。所以要选输出行内样式的转换工具,而不是靠 class 定义样式的编辑器。

代码块在公众号里不换行怎么办?+

公众号不会对超长代码行自动折行。建议在原文里就手动折行,把每行控制在 60 个字符以内,或者只贴关键代码片段。

图片为什么粘贴后不显示?+

转换工具无法把图片自动上传到公众号素材库。需要先在公众号后台把图片上传到素材库,再在编辑器里逐张替换。

支持数学公式吗?+

公众号编辑器本身不支持 LaTeX 公式。通用做法是先把公式渲染成图片,再作为图片插入。

和 135 编辑器、秀米比有什么优势?+

这两类是可视化排版工具,适合从零开始排版;本工具面向「已经用 Markdown 写好」的作者,省掉重新排版这一步。已经有 Markdown 源文件时效率明显更高。

继续阅读