Markdown 格式化工具
粘贴 Markdown 文档后,格式化工具会将其重写为一致的风格:修正标题层级跳跃(H4 之后不出现 H2)、填充表格列使其在源码中对齐、在区块之间强制保留一个空行、将列表标记统一为 -、合并连续空行,并将参考式链接定义排序到文档底部。渲染后的 HTML 不会改变,只有源文件变得更整洁,从而让差异(diff)一目了然。
格式化工具如何重写 Markdown
-
1
粘贴 Markdown
放入原始文档,README、文档页面或会议记录。
-
2
选择样式选项
列表标记(`-`/`*`)、标题样式(ATX/Setext)、表格对齐、换行列宽。
-
3
格式化
工具将文档解析为抽象语法树(AST),再按所选样式重新序列化。
-
4
对比输出
并排视图会在你粘贴回去之前显示改动了什么。
格式化工具修正的内容
- 列表标记。
*、-、+都会统一为一个一致的字符(默认-)。 - 标题层级。 当 H2 后面紧跟 H4 而中间没有 H3 时发出警告(或提升级别)。
- 空行。 区块之间恰好保留一个空行;不出现连续三行及以上。
- 表格。 填充每一列,使竖线(|)在源码中对齐,尽管 Markdown 渲染器并不在意这一点。
- 行尾空白。 删除每行行尾的空格,但保留有意为之的两个空格换行标记。
- 参考链接。 将
[label]: url定义收集到文档末尾,并按字母顺序排列。 - 代码围栏。 语言标签统一为小写;基于缩进的代码块会转换为围栏代码块。
你可以设置的样式选项
| 选项 | 默认值 | 备选 |
|---|---|---|
| 列表标记 | - |
*、+ |
| 标题样式 | ATX | H1/H2 使用 Setext |
| 强调分隔符 | * |
_ |
| 加粗分隔符 | ** |
__ |
| 换行列宽 | 0(关闭) | 80、100、120 |
| 排序参考链接 | 开启 | 关闭 |
为什么一致的 Markdown 很重要
在团队仓库中,不一致的 Markdown 会产生嘈杂的差异:每当有人用不同的编辑器保存文件时,列表标记就会互换,表格也会重新排布。格式化工具强制统一风格,让拉取请求的评审者只看到内容变更。可以把它看作面向散文的 prettier。
何时不应格式化
- 围栏代码块 会逐字节保持不变,格式化工具绝不会改动代码块的内容。如果格式化改变了代码,那就是一个错误。
- 窄宽度下有意的硬换行(终端项目中的 readme.md)在你启用换行列宽时会被重新换行。如果你要保留手动调整的换行,请关闭换行。
- 嵌入的 HTML 块 原样通过。
直接替代方案
如果你更喜欢本地 CLI,格式化工具使用与 remark-stringify 加 remark-gfm 插件相同的 AST 规则。prettier --parser markdown 也能产生类似的结果。
常见问题
不会。格式化工具只重写源码,格式化前后渲染出的 HTML 输出应当一致。如果你看到渲染结果发生变化,请作为错误上报。
不会。文件顶部的 YAML 或 TOML front-matter 会被识别并原样通过。
可以,将换行列宽设为 80、100 或 120,段落就会被重新换行。代码围栏内的行绝不会被改动。
不会。格式化工具假定你的链接可用;它只会重新整理参考链接定义。请另行使用链接检查工具。
不会。解析和格式化都在你的浏览器中运行;内容绝不会离开你的设备。
相关工具
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
键盘快捷键参考
搜索 macOS、Windows 和 Linux 上 VS Code、Chrome 以及使用 GNU Readline 的 Bash 的文档默认快捷键。
邮箱验证器
验证邮箱地址:RFC 5322 语法检查、实时 MX 记录查询,并显示本地部分、域名和长度详情。不会发送任何邮件。
编辑器配置生成器
根据你的缩进样式与大小、行尾、字符集和空格规则生成 .editorconfig 文件,让不同集成开发环境(IDE)和编辑器的格式保持一致。
证书解码器
粘贴一张 X.509 PEM 证书,并查看解码后的字段:主体、颁发者、序列号、签名算法、有效期及主体备用名称(SAN)。
此工具还提供其他语言版本
- Formatador de Markdown [PT]
- Trình định dạng Markdown [VI]
- Markdown フォーマッター [JA]
- Markdown 포맷터 [KO]
- Formateador de Markdown [ES]
- مُنسِّق ماركداون [AR]
- Markdown-formatter [NL]
- Markdown-formaterare [SV]
- ตัวจัดรูปแบบ Markdown [TH]
- Formateur Markdown [FR]
- Pemformat Markdown [ID]
- Markdown-Formatter [DE]
- Formater Markdown [PL]
- Formatter Markdown [IT]
- Форматтер Markdown [RU]
- Markdown Biçimlendirici [TR]
- Markdown Formatter [EN]