关于 markdown-formatting
为文档作者和审阅者规定 Markdown 文本排版规范的 Skill。它关注行宽、标题与列表间距及链接格式,并排除代码、表格和 frontmatter。
主要功能
- 01正文行宽控制在 80 字符
- 02规定标题和列表的间距
- 03使用 ATX 风格标题
- 04长 URL 使用引用式链接
适用场景
- 01编写或编辑 Markdown 文档
- 02检查正文行宽
- 03由插件生成 Markdown
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill markdown-formatting安装后在 Claude Code 中输入/markdown-formatting确认已加载。
附带文件modules/wrapping-rules.md
详细介绍
Markdown 格式约定
适用场景
- 编写或编辑任何 Markdown 文档
- 检查正文是否符合换行规范
- 使用插件(scribe、sanctum 等)生成 Markdown
不适用场景
- 编辑代码块、表格或 frontmatter(这些内容有各自的格式规则)
- 不会提交的临时速记
这些约定适用于所有由插件生成或修改的 Markdown 文档。目标是让正文 生成整洁、易于审查的 git 差异,并且在移动设备上易于阅读。
快速参考
编写或编辑 Markdown 正文时:
- 每行最多 80 个字符,采用混合换行方式(优先在句子或分句边界换行, 而不是随意拆分单词)
- 每个标题前后都留空行
- 仅使用 ATX 标题(
# Heading,不要使用 setext 下划线) - 每个列表前都留空行
- 如果行内链接会让行长度超过 80 个字符,使用引用式链接
需要换行的内容
以下内容每行最多 80 个字符:
- 段落(连续的正文文本)
- 引用文本(
>后的内容) - 列表项描述(
-或1.后的文本) - 定义列表中的描述
不需要换行的内容
以下内容绝不能换行或重新排版:
- 表格:以竖线分隔的行保持为单行
- 代码块:围栏式(
```)或缩进内容 - 标题:以
#开头的行 - Frontmatter:
---或+++之间的 YAML/TOML - HTML 块:原始 HTML 元素
- 链接定义:
[id]: url引用行 - 图片引用:单独一行的
 - 单行列表项:适合放在一行内的简短项目符号
换行算法(摘要)
对于每个正文段落:
- 如果一句话不超过 80 个字符,就保持在一行
- 如果一句话超过 80 个字符,就在第 80 列前最近的
句子边界(
.!?)处换行 - 如果没有句子边界,就在第 80 列前最近的分句边界
(
,;:)处换行 - 如果没有分句边界,就在第 80 列前最近的连词
(
andbutor)前换行 - 如果以上位置都不存在,就在第 80 列前最后一个单词边界处换行
- 绝不要在反引号包围的文本、链接文本或 URL 中间换行
完整算法及示例请参阅 modules/wrapping-rules.md。
结构规则
标题前后的空行
WRONG:
Some text.
## Heading
More text.
RIGHT:
Some text.
## Heading
More text.
例外:文件的第一行可以是标题,前面无需空行。
仅使用 ATX 标题
WRONG:
Heading
=======
WRONG:
Subheading
----------
RIGHT:
# Heading
RIGHT:
## Subheading
列表前的空行
WRONG:
Some introductory text:
- Item one
- Item two
RIGHT:
Some introductory text:
- Item one
- Item two
长 URL 使用引用式链接
如果行内链接会让行长度超过 80 个字符,请使用引用式语法:
WRONG (line too long):
See the [formatting guide](https://google.github.io/styleguide/docguide/style.html) for details.
RIGHT:
See the [formatting guide][fmt-guide] for details.
[fmt-guide]: https://google.github.io/styleguide/docguide/style.html
将链接定义放在当前章节末尾或文档末尾。同一个 URL 多次出现时, 使用单个共享的引用定义。
不会让行长度超过 80 个字符的短行内链接可以保留:
OK:
See [the guide](https://example.com) for details.
完成标准
- 编辑文件中的所有正文行均不超过 80 个字符;通过运行
awk 'length>80' <file>验证,正文块中不返回任何匹配项 (不包括表格、代码、标题和 frontmatter) - 每个标题前后都有空行(文件第一行除外);不存在 setext 风格的 下划线标题
- 每个列表前都有空行
- 会让行长度超过 80 个字符的行内链接,均已转换为引用式语法, 并在章节末尾或文档末尾添加 URL 定义
评论
支持 Markdown