blob: 65b90fa946a6388be892fbd193e264d2b3aac83f [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org">
<title></title>
</head>
<body>
<h1>Markdown: Basics</h1>
<ul id="ProjectSubmenu">
<li><a href="/projects/markdown/" title=
"Markdown Project Page">Main</a></li>
<li><a class="selected" title="Markdown Basics">Basics</a></li>
<li><a href="/projects/markdown/syntax" title=
"Markdown Syntax Documentation">Syntax</a></li>
<li><a href="/projects/markdown/license" title=
"Pricing and License Information">License</a></li>
<li><a href="/projects/markdown/dingus" title=
"Online Markdown Web Form">Dingus</a></li>
</ul>
<h2>Getting the Gist of Markdown's Formatting Syntax</h2>
<p>This page offers a brief overview of what it's like to use
Markdown. The <a href="/projects/markdown/syntax" title=
"Markdown Syntax">syntax page</a> 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.</p>
<p>It's also helpful to simply try Markdown out; the <a href=
"/projects/markdown/dingus" title="Markdown Dingus">Dingus</a> is a
web application that allows you type your own Markdown-formatted
text and translate it to XHTML.</p>
<p><strong>Note:</strong> This document is itself written using
Markdown; you can <a href="/projects/markdown/basics.text">see the
source for it by adding '.text' to the URL</a>.</p>
<h2>Paragraphs, Headers, Blockquotes</h2>
<p>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 spaces or
tabs is considered blank.) Normal paragraphs should not be intended
with spaces or tabs.</p>
<p>Markdown offers two styles of headers: <em>Setext</em> and
<em>atx</em>. Setext-style headers for <code>&lt;h1&gt;</code> and
<code>&lt;h2&gt;</code> are created by "underlining" with equal
signs (<code>=</code>) and hyphens (<code>-</code>), respectively.
To create an atx-style header, you put 1-6 hash marks
(<code>#</code>) at the beginning of the line -- the number of
hashes equals the resulting HTML header level.</p>
<p>Blockquotes are indicated using email-style '<code>&gt;</code>'
angle brackets.</p>
<p>Markdown:</p>
<pre>
<code>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
&gt; This is a blockquote.
&gt;
&gt; This is the second paragraph in the blockquote.
&gt;
&gt; ## This is an H2 in a blockquote
</code>
</pre>
<p>Output:</p>
<pre>
<code>&lt;h1&gt;A First Level Header&lt;/h1&gt;
&lt;h2&gt;A Second Level Header&lt;/h2&gt;
&lt;p&gt;Now is the time for all good men to come to
the aid of their country. This is just a
regular paragraph.&lt;/p&gt;
&lt;p&gt;The quick brown fox jumped over the lazy
dog's back.&lt;/p&gt;
&lt;h3&gt;Header 3&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;This is a blockquote.&lt;/p&gt;
&lt;p&gt;This is the second paragraph in the blockquote.&lt;/p&gt;
&lt;h2&gt;This is an H2 in a blockquote&lt;/h2&gt;
&lt;/blockquote&gt;
</code>
</pre>
<h3>Phrase Emphasis</h3>
<p>Markdown uses asterisks and underscores to indicate spans of
emphasis.</p>
<p>Markdown:</p>
<pre>
<code>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__.
</code>
</pre>
<p>Output:</p>
<pre>
<code>&lt;p&gt;Some of these words &lt;em&gt;are emphasized&lt;/em&gt;.
Some of these words &lt;em&gt;are emphasized also&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Use two asterisks for &lt;strong&gt;strong emphasis&lt;/strong&gt;.
Or, if you prefer, &lt;strong&gt;use two underscores instead&lt;/strong&gt;.&lt;/p&gt;
</code>
</pre>
<h2>Lists</h2>
<p>Unordered (bulleted) lists use asterisks, pluses, and hyphens
(<code>*</code>, <code>+</code>, and <code>-</code>) as list
markers. These three markers are interchangable; this:</p>
<pre>
<code>* Candy.
* Gum.
* Booze.
</code>
</pre>
<p>this:</p>
<pre>
<code>+ Candy.
+ Gum.
+ Booze.
</code>
</pre>
<p>and this:</p>
<pre>
<code>- Candy.
- Gum.
- Booze.
</code>
</pre>
<p>all produce the same output:</p>
<pre>
<code>&lt;ul&gt;
&lt;li&gt;Candy.&lt;/li&gt;
&lt;li&gt;Gum.&lt;/li&gt;
&lt;li&gt;Booze.&lt;/li&gt;
&lt;/ul&gt;
</code>
</pre>
<p>Ordered (numbered) lists use regular numbers, followed by
periods, as list markers:</p>
<pre>
<code>1. Red
2. Green
3. Blue
</code>
</pre>
<p>Output:</p>
<pre>
<code>&lt;ol&gt;
&lt;li&gt;Red&lt;/li&gt;
&lt;li&gt;Green&lt;/li&gt;
&lt;li&gt;Blue&lt;/li&gt;
&lt;/ol&gt;
</code>
</pre>
<p>If you put blank lines between items, you'll get
<code>&lt;p&gt;</code> tags for the list item text. You can create
multi-paragraph list items by indenting the paragraphs by 4 spaces
or 1 tab:</p>
<pre>
<code>* A list item.
With multiple paragraphs.
* Another item in the list.
</code>
</pre>
<p>Output:</p>
<pre>
<code>&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A list item.&lt;/p&gt;
&lt;p&gt;With multiple paragraphs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Another item in the list.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
</code>
</pre>
<h3>Links</h3>
<p>Markdown supports two styles for creating links: <em>inline</em>
and <em>reference</em>. With both styles, you use square brackets
to delimit the text you want to turn into a link.</p>
<p>Inline-style links use parentheses immediately after the link
text. For example:</p>
<pre>
<code>This is an [example link](http://example.com/).
</code>
</pre>
<p>Output:</p>
<pre>
<code>&lt;p&gt;This is an &lt;a href="http://example.com/"&gt;
example link&lt;/a&gt;.&lt;/p&gt;
</code>
</pre>
<p>Optionally, you may include a title attribute in the
parentheses:</p>
<pre>
<code>This is an [example link](http://example.com/ "With a Title").
</code>
</pre>
<p>Output:</p>
<pre>
<code>&lt;p&gt;This is an &lt;a href="http://example.com/" title="With a Title"&gt;
example link&lt;/a&gt;.&lt;/p&gt;
</code>
</pre>
<p>Reference-style links allow you to refer to your links by names,
which you define elsewhere in your document:</p>
<pre>
<code>I get 10 times more traffic from [Google][1] than from
[Yahoo][2] or [MSN][3].
[1]: http://google.com/ "Google"
[2]: http://search.yahoo.com/ "Yahoo Search"
[3]: http://search.msn.com/ "MSN Search"
</code>
</pre>
<p>Output:</p>
<pre>
<code>&lt;p&gt;I get 10 times more traffic from &lt;a href="http://google.com/"
title="Google"&gt;Google&lt;/a&gt; than from &lt;a href="http://search.yahoo.com/"
title="Yahoo Search"&gt;Yahoo&lt;/a&gt; or &lt;a href="http://search.msn.com/"
title="MSN Search"&gt;MSN&lt;/a&gt;.&lt;/p&gt;
</code>
</pre>
<p>The title attribute is optional. Link names may contain letters,
numbers and spaces, but are <em>not</em> case sensitive:</p>
<pre>
<code>I start my morning with a cup of coffee and
[The New York Times][NY Times].
[ny times]: http://www.nytimes.com/
</code>
</pre>
<p>Output:</p>
<pre>
<code>&lt;p&gt;I start my morning with a cup of coffee and
&lt;a href="http://www.nytimes.com/"&gt;The New York Times&lt;/a&gt;.&lt;/p&gt;
</code>
</pre>
<h3>Images</h3>
<p>Image syntax is very much like link syntax.</p>
<p>Inline (titles are optional):</p>
<pre>
<code>![alt text](/path/to/img.jpg "Title")
</code>
</pre>
<p>Reference-style:</p>
<pre>
<code>![alt text][id]
[id]: /path/to/img.jpg "Title"
</code>
</pre>
<p>Both of the above examples produce the same output:</p>
<pre>
<code>&lt;img src="/path/to/img.jpg" alt="alt text" title="Title" /&gt;
</code>
</pre>
<h3>Code</h3>
<p>In a regular paragraph, you can create code span by wrapping
text in backtick quotes. Any ampersands (<code>&amp;</code>) and
angle brackets (<code>&lt;</code> or <code>&gt;</code>) will
automatically be translated into HTML entities. This makes it easy
to use Markdown to write about HTML example code:</p>
<pre>
<code>I strongly recommend against using any `&lt;blink&gt;` tags.
I wish SmartyPants used named entities like `&amp;mdash;`
instead of decimal-encoded entites like `&amp;#8212;`.
</code>
</pre>
<p>Output:</p>
<pre>
<code>&lt;p&gt;I strongly recommend against using any
&lt;code&gt;&amp;lt;blink&amp;gt;&lt;/code&gt; tags.&lt;/p&gt;
&lt;p&gt;I wish SmartyPants used named entities like
&lt;code&gt;&amp;amp;mdash;&lt;/code&gt; instead of decimal-encoded
entites like &lt;code&gt;&amp;amp;#8212;&lt;/code&gt;.&lt;/p&gt;
</code>
</pre>
<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,
<code>&amp;</code>, <code>&lt;</code>, and <code>&gt;</code>
characters will be escaped automatically.</p>
<p>Markdown:</p>
<pre>
<code>If you want your page to validate under XHTML 1.0 Strict,
you've got to put paragraph tags in your blockquotes:
&lt;blockquote&gt;
&lt;p&gt;For example.&lt;/p&gt;
&lt;/blockquote&gt;
</code>
</pre>
<p>Output:</p>
<pre>
<code>&lt;p&gt;If you want your page to validate under XHTML 1.0 Strict,
you've got to put paragraph tags in your blockquotes:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;For example.&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</code>
</pre>
</body>
</html>