Skip to content

Markdown reference

The fifteen original Markdown elements from John Gruber's Markdown are included (excluding the rules on backslash escapes):

along with the following additions:

Note
  • The HTML versions of the Markdown examples were produced with pandoc, except for the admonition and attribute list sections, which were produced with MkDocs, and a result in blocks of code, which was left as raw Markdown in order to produce syntax highlighting. For results with only one paragraph, HTML paragraph tags have been removed.
  • The HTML results of the Markdown examples are presented inside admonitions without an icon or title, and with admonitions this is accomplished with an extra nested <div> element. To avoid adding extraneous entries to the table of contents93, several heading admonitions contain specially-styled HTML instead of heading elements.

admonition

!!! attention

    An admonition interrupts the flow of a document to communicate something contextually significant. Admonitions can be grouped into categories, and are often accompanied by specific icons and colors.
<div class="admonition attention">
<p class="admonition-title">Attention</p>
<p>An admonition interrupts the flow of a document to communicate something contextually significant. Admonitions can be grouped into categories, and are often accompanied by specific icons and colors.</p>
</div>

Attention

An admonition interrupts the flow of a document to communicate something contextually significant. Admonitions can be grouped into categories, and are often accompanied by specific icons and colors.

An admonition does not have a direct HTML equivalent. Closest in meaning is the <aside> element.94 95 Admonitions are also supported by reStructuredText, and Wikipedia has them in the form of article message boxes.

Compatibility hack
| **Note:**
|:-
| Because most Markdown implementations do not support admonitions, they can be approximated with tables, although these can only contain inline elements.
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;"><strong>Note:</strong></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Because most Markdown implementations do not support admonitions, they can be approximated with tables, although these can only contain inline elements.</td>
</tr>
</tbody>
</table>

Note:
Because most Markdown implementations do not support admonitions, they can be approximated with tables, although these can only contain inline elements.

Alternatively, a line containing just four spaces can be added to the beginning of an admonition to make all the lines within the admonition render as an indented code block in Markdown implementations that do not support admonitions.

blockquote

> A blockquote is very handy in email to emulate reply text.
> This line is part of the same quote.

Quote break.

> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **Markdown** into a blockquote.
<blockquote>
<p>A blockquote is very handy in email to emulate reply text. This line is part of the same quote.</p>
</blockquote>
<p>Quote break.</p>
<blockquote>
<p>This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can <em>put</em> <strong>Markdown</strong> into a blockquote.</p>
</blockquote>

A blockquote is very handy in email to emulate reply text. This line is part of the same quote.

Quote break.

This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can put Markdown into a blockquote.

A blockquote is equivalent to the <blockquote> (block quotation) element in HTML.

break

hard line break

A hard line break is equivalent to the <br> (line break) element in HTML.

hard line break with two spaces

Note

Trailing spaces are shown with dots ().

Here's a line for us to start with.

This line is separated from the one above by two newlines, so it will be a *separate paragraph*.

This line is also a separate paragraph, but...⋅⋅
This line is separated by a single newline and two spaces, so it's a separate line in the *same paragraph*.
Here's a line for us to start with.

This line is separated from the one above by two newlines, so it will be a *separate paragraph*.

This line is also a separate paragraph, but...  
This line is separated by a single newline and two spaces, so it's a separate line in the *same paragraph*.
<p>Here's a line for us to start with.</p>
<p>This line is separated from the one above by two newlines, so it will be a <em>separate paragraph</em>.</p>
<p>This line is also a separate paragraph, but…<br />
This line is separated by a single newline and two spaces, so it's a separate line in the <em>same paragraph</em>.</p>

Here's a line for us to start with.

This line is separated from the one above by two newlines, so it will be a separate paragraph.

This line is also a separate paragraph, but…
This line is separated by a single newline and two spaces, so it's a separate line in the same paragraph.

hard line break with a backslash

Ending a line with a backslash is also possible.\
This is less pretty, but more visible.
Ending a line with a backslash is also possible.<br />
This is less pretty, but more visible.

Ending a line with a backslash is also possible.
This is less pretty, but more visible.

page break

A page break can be indicated in Markdown using inline HTML or LaTeX formatting.

thematic break

Three or more...

---

Hyphens

***

Asterisks

___

Underscores
<p>Three or more…</p>
<hr />
<p>Hyphens</p>
<hr />
<p>Asterisks</p>
<hr />
<p>Underscores</p>

