One or more blank lines. (A blank line is a line containing nothing but spaces or tabs is considered blank.)
Code:
This will be
inline.
This is second paragraph.
Preview:
This will be inline.
This is second paragraph.
Line Breaks
HTML Tag: <br />
End a line with two or more spaces.
Code:
This will be not
inline.
Preview:
This will be not inline.
Headers
Markdown supports two styles of headers, Setext and atx.
Setext
HTML Tags: <h1>, <h2>
“Underlined” using equal signs (=) as <h1> and dashes (-) as <h2> in any number.
Code:
This is an H1
=============
This is an H2
-------------
Preview:
This is an H1
This is an H2
atx
HTML Tags: <h1>, <h2>, <h3>, <h4>, <h5>, <h6>
Uses 1-6 hash characters (#) at the start of the line, corresponding to <h1> - <h6>.
Code:
# This is an H1
## This is an H2
###### This is an H6
Preview:
This is an H1
This is an H2
This is an H6
Optionally, you may “close” atx-style headers. The closing hashes don’t need to match the number of hashes used to open the header.
Code:
# This is an H1 #
## This is an H2 ##
### This is an H3 ######
Preview:
This is an H1
This is an H2
This is an H3
Blockquotes
HTML Tag: <blockquote>
Markdown uses email-style > characters for blockquoting. It looks best if you hard wrap the text and put a > before every line.
Code:
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
>
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
> id sem consectetuer libero luctus adipiscing.
Preview:
This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
Markdown allows you to be lazy and only put the > before the first line of a hard-wrapped paragraph.
Code:
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.
Preview:
This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by adding additional levels of >.
Code:
> This is the first level of quoting.
>
> > This is nested blockquote.
>
> Back to the first level.
Preview:
This is the first level of quoting.
This is nested blockquote.
Back to the first level.
Blockquotes can contain other Markdown elements, including headers, lists, and code blocks.
Following sections Fenced Code Blocks and Syntax Highlighting are extensions, you can use the other way to write the code block.
Fenced Code Blocks
Just wrap your code in ``` (as shown below) and you won’t need to indent it by four spaces.
Code:
Here's an example:
```
function test() {
console.log("notice the blank line before this function?");
}
```
Preview:
Here’s an example:
function test() {
console.log("notice the blank line before this function?");
}
Syntax Highlighting
In your fenced block, add an optional language identifier and we’ll run it through syntax highlighting (Support Languages).
Code:
```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```
Preview:
require'redcarpet'
markdown=Redcarpet.new("Hello World!")
puts markdown.to_html
Horizontal Rules
HTML Tag: <hr /> Places three or more hyphens (-), asterisks (*), or underscores (_) on a line by themselves. You may use spaces between the hyphens or asterisks.
Code:
* * *
***
*****
- - -
---------------------------------------
___
Preview:
Table
HTML Tag: <table>
It’s an extension.
Separates column by pipe (|) and header by dashes (-), and uses colon (:) for alignment.
The outer pipes (|) and alignment are optional. There are 3 delimiters each cell at least for separating header.
Code:
| Left | Center | Right |
|:-----|:------:|------:|
|aaa |bbb |ccc |
|ddd |eee |fff |
A | B
---|---
123|456
A |B
--|--
12|45
Preview:
Left
Center
Right
aaa
bbb
ccc
ddd
eee
fff
A
B
123
456
A
B
12
45
Span Elements
Links
HTML Tag: <a>
Markdown supports two style of links: inline and reference.
Inline
Inline link format like this: [Link Text](URL "Title")
Title is optional.
Code:
This is [an example](http://example.com/ "Title") inline link.
[This link](http://example.net/) has no title attribute.
Markdown treats asterisks (*) and underscores (_) as indicators of emphasis. One delimiter will be <em>; *double delimiters will be <strong>.
Code:
*single asterisks*
_single underscores_
**double asterisks**
__double underscores__
Preview:
single asterisks
single underscores
double asterisks
double underscores
But if you surround an * or _ with spaces, it’ll be treated as a literal asterisk or underscore.
You can backslash escape it:
Code:
\*this text is surrounded by literal asterisks\*
Preview:
*this text is surrounded by literal asterisks*
Code
HTML Tag: <code>
Wraps it with backtick quotes (`).
Code:
Use the `printf()` function.
Preview:
Use the printf() function.
To include a literal backtick character within a code span, you can use multiple backticks as the opening and closing delimiters:
Code:
``There is a literal backtick (`) here.``
Preview:
There is a literal backtick (`) here.
The backtick delimiters surrounding a code span may include spaces — one after the opening, one before the closing. This allows you to place literal backtick characters at the beginning or end of a code span:
Code:
A single backtick in a code span: `` ` ``
A backtick-delimited string in a code span: `` `foo` ``
Preview:
A single backtick in a code span: `
A backtick-delimited string in a code span: `foo`
Images
HTML Tag: <img />
Markdown uses an image syntax that is intended to resemble the syntax for links, allowing for two styles: inline and reference.
Inline
Inline image syntax looks like this: 
Title is optional.
Code:


Preview:
That is:
An exclamation mark: !;
followed by a set of square brackets, containing the alt attribute text for the image;
followed by a set of parentheses, containing the URL or path to the image, and an optional title attribute enclosed in double or single quotes.
Reference
Reference-style image syntax looks like this: ![Alt text][id]
Code:
[img id]: url/to/image "Optional title attribute"
![Alt text][img id]
Preview:
Strikethrough
HTML Tag: <del>
It’s an extension.
GFM adds syntax to strikethrough text.
Code:
~~Mistaken text.~~
Preview:
Mistaken text.
Miscellaneous
Automatic Links
Markdown supports a shortcut style for creating “automatic” links for URLs and email addresses: simply surround the URL or email address with angle brackets.
Markdown allows you to use backslash escapes to generate literal characters which would otherwise have special meaning in Markdown’s formatting syntax.
Code:
\*literal asterisks\*
Preview:
*literal asterisks*
Markdown provides backslash escapes for the following characters:
Code:
\ backslash
` backtick
* asterisk
_ underscore
{} curly braces
[] square brackets
() parentheses
# hash mark
+ plus sign
- minus sign (hyphen)
. dot
! exclamation mark
Inline HTML
For any markup that is not covered by Markdown’s syntax, you simply use HTML itself. There’s no need to preface it or delimit it to indicate that you’re switching from Markdown to HTML; you just use the tags.
Code:
This is a regular paragraph.
<table>
<tr>
<td>Foo</td>
</tr>
</table>
This is another regular paragraph.
Preview:
This is a regular paragraph.
Foo
This is another regular paragraph.
Note that Markdown formatting syntax is not processed within block-level HTML tags.
Unlike block-level HTML tags, Markdown syntax is processed within span-level tags.