如何在markdown中插入换行符<br>

Posted

技术标签:

【中文标题】如何在markdown中插入换行符<br>【英文标题】:How to insert a line break <br> in markdown 【发布时间】:2014-12-24 21:58:33 【问题描述】:

我正在尝试创建一个 Markdown 文件,其中的一些段落在下一行包含一个链接和一行文本。我遇到的问题是,当我在链接后换行时,它会用单独的&lt;p&gt; 标签呈现。

我的 Markdown 如下:

[Name of link](url)

My line of text

呈现为以下 html

<p>
   <a href="url">Name of link</a>
</p>
<p>My line of text</p>

相反,我希望它像这样呈现:

<p>
    <a href="url">Name of link</a><br>  // not necessarily with a <br> tag but on a separate line
    My line of text
</p>

我也尝试在 Markdown 中使用单行换行符:

[Name of link](url)
My line of text

然后链接和文本都呈现在同一行,但没有换行符。

关于如何解决这个问题的任何建议?

【问题讨论】:

尝试在[Name of link](url)&lt;space&gt;&lt;space&gt;之后添加2个空格 spec.commonmark.org/0.30/#hard-line-breaks - 但您的 markdown 实现是否支持这一点,尚不清楚 【参考方案1】:

尝试在第一行之后添加 2 个空格(或反斜杠 \):

[Name of link](url)
My line of text\

视觉上:

[Name of link](url)<space><space>
My line of text\

输出:

<p><a href="url">Name of link</a><br>
My line of text<br></p>

或者,您可以将&lt;br&gt; 直接放入文本中。在 Markdown 中有效。

【讨论】:

我很高兴找到了这个答案。是否有包含此类信息的官方 Markdown 文档? 这很好,但有一个小问题 - 设置了一个编辑器来删除多余的空白;) @TimMalone FWIW,一些编辑器(至少是 UltraEdit)支持基于每个文件类型的设置,您可能可以禁用 .md 文件的修剪。 在行尾添加反斜杠也是如此。 这很酷,但在 Visual Studio 代码中,我无法通过扩展过滤修剪尾随空格。所以,我不能只为降价禁用修剪空白功能。不错,但我更喜欢使用&lt;br&gt; 标签。【参考方案2】:

我知道这篇文章是关于添加单个换行符的,但我想我会提到您可以使用反斜杠 (\) 字符创建多个换行符

Hello
\
\
\
World!

这将导致“Hello”之后出现 3 个新行。澄清一下,这意味着 “Hello”和“World!”之间有 2 个空行。它会显示如下:


你好

世界!


与使用 &lt;br&gt; 相比,我个人认为这种清洁器可以处理大量换行符。

请注意,反斜杠是not recommended for compatibility reasons。因此,您的 Markdown 解析器可能不支持此功能,但它很方便。

【讨论】:

这是我尝试过的唯一适用于 Strapi 的 RichText 组件的解决方案。【参考方案3】:

经过长时间的搜索,我找到了这个解决方案:

\
&nbsp;
\
&nbsp;

这将产生:

【讨论】:

这并不能真正回答 OP 的问题。 请在您的答案中添加一些解释,以便其他人可以从中学习【参考方案4】:

结合多个来源的答案,在Markdown中添加换行符主要有3种方式:

1。反斜杠 (\)

在行尾添加反斜杠,如下所示:

Markdown Input HTML Output HTML Preview
Test line\ Test line 2 
&lt;p&gt;Test line&lt;/p&gt;&lt;br&gt;&lt;p&gt;Test Line 2&lt;/p&gt;
Test lineTest line 2

2。 HTML&lt;br&gt;标签

markdown 直接支持很多 HTML 标签。在行尾添加 HTML &lt;br&gt; 或 ` 标记,如下所示:

Markdown Input HTML Output HTML Preview
Test line&lt;br&gt; Test line 2 
&lt;p&gt;Test line&lt;/p&gt;&lt;br&gt;&lt;p&gt;Test Line 2&lt;/p&gt;
Test lineTest line 2

3。 两个空格

在行尾添加 2 个空格,如下所示:

Markdown Input HTML Output HTML Preview
Test line  Test line 2 
&lt;p&gt;Test line&lt;/p&gt;&lt;br&gt;&lt;p&gt;Test Line 2&lt;/p&gt;
Test lineTest line 2

Option3.2 用于空格 - 如果您希望在编辑 Markdown 源时能够看到空格,请添加 \s 而不是空格(

注意:Option3.2 似乎无法正常工作,但这是documented in the markdown guide

Test line\s\s
Test line 2

【讨论】:

我更喜欢 Option1(反斜杠)和 Option2(HTML &lt;br&gt;),因为反斜杠和 &lt;br&gt; 字符在源格式中也清晰可见【参考方案5】:

如果您要将降价存储在 javascript 变量中,只需添加新行即可。像这样

let markdown = `
    1. Apple
    2. Mango
     this is juicy
    3. Orange
`

【讨论】:

这是有效的,因为您在每一行前面加上了四个空格,这会创建一个预格式化的部分。所以我想这是一种方法。

以上是关于如何在markdown中插入换行符<br>的主要内容,如果未能解决你的问题,请参考以下文章

在 Markdown 的标题 (<h1>) 中强制换行 (<br/>)

Markdown 中的多行项目符号列表

处理textarea的空格和换行

正则替换换行符和把 br 替换成换行符

Markdown模板

怎样在页面上使用markdown编辑器