Create two blank lines in Markdown

Viewed 296508

I am adding Markdown support to my CMS editor.

When writing Markdown content, how do I create two empty lines?

I have been trying, but I always get only one line.

17 Answers

I only know the options below. It would be great to take a list of all of them and comment them differences

# 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

Basically, if the library you are using is CommonMark-compliant, you can add multiple hard line breaks (<br />) easily. Here's a quotation from CommonMark's latest specifications (0.28):

A line break (not in a code span or HTML tag) that is preceded by two or more spaces and does not occur at the end of a block is parsed as a hard line break (rendered in HTML as a
tag)

and then...

For a more visible alternative, a backslash before the line ending may be used instead of two spaces

The specification is quite clear. However, the library I have been using MarkDig, doesn't quite work with the two spaces technique (must be a bug), but it works flawlessly with a backlash.

That said, this input...

Line one\
\
\
\
Line two

will produce four hard line breaks after "Line one". You can see it here (using backlash)...

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

Notice how all CommonMark-compliant implementations will get it right.

Backtick quotes with a space inside and two spaces to follow. Repeat as needed for more lines:

text1 text1
`(space)`(space)(space)
`(space)`(space)(space)
text2 text2

It looks decent in Markdown source:

text1 text1
` `  
` `  
text2 text2

You can use <br/><br/> or &nbsp;&nbsp; or \ \.

You can do it perfectly using this:

texttextexttexttext
&nbsp;
&nbsp;
texttexttexttexttext

In GitHub Wiki markdown I used hash marks (#) followed by two spaces to make the line break larger. It doesn't actually give you multiple line breaks but it made one large line break and served me well for my needs.

Instead of:

text
(space)(space)
more text

I did:

text
(hash mark)(space)(space)
more text

If you are using a library like markdown-it or PythonMarkdown this can also be solved by replacing two line breaks (in Regex /\n\n$/gm) with a line break and an invisible character (\n ) before rendering. Note that the character after \n is an Alt+0160 or an invisible character.

For example, using markdown-it (although it work for any other lib too) with the input:

1

2


3


4



5

Rendered with md.render(string.data.replace(/\n\n$/gm, "\n ")) you will get:

enter image description here

I tried everything but this worked for me while using Pandoc markdown with TexLive as LaTex engine. In order to add blank lines, you can try adding a blank line but remove ""

## \newline

Just repeat the above, each will add a new blank line

I don't know if it works with other editors, but in VSCode a simple # followed immediately by a newline does the trick for my purposes and can be repeated infinitely. (Unlike the backtick quotes which have zero output there)

It is in fact an empty title line, though - so any document outline or auto-formatting might look funky.

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

new, three blank line. goodluck

&nbsp;

This HTML entity which means "non-breaking space" will help you for each line break

Related