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

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

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


当前回答

我只知道下面的选项。如果能把它们都列一个清单,并给出不同之处,那就太好了

# RAW
## Creates 2 Lines that CAN be selected as text
## -------------------------------------------------
### The non-breaking space ASCII character
 
 

### HTML <(br)/> tag
<br />
<br />

## Creates 2 Lines that CANNOT be selected as text
## -------------------------------------------------
### HTML Entity &NewLine;
&NewLine;
&NewLine;

### Backticks with a space inside followed by two spaces
`(space)`(space)(space)
`(space)`(space)(space)
#### sample:
` `  
` `

# End

其他回答

我测试了很多Markdown实现。不间断空格ASCII字符&nbsp;(后面跟着一个空行)将给出一个空行。重复这一对就可以了。到目前为止,我还没有挂过科。

例如:

 

 

你好

 

 

世界!

 

 

如果你正在使用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 "))将得到:

&nbsp;<br>
&nbsp;<br>
&nbsp;<br>

新建,三空行。古德勒克

基本上,如果你使用的库是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的实现都是正确的。

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

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