Three or more…


Hyphens


Asterisks


Underscores

A thematic break is equivalent to the <hr> (horizontal rule) element in HTML.

code

Code blocks are part of the Markdown spec, but syntax highlighting isn't. However, many renderers -- like Github's and Markdown Here -- support syntax highlighting. Which languages are supported and how those language names should be written will vary from renderer to renderer.

block of code

A block of code is equivalent to the <pre> and <code> (preformatted code) elements in HTML.99

fenced block of code

Three back-ticks (```) or three tildes (~~~) can function as fences for producing one or more lines of code.

 ```javascript
 var s = "JavaScript syntax highlighting";
 alert(s);
 ```

 ```python
 s = "Python syntax highlighting"
 print s
 ```

 ```
 No language indicated, so no syntax highlighting. 
 But let's throw in a <b>tag</b>.
 ```
<div class="sourceCode" id="cb1"><pre class="sourceCode javascript"><code class="sourceCode javascript"><a class="sourceLine" id="cb1-1" data-line-number="1"><span class="kw">var</span> s <span class="op">=</span> <span class="st">&quot;JavaScript syntax highlighting&quot;</span><span class="op">;</span></a>
<a class="sourceLine" id="cb1-2" data-line-number="2"><span class="at">alert</span>(s)<span class="op">;</span></a></code></pre></div>
<div class="sourceCode" id="cb2"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb2-1" data-line-number="1">s <span class="op">=</span> <span class="st">&quot;Python syntax highlighting&quot;</span></a>
<a class="sourceLine" id="cb2-2" data-line-number="2"><span class="bu">print</span> s</a></code></pre></div>
<pre><code>No language indicated, so no syntax highlighting. 
But let&#39;s throw in a &lt;b&gt;tag&lt;/b&gt;.</code></pre>
var s = "JavaScript syntax highlighting";
alert(s);
s = "Python syntax highlighting"
print s
No language indicated, so no syntax highlighting. 
But let's throw in a <b>tag</b>.

Note

The raw Markdown is indented by a single space to allow nesting of a code block within a code block.

~~~
These fences are more squiggly, but they still work.
~~~
<pre><code>These fences are more squiggly, but they still work.</code></pre>

These fences are more squiggly, but they still work.

indented block of code

A four-space indent produces one or more lines of code.

    This formatting syntax works,
    but can be a pain to select as raw Markdown
    when spanning multiple lines of text.
<pre><code>This formatting syntax works,
but can be a pain to select as raw Markdown
when spanning multiple lines of text.</code></pre>

This formatting syntax works,
but can be a pain to select as raw Markdown
when spanning multiple lines of text.

inline code

Inline `code` has `back-ticks around` it.
Inline <code>code</code> has <code>back-ticks around</code> it.

Inline code has back-ticks around it.

Inline code is equivalent to the <code> (code) element in HTML.

code comment

A code comment can be included in Markdown using HTML formatting.

emphasis

Emphasis, aka italics, with *asterisks* or _underscores_.

Strong emphasis, aka bold, with **asterisks** or __underscores__.

Combined emphasis with **asterisks and _underscores_**.
<p>Emphasis, aka italics, with <em>asterisks</em> or <em>underscores</em>.</p>
<p>Strong emphasis, aka bold, with <strong>asterisks</strong> or <strong>underscores</strong>.</p>
<p>Combined emphasis with <strong>asterisks and <em>underscores</em></strong>.</p>

Emphasis, aka italics, with asterisks or underscores.

Strong emphasis, aka bold, with asterisks or underscores.

Combined emphasis with asterisks and underscores.

Emphasis is equivalent to the <em> (emphasis) element in HTML, and strong emphasis is equivalent to the <strong> (strong importance) element in HTML.

footnote

Attention

Unlike most other Markdown elements, a footnote does not have a direct HTML equivalent.96 This means that:

  1. Markdown offers a more standardized way of creating footnotes than HTML.
  2. HTML renderings of footnotes will differ significantly between different implementations of Markdown.

inline-style footnote

This style of footnote creates a self-contained footnote beside the text it references.

An inline-style footnote consists of a caret (`^`) outside a pair of square brackets.
It can be created on a single line^[It will be formatted like this.].
<p>An inline-style footnote consists of a caret (<code>^</code>) outside a pair of square brackets. It can be created on a single line<a href="#fn1" class="footnote-ref" id="fnref1"><sup>1</sup></a>.</p>
<section class="footnotes">
<hr />
<ol>
<li id="fn1"><p>It will be formatted like this.<a href="#fnref1" class="footnote-back">↩</a></p></li>
</ol>
</section>

An inline-style footnote consists of a caret (^) outside a pair of square brackets. It can be created on a single line1.


  1. It will be formatted like this.

reference-style footnote

This style of footnote resembles a reference-style link, but works differently. Instead of combining into a hyperlink, the reference becomes a numbered superscript and the link definition becomes a numbered footnote at the end of the page.

The reference identifier[^1] is an string that begins with a caret (`^`).
A number often follows the caret, but other characters are also allowed[^character-limitations].

[^1]: In Python-Markdown, identifiers are called *labels*.
[^character-limitations]:
    Not all characters are allowed within the identifier.
    Pandoc's Markdown does not allow spaces, tabs, or newlines in the identifier.
<p>The reference identifier<a href="#fn1" class="footnote-ref" id="fnref1"><sup>1</sup></a> is an string that begins with a caret (<code>^</code>). A number often follows the caret, but other characters are also allowed<a href="#fn2" class="footnote-ref" id="fnref2"><sup>2</sup></a>.</p>
<section class="footnotes">
<hr />
<ol>
<li id="fn1"><p>In Python-Markdown, identifiers are called <em>labels</em>.<a href="#fnref1" class="footnote-back">↩</a></p></li>
<li id="fn2"><p>Not all characters are allowed within the identifier. Pandoc's Markdown does not allow spaces, tabs, or newlines in the identifier.<a href="#fnref2" class="footnote-back">↩</a></p></li>
</ol>
</section>

The reference identifier1 is an string that begins with a caret (^). A number often follows the caret, but other characters are also allowed2.


  1. In Python-Markdown, identifiers are called labels.

  2. Not all characters are allowed within the identifier. Pandoc's Markdown does not allow spaces, tabs, or newlines in the identifier.

Attention

Python-Markdown expects an indentation of four spaces (or one tab) for footnotes with multiple blocks.97

heading

Headings can make a long document more readable by dividing it into sections, and the sections can be collected into a table of contents. Most Markdown implementations will assign each heading a unique identifier using the id attribute so that each section can be directly hyperlinked to with a fragment identifier.

ATX-style heading

The use of number signs (#) is inspired by the atx markup language created by Aaron Swartz.

# ATX level 1
## ATX level 2
### ATX level 3
#### ATX level 4
##### ATX level 5
###### ATX level 6
<h1 id="atx-level-1">ATX level 1</h1>
<h2 id="atx-level-2">ATX level 2</h2>
<h3 id="atx-level-3">ATX level 3</h3>
<h4 id="atx-level-4">ATX level 4</h4>
<h5 id="atx-level-5">ATX level 5</h5>
<h6 id="atx-level-6">ATX level 6</h6>

ATX level 1

ATX level 2

ATX level 3

ATX level 4

ATX level 5

ATX level 6

Setext-style heading

The use of equality signs (=) and dashes (-) is inspired by the Setext markup language by Ian Feldman.

Setext level 1
==============

Setext level 2
--------------
<h1 id="setext-level-1">Setext level 1</h1>
<h2 id="setext-level-2">Setext level 2</h2>

Setext level 1

Setext level 2

image

Here's our logo (hover to see the title text):

Inline-style: 
![alt text](../Mdwnref.png "Logo Title Text 1")

Reference-style: 
![alt text][logo]

[logo]: ../Mdwnref.png "Logo Title Text 2"
<p>Here's our logo (hover to see the title text):</p>
<p>Inline-style: <img src="../Mdwnref.png" title="Logo Title Text 1" alt="alt text" /></p>
<p>Reference-style: <img src="../Mdwnref.png" title="Logo Title Text 2" alt="alt text" /></p>

Here's our logo (hover to see the title text):

Inline-style: alt text

Reference-style: alt text

An image is equivalent to the <img> (image embed) element in HTML.

inline HTML

You can also use raw HTML in your Markdown, and it'll mostly work pretty well.

<figure>
<img src="../Mdwnref.png">
<figcaption>This colorful image could use a caption.<br>
Markdown in HTML does *not* work **very** well.
Use HTML <em>tags</em> <strong>instead</strong>.</figcaption>
</figure>

This colorful image could use a caption.
Markdown in HTML does not work very well. Use HTML tags instead.

A link is equivalent to the <a> (anchor) element in HTML.

A URL in angle brackets will automatically get turned into a link: <https://freedomdefined.org/Definition>.
A URL in angle brackets will automatically get turned into a link: <a href="https://freedomdefined.org/Definition" class="uri">https://freedomdefined.org/Definition</a>.

A URL in angle brackets will automatically get turned into a link: https://freedomdefined.org/Definition.

[I'm an inline-style link](https://freedomdefined.org/Definition), and
[I'm an inline-style link with a title](https://freedomdefined.org/Definition "Definition of Free Cultural Works").
<a href="https://freedomdefined.org/Definition">I'm an inline-style link</a>, and <a href="https://freedomdefined.org/Definition" title="Definition of Free Cultural Works">I'm an inline-style link with a title</a>.
[I'm a reference-style link][with a separate link definition], and
[I'm a reference-style link and definition all in one].

The link definition for a reference-style link is included separately, usually at the bottom of the document.

[with a separate link definition]: https://freedomdefined.org/Definition
[I'm a reference-style link and definition all in one]: https://freedomdefined.org/Definition
<p><a href="https://freedomdefined.org/Definition">I'm a reference-style link</a>, and <a href="https://freedomdefined.org/Definition">I'm a reference-style link and definition all in one</a>.</p>
<p>The link definition for a reference-style link is included separately, usually at the bottom of the document.</p>

I'm a reference-style link, and I'm a reference-style link and definition all in one.

The link definition for a reference-style link is included separately, usually at the bottom of the document.

list

attribute list

An attribute list allows HTML-style attributes to be added to Markdown elements with curly brackets ({}) and a CSS-like syntax. More specifically:

  • The number sign character (#) indicates an id or unique identifier. This can be used to create a hyperlink to a section of an HTML page using a fragment identifier.
  • The full stop character (.) indicates a class or identifier that can be applied to multiple elements. With a fenced code block, this can be used to identify what language the code block is written in, which can be used for syntax highlighting, for example:
     ```{.yaml}
     foo:
       - bar
       - baz
     ```
    

Note

The raw Markdown is indented by a single space to allow nesting of a code block within a code block.

*This emphasized text*{#foo} will have `foo` as its `id`.  
**This strongly emphasized text**{.bar} will have `bar` as its `class`.
<p><em id="foo">This emphasized text</em> will have <code>foo</code> as its <code>id</code>.<br />
<strong class="bar">This strongly emphasized text</strong> will have <code>bar</code> as its <code>class</code>.</p>

This emphasized text will have foo as its id.
This strongly emphasized text will have bar as its class.

Warning

Some Markdown implementations specify a colon : immediately following the first curly bracket, but may still work without it.

description list

A description list is made of terms and descriptions
: This is a description, paired with a term.

Each term and its description can represent an [attribute-value pair](https://en.wikipedia.org/wiki/Attribute–value_pair).

Here is an attribute.
: And here is a value.
: It starts with a colon.
: If a value spans multiple lines,
  readability is improved by adding indentation
  from the second line onward,
but it is not required.

: Values can be separated by blank lines,
and still have the same attribute.
<dl>
<dt>A description list is made of terms and descriptions</dt>
<dd>This is a description, paired with a term.
</dd>
</dl>
<p>Each term and its description can represent an <a href="https://en.wikipedia.org/wiki/Attribute–value_pair">attribute-value pair</a>.</p>
<dl>
<dt>Here is an attribute.</dt>
<dd>And here is a value.
</dd>
<dd>It starts with a colon.
</dd>
<dd>If a value spans multiple lines, readability is improved by adding indentation from the second line onward, but it is not required.
</dd>
<dd><p>Values can be separated by blank lines, and still have the same attribute.</p>
</dd>
</dl>

A description list is made of terms and descriptions
This is a description, paired with a term.

Each term and its description can represent an attribute-value pair.

Here is an attribute.
And here is a value.
It starts with a colon.
If a value spans multiple lines, readability is improved by adding indentation from the second line onward, but it is not required.

Values can be separated by blank lines, and still have the same attribute.

A description list is equivalent to the <dl>, <dt>, and <dd> (description list with one or more terms and descriptions) elements in HTML.

Attention

The HTML elements <dl>, <dt>, and <dd> that make up a description list are inconsistently named across different sources, possibly because they resemble abbreviations.

  • The <dl> element currently means description list100, but was referred to as a definition list in the HTML 4.01 specification.
  • The <dt> and <dd> elements mean term and description100, and make up term-description groups.
    • On Wikipedia, <dt> is referred to as a name or (previously) as a definition term, and <dd> is referred to as a value or (previously) as definition data.
    • On MDN, <dd> is referred to as The Description Details element.

ordered list

Note

Leading and trailing spaces are shown with dots ().

1. First ordered list item
2. Another item
⋅⋅⋅⋅* Unordered sub-list. 
1. Actual numbers don't matter, just that it's a number
⋅⋅⋅⋅1. Ordered sub-list
4. And another item.

⋅⋅⋅⋅You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces.
⋅⋅⋅⋅
⋅⋅⋅⋅To have a line break without a paragraph, you will need to use two trailing spaces.⋅⋅
⋅⋅⋅⋅Note that this line is separate, but within the same paragraph.
1. First ordered list item
2. Another item
    * Unordered sub-list. 
1. Actual numbers don't matter, just that it's a number
    1. Ordered sub-list
4. And another item.

    You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces.

    To have a line break without a paragraph, you will need to use two trailing spaces.  
    Note that this line is separate, but within the same paragraph.
<ol type="1">
<li>First ordered list item</li>
<li>Another item
<ul>
<li>Unordered sub-list.</li>
</ul></li>
<li>Actual numbers don't matter, just that it's a number
<ol type="1">
<li>Ordered sub-list</li>
</ol></li>
<li><p>And another item.</p>
<p>You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces.</p>
<p>To have a line break without a paragraph, you will need to use two trailing spaces.<br />
Note that this line is separate, but within the same paragraph.</p></li>
</ol>

  1. First ordered list item
  2. Another item
    • Unordered sub-list.
  3. Actual numbers don't matter, just that it's a number
    1. Ordered sub-list
  4. And another item.

    You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces.

    To have a line break without a paragraph, you will need to use two trailing spaces.
    Note that this line is separate, but within the same paragraph.

Attention

Python-Markdown expects an indentation of four spaces (or one tab) for nested block level elements, which includes lists and sub-lists.98

An ordered list is equivalent to the <ol> and <li> (ordered list with one or more list items) elements in HTML.

unordered list

* An unordered list can use asterisks
- Or minuses
+ Or pluses
<ul>
<li>An unordered list can use asterisks</li>
<li>Or minuses</li>
<li>Or pluses</li>
</ul>

  • An unordered list can use asterisks
  • Or minuses
  • Or pluses

An unordered list is equivalent to the <ul> and <li> (unordered list with one or more list items) elements in HTML.

strikethrough

A strikethrough uses two tildes. ~~Scratch this.~~
A strikethrough uses two tildes. <del>Scratch this.</del>

Strikethrough uses two tildes. Scratch this.

A strikethrough is equivalent to the <del> (deleted text) element in HTML.

table

Colons can be used to align columns.

| A table       | Is            | Cool  |
|---------------|:-------------:|------:|
| col 3 is      | right-aligned | $1600 |
| col 2 is      | centered      |   $12 |
| zebra stripes | are neat      |    $1 |
<table>
<thead>
<tr class="header">
<th>A table</th>
<th style="text-align: center;">Is</th>
<th style="text-align: right;">Cool</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>col 3 is</td>
<td style="text-align: center;">right-aligned</td>
<td style="text-align: right;">$1600</td>
</tr>
<tr class="even">
<td>col 2 is</td>
<td style="text-align: center;">centered</td>
<td style="text-align: right;">$12</td>
</tr>
<tr class="odd">
<td>zebra stripes</td>
<td style="text-align: center;">are neat</td>
<td style="text-align: right;">$1</td>
</tr>
</tbody>
</table>

A table Is Cool
col 3 is right-aligned $1600
col 2 is centered $12
zebra stripes are neat $1

The table will render correctly even if the raw Markdown does not line up prettily. The rightmost pipe (|) and any extra spaces can be omitted. Only one dash is required to separate each header cell. You can also use inline Markdown.

| Markdown | Less | Pretty
|-|-|-
| *Still* | `renders` | **nicely**
| 1 | 2 | 3
<table>
<thead>
<tr class="header">
<th>Markdown</th>
<th>Less</th>
<th>Pretty</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><em>Still</em></td>
<td><code>renders</code></td>
<td><strong>nicely</strong></td>
</tr>
<tr class="even">
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</tbody>
</table>

Markdown Less Pretty
Still renders nicely
1 2 3

A table is equivalent to the <table> (table) element in HTML, and possibly one or more of the following elements:

comparison of Markdown implementations

Beaker Browser Markdown GitHub Flavored Markdown GitLab Flavored Markdown John Gruber's Markdown Pandoc's Markdown PyMdown Python-Markdown Stack Overflow Markdown
admonition no no no no no no yes (with extension)72 no
blockquote yes yes2 yes21 yes36 yes48 yes yes yes80 81
break (hard line, with a backslash) yes yes1 no no yes (with an extension)47 no no no
break (hard line, with two spaces) yes yes1 yes20 yes35 yes47 yes68 yes yes79
break (thematic) yes yes19 yes33 yes46 yes67 yes yes yes92
code (fenced block) yes yes5 yes24 no yes (with extension)51 yes (with extension)69 yes (with extension)73 no
code (indented block) yes yes10 yes27 yes37 yes56 yes (with extension)69 yes yes86
code (inline) yes yes3 yes22 yes38 yes49 yes yes yes
emphasis yes yes4 yes23 yes39 yes50 yes yes yes82
footnote (inline-style) no no no no yes (with extension)52 partial (with extension)70 no74 no
footnote (reference-style) no no yes31 no yes (with extension)52 yes (with extension)69 yes (with extension)75 no
heading (ATX-style) yes yes6 yes25 yes40 yes53 yes yes no
heading (Setext-style) yes yes7 yes25 yes40 yes54 yes yes yes83
image yes yes11 yes28 yes42 yes57 yes yes yes87
inline HTML yes partial (some tags are filtered out)8 9 partial (whitelist only)26 yes41 yes (with extension)55 yes yes partial (whitelist only)84 85
link (automatic) yes yes13 14 no yes45 yes59 yes yes yes90
link (inline-style) yes yes15 yes29 yes43 yes60 yes yes yes88
link (reference-style) yes yes16 yes29 yes43 yes61 yes yes yes88
list (attribute list) no no no no partial (with extensions)62 no yes (with extension)76 no
list (description list) no no no no yes (with extension)58 yes (with extension)69 yes (with extension)77 no
list (ordered list) yes yes12 yes30 yes44 yes63 yes yes yes89
list (unordered list) yes yes12 yes30 yes44 yes64 yes yes yes89
strikethrough yes yes (with extension)17 yes32 no yes (with extension)65 yes (with extension)71 no no
table yes yes (with extension)18 yes34 no yes (with extension)66 yes (with extension)69 yes (with extension)78 no (by design)85 91

licensing

Some rights reserved: CC BY 3.0. Includes significant content from Markdown Cheatsheet on GitHub with changes made, including the following:

Attention

These are just the changes made prior to the first Git commit.

  • Changed attribute formatting.
  • Removed at least one reference to Markdown Here and Github-flavored Markdown.
  • Removed table of contents.
  • Removed secton on YouTube videos.
  • Substituted the original Markdown Here logo with the Definition of Free Cultural Works logo, which was released under a public domain dedication.
  • Tweaked the less pretty Markdown table.
Additional removals
  • "Markdown Toggle" is your friend.
  • (Technical note: Markdown Here uses GFM line breaks, so there's no need to use MD's two-space line breaks.)
  • (This is contrary to the typical GFM line break behaviour, where trailing spaces are not required.)
  • Markdown Here supports highlighting for dozens of languages (and not-really-languages, like diffs and HTTP headers); to see the complete list, and how to write the language names, see the highlight.js demo page.
  • I recommend only using the fenced code blocks -- they're easier and only they support syntax highlighting.
  • License: CC-BY
  • Referencing a bug by #bugID in your git commit links it to the slip. For example #1.
  • You'll soon learn to get what you want.
Additional substitutions
  • (In this example, leading and trailing spaces are shown with with dots: )Leading and trailing spaces are shown with dots ().
  • <Enter>Enter
  • My basic recommendation for learning how line breaks work is to experiment and discover -- hit Enter once (i.e., insert one newline), then hit it twice (i.e., insert two newlines), see what happens. You'll soon learn to get what you want.Try experimenting to learn how line breaks work -- hit Enter once (i.e., insert one newline), then hit it twice (i.e., insert two newlines), and see what happens. You'll soon learn to get what you want.
  • Notice the blank line above, and the leading spaces (at least one, but we'll use three here to also align the raw Markdown).Notice the blank line above, and the leading spaces.
  • There must be at least 1 dash separating each header cell. The rightmost pipe (|) is optional, and you don't need to make the raw Markdown line up prettily. You can also use inline Markdown.The table will render correctly even if the raw Markdown does not line up prettily. The rightmost pipe (|) and any extra spaces can be omitted, and only one dash is required to separate each header cell. You can also use inline Markdown.
  • There must be at least 3 dashes separating each header cell.There must be at least 1 dash separating each header cell.
  • They are an easy way of adding tables to your email -- a task that would otherwise require copy-pasting from another application.They are an easy way of adding tables -- a task that would otherwise require copy-pasting from another application.
  • The outer pipes (|) are optionalThe rightmost pipe (|) is optional
  • This line is only separated by a single newline, so it's a separate line in the same paragraph.This line is separated by a single newline and two spaces, so it's a separate line in the same paragraph.

prior work


  1. https://github.github.com/gfm/#hard-line-break 

  2. https://github.github.com/gfm/#block-quotes 

  3. https://github.github.com/gfm/#code-spans 

  4. https://github.github.com/gfm/#emphasis-and-strong-emphasis 

  5. https://github.github.com/gfm/#fenced-code-blocks 

  6. https://github.github.com/gfm/#atx-headings 

  7. https://github.github.com/gfm/#setext-headings 

  8. https://github.github.com/gfm/#raw-html 

  9. https://github.github.com/gfm/#disallowed-raw-html-extension- 

  10. https://github.github.com/gfm/#indented-code-blocks 

  11. https://github.github.com/gfm/#images 

  12. https://github.github.com/gfm/#lists 

  13. https://github.github.com/gfm/#autolink 

  14. https://github.github.com/gfm/#autolinks-extension- 

  15. https://github.github.com/gfm/#links 

  16. https://github.github.com/gfm/#link-reference-definitions 

  17. https://github.github.com/gfm/#strikethrough-extension- 

  18. https://github.github.com/gfm/#tables-extension- 

  19. https://github.github.com/gfm/#thematic-break 

  20. https://docs.gitlab.com/ee/user/markdown.html#newlines 

  21. https://docs.gitlab.com/ee/user/markdown.html#multiline-blockquote 

  22. https://docs.gitlab.com/ee/user/markdown.html#code-and-syntax-highlighting 

  23. https://docs.gitlab.com/ee/user/markdown.html#emphasis 

  24. https://docs.gitlab.com/ee/user/markdown.html#code-and-syntax-highlighting 

  25. https://docs.gitlab.com/ee/user/markdown.html#headers 

  26. https://docs.gitlab.com/ee/user/markdown.html#inline-html 

  27. https://docs.gitlab.com/ee/user/markdown.html#code-and-syntax-highlighting 

  28. https://docs.gitlab.com/ee/user/markdown.html#images 

  29. https://docs.gitlab.com/ee/user/markdown.html#links 

  30. https://docs.gitlab.com/ee/user/markdown.html#lists 

  31. https://docs.gitlab.com/ee/user/markdown.html#footnotes 

  32. https://docs.gitlab.com/ee/user/markdown.html#emphasis 

  33. https://docs.gitlab.com/ee/user/markdown.html#horizontal-rule 

  34. https://docs.gitlab.com/ee/user/markdown.html#tables 

  35. https://daringfireball.net/projects/markdown/syntax#p 

  36. https://daringfireball.net/projects/markdown/syntax#blockquote 

  37. https://daringfireball.net/projects/markdown/syntax#precode 

  38. https://daringfireball.net/projects/markdown/syntax#code 

  39. https://daringfireball.net/projects/markdown/syntax#em 

  40. https://daringfireball.net/projects/markdown/syntax#header 

  41. https://daringfireball.net/projects/markdown/syntax#html 

  42. https://daringfireball.net/projects/markdown/syntax#img 

  43. https://daringfireball.net/projects/markdown/syntax#list 

  44. https://daringfireball.net/projects/markdown/syntax#autolink 

  45. https://daringfireball.net/projects/markdown/syntax#hr 

  46. https://pandoc.org/MANUAL.html#paragraphs 

  47. https://pandoc.org/MANUAL.html#block-quotations 

  48. https://pandoc.org/MANUAL.html#verbatim 

  49. https://pandoc.org/MANUAL.html#emphasis 

  50. https://pandoc.org/MANUAL.html#fenced-code-blocks 

  51. https://pandoc.org/MANUAL.html#footnotes 

  52. https://pandoc.org/MANUAL.html#atx-style-headers 

  53. https://pandoc.org/MANUAL.html#setext-style-headers 

  54. https://pandoc.org/MANUAL.html#raw-html 

  55. https://pandoc.org/MANUAL.html#indented-code-blocks 

  56. https://pandoc.org/MANUAL.html#images 

  57. https://pandoc.org/MANUAL.html#definition-lists 

  58. https://pandoc.org/MANUAL.html#automatic-links 

  59. https://pandoc.org/MANUAL.html#inline-links 

  60. https://pandoc.org/MANUAL.html#reference-links 

  61. Attribute lists are supported only with bracketed spans, fenced divs, fenced code blocks, headings, images, inline code, links using extensions. 

  62. https://pandoc.org/MANUAL.html#ordered-lists 

  63. https://pandoc.org/MANUAL.html#bullet-lists 

  64. https://pandoc.org/MANUAL.html#strikeout 

  65. https://pandoc.org/MANUAL.html#tables 

  66. https://pandoc.org/MANUAL.html#horizontal-rules 

  67. https://facelessuser.github.io/PyMdown/user-guide/markdown-syntax/#p 

  68. https://facelessuser.github.io/pymdown-extensions/extensions/extra/ 

  69. Inline-style footnotes can be approximated using the Caret extension to create numbered superscripts and an ordered list. Links between the superscript and footnote will not be available. 

  70. https://facelessuser.github.io/pymdown-extensions/extensions/tilde/ 

  71. https://python-markdown.github.io/extensions/admonition/ 

  72. https://python-markdown.github.io/extensions/fenced_code_blocks/ 

  73. https://github.com/Python-Markdown/markdown/issues/658 

  74. https://python-markdown.github.io/extensions/footnotes/ 

  75. https://python-markdown.github.io/extensions/attr_list/ 

  76. https://python-markdown.github.io/extensions/definition_lists/ 

  77. https://python-markdown.github.io/extensions/tables/ 

  78. https://stackoverflow.com/editing-help#link-linebreaks 

  79. https://stackoverflow.com/editing-help#link-simple-blockquotes 

  80. https://stackoverflow.com/editing-help#link-advanced-blockquotes 

  81. https://stackoverflow.com/editing-help#link-italics-bold 

  82. https://stackoverflow.com/editing-help#link-headers 

  83. https://stackoverflow.com/editing-help#link-html 

  84. https://meta.stackexchange.com/questions/1777/what-html-tags-are-allowed-on-stack-exchange-sites/135909#135909 

  85. https://stackoverflow.com/editing-help#link-code 

  86. https://stackoverflow.com/editing-help#link-images 

  87. https://stackoverflow.com/editing-help#link-simple-lists 

  88. https://stackoverflow.com/editing-help#link-bare-urls 

  89. https://dba.meta.stackexchange.com/questions/934/please-can-we-have-markdown-tables-on-dba-se/966#966 

  90. https://stackoverflow.com/editing-help#link-horizontal-rules 

  91. https://github.com/squidfunk/mkdocs-material/issues/179#issuecomment-282027581 

  92. https://stackoverflow.com/questions/7579826/which-semantic-html-tag-for-displaying-side-notes-and-admonitions/7579894#7579894 

  93. https://stackoverflow.com/questions/7579826/which-semantic-html-tag-for-displaying-side-notes-and-admonitions/8297157#8297157 

  94. https://en.wikipedia.org/wiki/Note_(typography)#HTML 

  95. https://python-markdown.github.io/extensions/footnotes/#syntax 

  96. https://python-markdown.github.io/#differences 

  97. https://daringfireball.net/projects/markdown/syntax#precode 

  98. https://www.w3.org/TR/html5/grouping-content.html#the-dl-element