我正在添加Markdown支持我的CMS编辑器。

写Markdown内容时,我如何创建两个空行?

我一直在努力,但总是只有一条线。


当前回答

基本上,如果你使用的库是commonmark兼容的,你可以很容易地添加多个硬换行符(<br />)。下面是CommonMark最新规范(0.28)中的一段引文:

前面有两个或多个空格且不在块的末尾的换行符(不在代码span或HTML标记中)将被解析为硬换行符(在HTML中呈现为标记)。

然后……

对于更明显的替代方法,可以使用行结束前的反斜杠代替两个空格

说明书写得很清楚。然而,我一直在使用MarkDig的库,不太适用于两个空格技术(一定是一个bug),但它完美地工作与反弹。

也就是说,这种输入……

Line one\
\
\
\
Line two

将在“第一行”之后产生四个硬换行符。你可以在这里看到(使用反作用力)…

https://babelmark.github.io/?text=Line+one%5C%0A%5C%0A%5C%0A%5C%0ALine+two%0A

请注意,所有符合commonmark的实现都是正确的。

其他回答

如果你正在使用markdown-it或PythonMarkdown这样的库,这也可以通过在渲染前将两个换行符(在Regex /\n\n$/gm中)替换为一个换行符和一个不可见字符(\n)来解决。注意\n后面的字符是Alt+0160或不可见字符。

例如,使用markdown-it(尽管它也适用于任何其他库)作为输入:

1

2


3


4



5

使用md.render(string.data。替换(/\n\n$/gm, "\n "))将得到:

你可以用这个来完美地完成:

texttextexttexttext
&nbsp;
&nbsp;
texttexttexttexttext

如果Markdown编译器支持HTML,可以在Markdown源代码中添加<br/><br/>。

尝试添加多个空格(两个空格= 1 <br>):

mycode(space)(space)(space)(space)

您可以重复使用连续空格(U+00a0)和两个空格(U+0020×2)以及换行符(U+000a)的序列来实现这一点。根据您的用例,需要两次或两次以上。

使用(这里不是降价解释,而是)实际的空白字符(理论上是可复制粘贴的):

Preceding
   
   
   
Following.