根据 CommonMark 规范:
段落
换行符是指换行(U+000A),或后不跟换行的回车(U+000D),或回车后跟换行。
或者 GitHub Flavored Markdown 规范:
段落
无法被解析为其他类型块的非空行序列构成一个段落。段落的内容是将其原始内容按行内元素解析后的结果。段落的原始内容由连接这些行并移除首尾空白字符形成。
因此,
Foo
bar
应渲染为
Foo bar
但实际渲染结果却是
Foo
bar
请参阅 CommonMark 示例 或 GitHub 示例。
这是一个 bug,还是对规范的有意偏离?
使用场景
这种段落处理方式在部分用户通过电子邮件回复时尤为令人困扰,因为许多电子邮件客户端(如 Thunderbird)会在每若干字符后自动插入换行符。不过从设计角度来看,电子邮件用户本就不应为此操心,也无需更改其邮件设置。
示例如下:
我能想到的另一种会出现此情况的情形是:新用户刚开始使用 Discourse 时,有时会手动以这种方式创建段落。


