为什么降价忽略单行中断?

Why markdown ignores single line break?

我知道单行换行的解决方法。我只想知道原因

当我输入这个时,

line1
line2

这个md文件的预览是

line1line2

为什么?单行中断看起来很糟糕还是什么?

因此 is intended to be as readable as possible 的 Markdown 源代码可以很好地格式化。

引用 the documentation:

Yes, this takes a tad more effort to create a <br />, but a simplistic "every line break is a <br />" rule wouldn’t work for Markdown. Markdown’s email-style blockquoting and multi-paragraph list items work best — and look better — when you format them with hard breaks.

请注意,如果您以两个或更多空格结束 line1,则可以强制换行 (<br>):

第 1 行
第 2 行

空白行实际上创建了一个新段落。

@Chris 的回答提供了文档中提到的原因。然而,要理解为什么做出这些决定,我们需要考虑当时的情况。自 Markdown 创建以来,文本编辑器发生了变化,变得更加复杂。例如,请注意 documentation (PDF) for BBEdit,这是 Markdown 的创建者最喜欢的文本编辑器(据我了解,他在创建 Markdown 之前实际上曾在该公司担任软件开发人员)。

在文档第 110 页的底部,我们找到了这条注释:

Users of very old versions of BBEdit or BBEdit Lite will note that the Wrap while Typing option (which hard-wrapped text automatically by inserting a Return when you reach the right margin) has been relegated to the dustbin of history. It has been superseded by soft wrapping.

在创建 Markdown 时,文本编辑器并没有提供软包装功能。相反,他们通过“自动”插入硬换行符来模拟软包装。不太成熟的编辑器实际上要求用户手动插入听到的换行符,并且根本不提供软包装。因此,如果 Markdown 保留那些硬换行符,就会导致与文档作者的意图不同的结果。

Markdown 从未更新以匹配文本编辑器当前的常见行为。事实上,一些用户仍然喜欢这种工作方式,并且仍然自定义他们的文本编辑器以这种方式工作。他们仍然可以享受与 Markdown 相同的行为。

顺便说一句,我建议通读 BBEdit 手册的 5 页左右,其中解释了所有文本换行选项。有很多不同的工作方式,我们永远不应该假设所有人都以与我们相同的方式工作。如果每个文本编辑器都提供如此丰富的文本换行功能就好了。