为什么 Markdown 语法需要在 \n 之前有两个空格才能组成一个段落?

stk*_*flw 2 javascript markdown

我使用这个库在网络应用程序中创建 Markdown 文本编辑器。

所有格式都很直观,但换行符。我不明白,为什么我必须添加双倍空格然后\n创建换行符?是否有其他 markdown => html js 解析器不需要这个?

Chr*_*ris 6

它不需要在换行符之前有两个空格来创建段落。Markdown 中的段落由两个连续的换行符定义(即段落之间必须有一个空行)。“两个空格”语法用于换行符,即<br>标签。

\n

换行符的两个空格规则的原因在文档中显示中显示(粗体是我的):

\n
\n

段落只是由一个或多个空行分隔的一行或多行连续文本。(空行是任何看起来像空行 \xe2\x80\x94 的行,除了空格或制表符之外什么都不包含的行被视为空白。)普通段落不应使用空格或制表符缩进。

\n

“一行或多行连续文本”规则的含义是 Markdown 支持“硬包装”文本段落。这与大多数其他文本到 HTML 格式化程序(包括 Movable Type\xe2\x80\x99s“转换换行符”选项)显着不同,后者将段落中的每个换行符转换为<br />

\n

当你确实想插入一个<br />使用 Markdown 插入中断标记时,可以用两个或多个空格结束一行,然后输入 return。

\n

是的,这需要更多的努力来创建一个<br />,但是简单化的“每个换行符都是一个<br />”规则对于 Markdown 来说是行不通的。Markdown\xe2\x80\x99s 电子邮件样式的块引用和多段落列表项效果最佳 \xe2\x80\x94,并且在使用硬中断格式化它们时 \xe2\x80\x94 看起来更好。

\n
\n