Getting the Gist of Markdown's Formatting Syntax
This page offers a brief overview of what it's like to use Markdown. The [syntax page] s provides complete, detailed documentation for every feature, but Markdown should be very easy to pick up simply by looking at a few examples of it in action. The examples on this page are written in a before/after style, showing example syntax and the HTML output produced by Markdown.
It's also helpful to simply try Markdown out; the [Dingus] d is a web application that allows you type your own Markdown-formatted text and translate it to XHTML.
Note: This document is itself written using Markdown; you can [see the source for it by adding '.text' to the URL] src.
Paragraphs, Headers, Blockquotes
A paragraph is simply one or more consecutive lines of text, separated by one or more blank lines. (A blank line is any line that looks like a blank line -- a line containing nothing but spaces or tabs is considered blank.) Normal paragraphs should not be indented with spaces or tabs.
Markdown offers two styles of headers: Setext and atx.
Setext-style headers for
<h2> are created by
"underlining" with equal signs (
=) and hyphens (
To create an atx-style header, you put 1-6 hash marks (
#) at the
beginning of the line -- the number of hashes equals the resulting
HTML header level.
Blockquotes are indicated using email-style '
>' angle brackets.
A First Level Header ==================== A Second Level Header --------------------- Now is the time for all good men to come to the aid of their country. This is just a regular paragraph. The quick brown fox jumped over the lazy dog's back. ### Header 3 > This is a blockquote. > > This is the second paragraph in the blockquote. > > ## This is an H2 in a blockquote
<h1>A First Level Header</h1> <h2>A Second Level Header</h2> <p>Now is the time for all good men to come to the aid of their country. This is just a regular paragraph.</p> <p>The quick brown fox jumped over the lazy dog's back.</p> <h3>Header 3</h3> <blockquote> <p>This is a blockquote.</p> <p>This is the second paragraph in the blockquote.</p> <h2>This is an H2 in a blockquote</h2> </blockquote>
Markdown uses asterisks and underscores to indicate spans of emphasis.
Some of these words *are emphasized*. Some of these words _are emphasized also_. Use two asterisks for **strong emphasis**. Or, if you prefer, __use two underscores instead__.
<p>Some of these words <em>are emphasized</em>. Some of these words <em>are emphasized also</em>.</p> <p>Use two asterisks for <strong>strong emphasis</strong>. Or, if you prefer, <strong>use two underscores instead</strong>.</p>
Unordered (bulleted) lists use asterisks, pluses, and hyphens (
-) as list markers. These three markers are
* Candy. * Gum. * Booze.
+ Candy. + Gum. + Booze.
- Candy. - Gum. - Booze.
all produce the same output:
<ul> <li>Candy.</li> <li>Gum.</li> <li>Booze.</li> </ul>
Ordered (numbered) lists use regular numbers, followed by periods, as list markers:
1. Red 2. Green 3. Blue
<ol> <li>Red</li> <li>Green</li> <li>Blue</li> </ol>
If you put blank lines between items, you'll get
<p> tags for the
list item text. You can create multi-paragraph list items by indenting
the paragraphs by 4 spaces or 1 tab:
* A list item. With multiple paragraphs. * Another item in the list.
<ul> <li><p>A list item.</p> <p>With multiple paragraphs.</p></li> <li><p>Another item in the list.</p></li> </ul>
Markdown supports two styles for creating links: inline and reference. With both styles, you use square brackets to delimit the text you want to turn into a link.
Inline-style links use parentheses immediately after the link text. For example:
This is an [example link](http://example.com/).
<p>This is an <a href="http://example.com/"> example link</a>.</p>
Optionally, you may include a title attribute in the parentheses:
This is an [example link](http://example.com/ "With a Title").
<p>This is an <a href="http://example.com/" title="With a Title"> example link</a>.</p>
Reference-style links allow you to refer to your links by names, which you define elsewhere in your document:
I get 10 times more traffic from [Google] than from [Yahoo] or [MSN]. : http://google.com/ "Google" : http://search.yahoo.com/ "Yahoo Search" : http://search.msn.com/ "MSN Search"
<p>I get 10 times more traffic from <a href="http://google.com/" title="Google">Google</a> than from <a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>
The title attribute is optional. Link names may contain letters, numbers and spaces, but are not case sensitive:
I start my morning with a cup of coffee and [The New York Times][NY Times]. [ny times]: http://www.nytimes.com/
<p>I start my morning with a cup of coffee and <a href="http://www.nytimes.com/">The New York Times</a>.</p>
Image syntax is very much like link syntax.
Inline (titles are optional):
![alt text](/path/to/img.jpg "Title")
![alt text][id] [id]: /path/to/img.jpg "Title"
Both of the above examples produce the same output:
<img src="/path/to/img.jpg" alt="alt text" title="Title" />
In a regular paragraph, you can create code span by wrapping text in
backtick quotes. Any ampersands (
&) and angle brackets (
>) will automatically be translated into HTML entities. This makes
it easy to use Markdown to write about HTML example code:
I strongly recommend against using any `<blink>` tags. I wish SmartyPants used named entities like `—` instead of decimal-encoded entites like `—`.
<p>I strongly recommend against using any <code><blink></code> tags.</p> <p>I wish SmartyPants used named entities like <code>&mdash;</code> instead of decimal-encoded entites like <code>&#8212;</code>.</p>
To specify an entire block of pre-formatted code, indent every line of
the block by 4 spaces or 1 tab. Just like with code spans,
> characters will be escaped automatically.
If you want your page to validate under XHTML 1.0 Strict, you've got to put paragraph tags in your blockquotes: <blockquote> <p>For example.</p> </blockquote>
<p>If you want your page to validate under XHTML 1.0 Strict, you've got to put paragraph tags in your blockquotes:</p> <pre><code><blockquote> <p>For example.</p> </blockquote> </code></pre>