我正在添加Markdown支持我的CMS编辑器。
写Markdown内容时,我如何创建两个空行?
我一直在努力,但总是只有一条线。
我正在添加Markdown支持我的CMS编辑器。
写Markdown内容时,我如何创建两个空行?
我一直在努力,但总是只有一条线。
当前回答
我测试了很多Markdown实现。不间断空格ASCII字符 (后面跟着一个空行)将给出一个空行。重复这一对就可以了。到目前为止,我还没有挂过科。
例如:
你好
世界!
其他回答
您可以重复使用连续空格(U+00a0)和两个空格(U+0020×2)以及换行符(U+000a)的序列来实现这一点。根据您的用例,需要两次或两次以上。
使用(这里不是降价解释,而是)实际的空白字符(理论上是可复制粘贴的):
Preceding Following.
如果你正在使用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 "))将得到:
我不知道它是否适用于其他编辑器,但在VSCode中,简单的#后跟换行符就可以达到我的目的,并且可以无限重复。(与无输出的反引号不同)
事实上,它是一个空的标题行,所以任何文档大纲或自动格式化都可能看起来很怪异。
基本上,如果你使用的库是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编译器支持HTML,可以在Markdown源代码中添加<br/><br/>。