diff options
author | Artem Yunusov <nedrlab@gmail.com> | 2008-07-14 16:17:33 +0500 |
---|---|---|
committer | Artem Yunusov <nedrlab@gmail.com> | 2008-07-14 16:17:33 +0500 |
commit | a316ac49a6934221b24ec58a6a7dc4c3b30ae1e8 (patch) | |
tree | dfbbdef295252fe9fe07ed888ed0a3b79c83b8d3 /tests/markdown-test | |
parent | 54a6d381a1a92210f3e619f7b2910b38a0568f9c (diff) | |
download | markdown-a316ac49a6934221b24ec58a6a7dc4c3b30ae1e8.tar.gz markdown-a316ac49a6934221b24ec58a6a7dc4c3b30ae1e8.tar.bz2 markdown-a316ac49a6934221b24ec58a6a7dc4c3b30ae1e8.zip |
A lot of bug fixes. Handlig attributes added, new hr processing. Reformatted test suite for ElementTree output.
Diffstat (limited to 'tests/markdown-test')
19 files changed, 1176 insertions, 1297 deletions
diff --git a/tests/markdown-test/amps-and-angle-encoding.html b/tests/markdown-test/amps-and-angle-encoding.html index 18df2c3..9c565e5 100644 --- a/tests/markdown-test/amps-and-angle-encoding.html +++ b/tests/markdown-test/amps-and-angle-encoding.html @@ -1,21 +1,9 @@ - -<p>AT&T has an ampersand in their name. -</p> -<p>AT&T is another way to write it. -</p> -<p>This & that. -</p> -<p>4 < 5. -</p> -<p>6 > 5. -</p> -<p>Here's a <a href="http://example.com/?foo=1&bar=2">link</a> with an ampersand in the URL. -</p> -<p>Here's a link with an amersand in the link text: <a href="http://att.com/" title="AT&T">AT&T</a>. -</p> -<p>Here's an inline <a href="/script?foo=1&bar=2">link</a>. -</p> -<p>Here's an inline <a href="/script?foo=1&bar=2">link</a>. -</p> - - +<p>AT&T has an ampersand in their name.</p> +<p>AT&T is another way to write it.</p> +<p>This & that.</p> +<p>4 < 5.</p> +<p>6 > 5.</p> +<p>Here's a <a href="http://example.com/?foo=1&bar=2">link</a>with an ampersand in the URL.</p> +<p>Here's a link with an amersand in the link text: <a href="http://att.com/" title="AT&T">AT&T</a>.</p> +<p>Here's an inline <a href="/script?foo=1&bar=2">link</a>.</p> +<p>Here's an inline <a href="/script?foo=1&bar=2">link</a>.</p>
\ No newline at end of file diff --git a/tests/markdown-test/auto-links.html b/tests/markdown-test/auto-links.html index 976d22b..100db34 100644 --- a/tests/markdown-test/auto-links.html +++ b/tests/markdown-test/auto-links.html @@ -1,5 +1,4 @@ -<p>Link: <a href="http://example.com/">http://example.com/</a>. -</p> +<p>Link: <a href="http://example.com/">http://example.com/</a>.</p> <p>Https link: <a href="https://example.com">https://example.com</a> </p> <p>Ftp link: <a href="ftp://example.com">ftp://example.com</a> @@ -7,20 +6,19 @@ <p>With an ampersand: <a href="http://example.com/?foo=1&bar=2">http://example.com/?foo=1&bar=2</a> </p> <ul> - <li> - In a list? - </li> - - <li><a href="http://example.com/">http://example.com/</a> - </li> - - <li> - It should. - </li> +<li>In a list?</li> +<li> +<a href="http://example.com/">http://example.com/</a> +</li> +<li>It should.</li> </ul> -<blockquote><p>Blockquoted: <a href="http://example.com/">http://example.com/</a> +<blockquote> +<p>Blockquoted: <a href="http://example.com/">http://example.com/</a> </p> -</blockquote><p>Auto-links should not occur here: <code><http://example.com/></code> +</blockquote> +<p>Auto-links should not occur here: <code><http://example.com/></code> </p> -<pre><code>or here: <http://example.com/> -</code></pre> +<pre> +<code>or here: <http://example.com/> +</code> +</pre>
\ No newline at end of file diff --git a/tests/markdown-test/backlash-escapes.html b/tests/markdown-test/backlash-escapes.html index 77ecde7..f99082a 100644 --- a/tests/markdown-test/backlash-escapes.html +++ b/tests/markdown-test/backlash-escapes.html @@ -1,41 +1,23 @@ - -<p>These should all get escaped: -</p> -<p>Backslash: \ -</p> -<p>Backtick: ` -</p> -<p>Asterisk: * -</p> -<p>Underscore: _ -</p> -<p>Left brace: { -</p> -<p>Right brace: } -</p> -<p>Left bracket: [ -</p> -<p>Right bracket: ] -</p> -<p>Left paren: ( -</p> -<p>Right paren: ) -</p> -<p>Greater-than: > -</p> -<p>Hash: # -</p> -<p>Period: . -</p> -<p>Bang: ! -</p> -<p>Plus: + -</p> -<p>Minus: - -</p> -<p>These should not, because they occur within a code block: -</p> -<pre><code>Backslash: \\ +<p>These should all get escaped:</p> +<p>Backslash: \</p> +<p>Backtick: `</p> +<p>Asterisk: *</p> +<p>Underscore: _</p> +<p>Left brace: {</p> +<p>Right brace: }</p> +<p>Left bracket: [</p> +<p>Right bracket: ]</p> +<p>Left paren: (</p> +<p>Right paren: )</p> +<p>Greater-than: ></p> +<p>Hash: #</p> +<p>Period: .</p> +<p>Bang: !</p> +<p>Plus: +</p> +<p>Minus: -</p> +<p>These should not, because they occur within a code block:</p> +<pre> +<code>Backslash: \\ Backtick: \` @@ -66,8 +48,9 @@ Bang: \! Plus: \+ Minus: \- -</code></pre><p>Nor should these, which occur in code spans: -</p> +</code> +</pre> +<p>Nor should these, which occur in code spans:</p> <p>Backslash: <code>\\</code> </p> <p>Backtick: <code>\`</code> @@ -99,6 +82,4 @@ Minus: \- <p>Plus: <code>\+</code> </p> <p>Minus: <code>\-</code> -</p> - - +</p>
\ No newline at end of file diff --git a/tests/markdown-test/blockquotes-with-dode-blocks.html b/tests/markdown-test/blockquotes-with-dode-blocks.html index 275749f..e7c79d9 100644 --- a/tests/markdown-test/blockquotes-with-dode-blocks.html +++ b/tests/markdown-test/blockquotes-with-dode-blocks.html @@ -1,13 +1,16 @@ - -<blockquote><p>Example: -</p> -<pre><code>sub status { +<blockquote> +<p>Example:</p> +<pre> +<code>sub status { print "working"; } -</code></pre><p>Or: -</p> -<pre><code>sub status { +</code> +</pre> +<p>Or:</p> +<pre> +<code>sub status { return "working"; } -</code></pre></blockquote> - +</code> +</pre> +</blockquote>
\ No newline at end of file diff --git a/tests/markdown-test/hard-wrapped.html b/tests/markdown-test/hard-wrapped.html index 7d16a85..e28e900 100644 --- a/tests/markdown-test/hard-wrapped.html +++ b/tests/markdown-test/hard-wrapped.html @@ -1,12 +1,7 @@ - <p>In Markdown 1.0.0 and earlier. Version - 8. This line turns into a list item. - Because a hard-wrapped line in the - middle of a paragraph looked like a - list item. -</p> +8. This line turns into a list item. +Because a hard-wrapped line in the +middle of a paragraph looked like a +list item.</p> <p>Here's one with a bullet. - * criminey. -</p> - - +* criminey.</p>
\ No newline at end of file diff --git a/tests/markdown-test/horizontal-rules.html b/tests/markdown-test/horizontal-rules.html index 253e36a..98c9c90 100644 --- a/tests/markdown-test/horizontal-rules.html +++ b/tests/markdown-test/horizontal-rules.html @@ -1,63 +1,51 @@ - -<p>Dashes: -</p> +<p>Dashes:</p> <hr /> - <hr /> - <hr /> - <hr /> - -<pre><code>--- -</code></pre><hr /> - +<pre> +<code>--- +</code> +</pre> <hr /> - <hr /> - <hr /> - -<pre><code>- - - -</code></pre><p>Asterisks: -</p> <hr /> - +<pre> +<code>- - - +</code> +</pre> +<p>Asterisks:</p> <hr /> - <hr /> - <hr /> - -<pre><code>*** -</code></pre><hr /> - <hr /> - +<pre> +<code>*** +</code> +</pre> <hr /> - <hr /> - -<pre><code>* * * -</code></pre><p>Underscores: -</p> <hr /> - <hr /> - +<pre> +<code>* * * +</code> +</pre> +<p>Underscores:</p> <hr /> - <hr /> - -<pre><code>___ -</code></pre><hr /> - <hr /> - <hr /> - +<pre> +<code>___ +</code> +</pre> <hr /> - -<pre><code>_ _ _ -</code></pre> - +<hr /> +<hr /> +<hr /> +<pre> +<code>_ _ _ +</code> +</pre> diff --git a/tests/markdown-test/inline-html-advanced.html b/tests/markdown-test/inline-html-advanced.html index c72bebb..0f922e9 100644 --- a/tests/markdown-test/inline-html-advanced.html +++ b/tests/markdown-test/inline-html-advanced.html @@ -1,18 +1,11 @@ - -<p>Simple block on one line: -</p> -<div>foo</div> - -<p>And nested without indentation: -</p> -<div> +<p>Simple block on one line:</p> +<p><div>foo</div></p> +<p>And nested without indentation:</p> +<p><div> <div> <div> foo </div> </div> <div>bar</div> -</div> - - - +</div></p>
\ No newline at end of file diff --git a/tests/markdown-test/inline-html-comments.html b/tests/markdown-test/inline-html-comments.html index a85c8b2..8b538d6 100644 --- a/tests/markdown-test/inline-html-comments.html +++ b/tests/markdown-test/inline-html-comments.html @@ -1,17 +1,8 @@ - -<p>Paragraph one. -</p> -<!-- This is a simple comment --> - -<!-- +<p>Paragraph one.</p> +<p><!-- This is a simple comment --></p> +<p><!-- This is another comment. ---> - -<p>Paragraph two. -</p> -<!-- one comment block -- -- with two comments --> - -<p>The end. -</p> - - +--></p> +<p>Paragraph two.</p> +<p><!-- one comment block -- -- with two comments --></p> +<p>The end.</p>
\ No newline at end of file diff --git a/tests/markdown-test/inline-html-simple.html b/tests/markdown-test/inline-html-simple.html index b5b3f12..efb50dc 100644 --- a/tests/markdown-test/inline-html-simple.html +++ b/tests/markdown-test/inline-html-simple.html @@ -1,68 +1,53 @@ - -<p>Here's a simple block: -</p> -<div> +<p>Here's a simple block:</p> +<p><div> foo -</div> - -<p>This should be a code block, though: -</p> -<pre><code><div> +</div></p> +<p>This should be a code block, though:</p> +<pre> +<code><div> foo </div> -</code></pre><p>As should this: -</p> -<pre><code><div>foo</div> -</code></pre><p>Now, nested: -</p> -<div> +</code> +</pre> +<p>As should this:</p> +<pre> +<code><div>foo</div> +</code> +</pre> +<p>Now, nested:</p> +<p><div> <div> <div> foo </div> </div> -</div> - -<p>This should just be an HTML comment: -</p> -<!-- Comment --> - -<p>Multiline: -</p> -<!-- +</div></p> +<p>This should just be an HTML comment:</p> +<p><!-- Comment --></p> +<p>Multiline:</p> +<p><!-- Blah Blah ---> - -<p>Code block: -</p> -<pre><code><!-- Comment --> -</code></pre><p>Just plain comment, with trailing spaces on the line: -</p> -<!-- foo --> - -<p>Code: -</p> -<pre><code><hr /> -</code></pre><p>Hr's: -</p> -<hr> - -<hr/> - -<hr /> - -<hr> - -<hr/> - -<hr /> - -<hr class="foo" id="bar" /> - -<hr class="foo" id="bar"/> - -<hr class="foo" id="bar" > - - - +--></p> +<p>Code block:</p> +<pre> +<code><!-- Comment --> +</code> +</pre> +<p>Just plain comment, with trailing spaces on the line:</p> +<p><!-- foo --></p> +<p>Code:</p> +<pre> +<code><hr /> +</code> +</pre> +<p>Hr's:</p> +<p><hr></p> +<p><hr/></p> +<p><hr /></p> +<p><hr></p> +<p><hr/></p> +<p><hr /></p> +<p><hr class="foo" id="bar" /></p> +<p><hr class="foo" id="bar"/></p> +<p><hr class="foo" id="bar" ></p>
\ No newline at end of file diff --git a/tests/markdown-test/links-inline.html b/tests/markdown-test/links-inline.html index 5fb7073..e1aaf27 100644 --- a/tests/markdown-test/links-inline.html +++ b/tests/markdown-test/links-inline.html @@ -1,13 +1,9 @@ - -<p>Just a <a href="/url/">URL</a>. -</p> -<p><a href="/url/" title="title">URL and title</a>. -</p> -<p><a href="/url/" title="title preceded by two spaces">URL and title</a>. -</p> -<p><a href="/url/" title="title preceded by a tab">URL and title</a>. -</p> -<p><a href="">Empty</a>. -</p> - - +<p>Just a <a href="/url/">URL</a>.</p> +<p> +<a href="/url/" title="title">URL and title</a>.</p> +<p> +<a href="/url/" title="title preceded by two spaces">URL and title</a>.</p> +<p> +<a href="/url/" title="title preceded by a tab">URL and title</a>.</p> +<p> +<a href="">Empty</a>.</p>
\ No newline at end of file diff --git a/tests/markdown-test/links-reference.html b/tests/markdown-test/links-reference.html index ad6438f..338aa22 100644 --- a/tests/markdown-test/links-reference.html +++ b/tests/markdown-test/links-reference.html @@ -1,20 +1,12 @@ - -<p>Foo <a href="/url/" title="Title">bar</a>. -</p> -<p>Foo <a href="/url/" title="Title">bar</a>. -</p> -<p>Foo <a href="/url/" title="Title">bar</a>. -</p> -<p>With <a href="/url/">embedded [brackets]</a>. -</p> -<p>Indented <a href="/url">once</a>. -</p> -<p>Indented <a href="/url">twice</a>. -</p> -<p>Indented <a href="/url">thrice</a>. -</p> -<p>Indented [four][] times. -</p> -<pre><code>[four]: /url -</code></pre> - +<p>Foo <a href="/url/" title="Title">bar</a>.</p> +<p>Foo <a href="/url/" title="Title">bar</a>.</p> +<p>Foo <a href="/url/" title="Title">bar</a>.</p> +<p>With <a href="/url/">embedded [brackets]</a>.</p> +<p>Indented <a href="/url">once</a>.</p> +<p>Indented <a href="/url">twice</a>.</p> +<p>Indented <a href="/url">thrice</a>.</p> +<p>Indented [four][] times.</p> +<pre> +<code>[four]: /url +</code> +</pre>
\ No newline at end of file diff --git a/tests/markdown-test/literal-quotes.html b/tests/markdown-test/literal-quotes.html index 806b7f2..0342589 100644 --- a/tests/markdown-test/literal-quotes.html +++ b/tests/markdown-test/literal-quotes.html @@ -1,7 +1,2 @@ - -<p>Foo <a href="/url/" title="Title with "quotes" inside">bar</a>. -</p> -<p>Foo <a href="/url/" title="Title with "quotes" inside">bar</a>. -</p> - - +<p>Foo <a href="/url/" title="Title with "quotes" inside">bar</a>.</p> +<p>Foo <a href="/url/" title="Title with "quotes" inside">bar</a>.</p>
\ No newline at end of file diff --git a/tests/markdown-test/markdown-documentation-basics.html b/tests/markdown-test/markdown-documentation-basics.html index 744e89d..9c5259f 100644 --- a/tests/markdown-test/markdown-documentation-basics.html +++ b/tests/markdown-test/markdown-documentation-basics.html @@ -1,47 +1,39 @@ <h1>Markdown: Basics</h1> -<ul id="ProjectSubmenu"> +<p><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> - - +</ul></p> <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> - +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> +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><h1></code> and <code><h2></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>></code>' angle brackets. -</p> -<p>Markdown: -</p> -<pre><code>A First Level Header +Setext-style headers for <code><h1></code> and <code><h2></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>></code>' angle brackets.</p> +<p>Markdown:</p> +<pre> +<code>A First Level Header ==================== A Second Level Header @@ -61,9 +53,11 @@ dog's back. > This is the second paragraph in the blockquote. > > ## This is an H2 in a blockquote -</code></pre><p>Output: -</p> -<pre><code><h1>A First Level Header</h1> +</code> +</pre> +<p>Output:</p> +<pre> +<code><h1>A First Level Header</h1> <h2>A Second Level Header</h2> @@ -83,179 +77,221 @@ dog's back.</p> <h2>This is an H2 in a blockquote</h2> </blockquote> -</code></pre> +</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*. +<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><p>Some of these words <em>are emphasized</em>. +</code> +</pre> +<p>Output:</p> +<pre> +<code><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> -</code></pre> +</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. +<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. +</code> +</pre> +<p>this:</p> +<pre> +<code>+ Candy. + Gum. + Booze. -</code></pre><p>and this: -</p> -<pre><code>- Candy. +</code> +</pre> +<p>and this:</p> +<pre> +<code>- Candy. - Gum. - Booze. -</code></pre><p>all produce the same output: -</p> -<pre><code><ul> +</code> +</pre> +<p>all produce the same output:</p> +<pre> +<code><ul> <li>Candy.</li> <li>Gum.</li> <li>Booze.</li> </ul> -</code></pre><p>Ordered (numbered) lists use regular numbers, followed by periods, as - list markers: -</p> -<pre><code>1. Red +</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><ol> +</code> +</pre> +<p>Output:</p> +<pre> +<code><ol> <li>Red</li> <li>Green</li> <li>Blue</li> </ol> -</code></pre><p>If you put blank lines between items, you'll get <code><p></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. +</code> +</pre> +<p>If you put blank lines between items, you'll get <code><p></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><ul> +</code> +</pre> +<p>Output:</p> +<pre> +<code><ul> <li><p>A list item.</p> <p>With multiple paragraphs.</p></li> <li><p>Another item in the list.</p></li> </ul> -</code></pre> +</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> +<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><p>This is an <a href="http://example.com/"> +For example:</p> +<pre> +<code>This is an [example link](http://example.com/). +</code> +</pre> +<p>Output:</p> +<pre> +<code><p>This is an <a href="http://example.com/"> example link</a>.</p> -</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><p>This is an <a href="http://example.com/" title="With a Title"> +</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><p>This is an <a href="http://example.com/" title="With a Title"> example link</a>.</p> -</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 +</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><p>I get 10 times more traffic from <a href="http://google.com/" +</code> +</pre> +<p>Output:</p> +<pre> +<code><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> -</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 +</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><p>I start my morning with a cup of coffee and +</code> +</pre> +<p>Output:</p> +<pre> +<code><p>I start my morning with a cup of coffee and <a href="http://www.nytimes.com/">The New York Times</a>.</p> -</code></pre> +</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] +<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><img src="/path/to/img.jpg" alt="alt text" title="Title" /> -</code></pre> +</code> +</pre> +<p>Both of the above examples produce the same output:</p> +<pre> +<code><img src="/path/to/img.jpg" alt="alt text" title="Title" /> +</code> +</pre> <h3>Code</h3> <p>In a regular paragraph, you can create code span by wrapping text in - backtick quotes. Any ampersands (<code>&</code>) and angle brackets (<code><</code> or - <code>></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 `<blink>` tags. +backtick quotes. Any ampersands (<code>&</code>) and angle brackets (<code><</code> or +<code>></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 `<blink>` tags. I wish SmartyPants used named entities like `&mdash;` instead of decimal-encoded entites like `&#8212;`. -</code></pre><p>Output: -</p> -<pre><code><p>I strongly recommend against using any +</code> +</pre> +<p>Output:</p> +<pre> +<code><p>I strongly recommend against using any <code>&lt;blink&gt;</code> tags.</p> <p>I wish SmartyPants used named entities like <code>&amp;mdash;</code> instead of decimal-encoded entites like <code>&amp;#8212;</code>.</p> -</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>&</code>, <code><</code>, - and <code>></code> characters will be escaped automatically. -</p> -<p>Markdown: -</p> -<pre><code>If you want your page to validate under XHTML 1.0 Strict, +</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>&</code>, <code><</code>, +and <code>></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: <blockquote> <p>For example.</p> </blockquote> -</code></pre><p>Output: -</p> -<pre><code><p>If you want your page to validate under XHTML 1.0 Strict, +</code> +</pre> +<p>Output:</p> +<pre> +<code><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>&lt;blockquote&gt; &lt;p&gt;For example.&lt;/p&gt; &lt;/blockquote&gt; </code></pre> -</code></pre>
\ No newline at end of file +</code> +</pre> diff --git a/tests/markdown-test/markdown-syntax.html b/tests/markdown-test/markdown-syntax.html index 40f9547..84fe3bd 100644 --- a/tests/markdown-test/markdown-syntax.html +++ b/tests/markdown-test/markdown-syntax.html @@ -1,128 +1,120 @@ <h1>Markdown: Syntax</h1> -<ul id="ProjectSubmenu"> +<p><ul id="ProjectSubmenu"> <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li> <li><a href="/projects/markdown/basics" title="Markdown Basics">Basics</a></li> <li><a class="selected" 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> - +</ul></p> <ul> - <li><a href="#overview">Overview</a><ul> - <li><a href="#philosophy">Philosophy</a> - </li> - - <li><a href="#html">Inline HTML</a> - </li> - - <li><a href="#autoescape">Automatic Escaping for Special Characters</a> - </li> +<li> +<a href="#overview">Overview</a> +<ul> +<li> +<a href="#philosophy">Philosophy</a> +</li> +<li> +<a href="#html">Inline HTML</a> +</li> +<li> +<a href="#autoescape">Automatic Escaping for Special Characters</a> +</li> </ul> - - </li> - - <li><a href="#block">Block Elements</a><ul> - <li><a href="#p">Paragraphs and Line Breaks</a> - </li> - - <li><a href="#header">Headers</a> - </li> - - <li><a href="#blockquote">Blockquotes</a> - </li> - - <li><a href="#list">Lists</a> - </li> - - <li><a href="#precode">Code Blocks</a> - </li> - - <li><a href="#hr">Horizontal Rules</a> - </li> +</li> +<li> +<a href="#block">Block Elements</a> +<ul> +<li> +<a href="#p">Paragraphs and Line Breaks</a> +</li> +<li> +<a href="#header">Headers</a> +</li> +<li> +<a href="#blockquote">Blockquotes</a> +</li> +<li> +<a href="#list">Lists</a> +</li> +<li> +<a href="#precode">Code Blocks</a> +</li> +<li> +<a href="#hr">Horizontal Rules</a> +</li> </ul> - - </li> - - <li><a href="#span">Span Elements</a><ul> - <li><a href="#link">Links</a> - </li> - - <li><a href="#em">Emphasis</a> - </li> - - <li><a href="#code">Code</a> - </li> - - <li><a href="#img">Images</a> - </li> +</li> +<li> +<a href="#span">Span Elements</a> +<ul> +<li> +<a href="#link">Links</a> +</li> +<li> +<a href="#em">Emphasis</a> +</li> +<li> +<a href="#code">Code</a> +</li> +<li> +<a href="#img">Images</a> +</li> </ul> - - </li> - - <li><a href="#misc">Miscellaneous</a><ul> - <li><a href="#backslash">Backslash Escapes</a> - </li> - - <li><a href="#autolink">Automatic Links</a> - </li> +</li> +<li> +<a href="#misc">Miscellaneous</a> +<ul> +<li> +<a href="#backslash">Backslash Escapes</a> +</li> +<li> +<a href="#autolink">Automatic Links</a> +</li> </ul> - - </li> +</li> </ul> -<p><strong>Note:</strong> This document is itself written using Markdown; you - can <a href="/projects/markdown/syntax.text">see the source for it by adding '.text' to the URL</a>. -</p> +<p> +<strong>Note:</strong> This document is itself written using Markdown; you +can <a href="/projects/markdown/syntax.text">see the source for it by adding '.text' to the URL</a>.</p> <hr /> - -<h2 id="overview">Overview</h2> - -<h3 id="philosophy">Philosophy</h3> - -<p>Markdown is intended to be as easy-to-read and easy-to-write as is feasible. -</p> +<p><h2 id="overview">Overview</h2></p> +<p><h3 id="philosophy">Philosophy</h3></p> +<p>Markdown is intended to be as easy-to-read and easy-to-write as is feasible.</p> <p>Readability, however, is emphasized above all else. A Markdown-formatted - document should be publishable as-is, as plain text, without looking - like it's been marked up with tags or formatting instructions. While - Markdown's syntax has been influenced by several existing text-to-HTML - filters -- including <a href="http://docutils.sourceforge.net/mirror/setext.html">Setext</a>, <a href="http://www.aaronsw.com/2002/atx/">atx</a>, <a href="http://textism.com/tools/textile/">Textile</a>, <a href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>, - <a href="http://www.triptico.com/software/grutatxt.html">Grutatext</a>, and <a href="http://ettext.taint.org/doc/">EtText</a> -- the single biggest source of - inspiration for Markdown's syntax is the format of plain text email. -</p> +document should be publishable as-is, as plain text, without looking +like it's been marked up with tags or formatting instructions. While +Markdown's syntax has been influenced by several existing text-to-HTML +filters -- including <a href="http://docutils.sourceforge.net/mirror/setext.html">Setext</a>, <a href="http://www.aaronsw.com/2002/atx/">atx</a>, <a href="http://textism.com/tools/textile/">Textile</a>, <a href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>, +<a href="http://www.triptico.com/software/grutatxt.html">Grutatext</a>, and <a href="http://ettext.taint.org/doc/">EtText</a>-- the single biggest source of +inspiration for Markdown's syntax is the format of plain text email.</p> <p>To this end, Markdown's syntax is comprised entirely of punctuation - characters, which punctuation characters have been carefully chosen so - as to look like what they mean. E.g., asterisks around a word actually - look like *emphasis*. Markdown lists look like, well, lists. Even - blockquotes look like quoted passages of text, assuming you've ever - used email. -</p> -<h3 id="html">Inline HTML</h3> - +characters, which punctuation characters have been carefully chosen so +as to look like what they mean. E.g., asterisks around a word actually +look like *emphasis*. Markdown lists look like, well, lists. Even +blockquotes look like quoted passages of text, assuming you've ever +used email.</p> +<p><h3 id="html">Inline HTML</h3></p> <p>Markdown's syntax is intended for one purpose: to be used as a - format for <em>writing</em> for the web. -</p> +format for <em>writing</em>for the web.</p> <p>Markdown is not a replacement for HTML, or even close to it. Its - syntax is very small, corresponding only to a very small subset of - HTML tags. The idea is <em>not</em> to create a syntax that makes it easier - to insert HTML tags. In my opinion, HTML tags are already easy to - insert. The idea for Markdown is to make it easy to read, write, and - edit prose. HTML is a <em>publishing</em> format; Markdown is a <em>writing</em> - format. Thus, Markdown's formatting syntax only addresses issues that - can be conveyed in plain text. -</p> +syntax is very small, corresponding only to a very small subset of +HTML tags. The idea is <em>not</em> to create a syntax that makes it easier +to insert HTML tags. In my opinion, HTML tags are already easy to +insert. The idea for Markdown is to make it easy to read, write, and +edit prose. HTML is a <em>publishing</em> format; Markdown is a <em>writing</em>format. Thus, Markdown's formatting syntax only addresses issues that +can be conveyed in plain text.</p> <p>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. -</p> +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.</p> <p>The only restrictions are that block-level HTML elements -- e.g. <code><div></code>, - <code><table></code>, <code><pre></code>, <code><p></code>, etc. -- must be separated from surrounding - content by blank lines, and the start and end tags of the block should - not be indented with tabs or spaces. Markdown is smart enough not - to add extra (unwanted) <code><p></code> tags around HTML block-level tags. -</p> -<p>For example, to add an HTML table to a Markdown article: -</p> -<pre><code>This is a regular paragraph. +<code><table></code>, <code><pre></code>, <code><p></code>, etc. -- must be separated from surrounding +content by blank lines, and the start and end tags of the block should +not be indented with tabs or spaces. Markdown is smart enough not +to add extra (unwanted) <code><p></code>tags around HTML block-level tags.</p> +<p>For example, to add an HTML table to a Markdown article:</p> +<pre> +<code>This is a regular paragraph. <table> <tr> @@ -131,159 +123,167 @@ </table> This is another regular paragraph. -</code></pre><p>Note that Markdown formatting syntax is not processed within block-level - HTML tags. E.g., you can't use Markdown-style <code>*emphasis*</code> inside an - HTML block. -</p> +</code> +</pre> +<p>Note that Markdown formatting syntax is not processed within block-level +HTML tags. E.g., you can't use Markdown-style <code>*emphasis*</code>inside an +HTML block.</p> <p>Span-level HTML tags -- e.g. <code><span></code>, <code><cite></code>, or <code><del></code> -- can be - used anywhere in a Markdown paragraph, list item, or header. If you - want, you can even use HTML tags instead of Markdown formatting; e.g. if - you'd prefer to use HTML <code><a></code> or <code><img></code> tags instead of Markdown's - link or image syntax, go right ahead. -</p> -<p>Unlike block-level HTML tags, Markdown syntax <em>is</em> processed within - span-level tags. -</p> -<h3 id="autoescape">Automatic Escaping for Special Characters</h3> - +used anywhere in a Markdown paragraph, list item, or header. If you +want, you can even use HTML tags instead of Markdown formatting; e.g. if +you'd prefer to use HTML <code><a></code> or <code><img></code>tags instead of Markdown's +link or image syntax, go right ahead.</p> +<p>Unlike block-level HTML tags, Markdown syntax <em>is</em>processed within +span-level tags.</p> +<p><h3 id="autoescape">Automatic Escaping for Special Characters</h3></p> <p>In HTML, there are two characters that demand special treatment: <code><</code> - and <code>&</code>. Left angle brackets are used to start tags; ampersands are - used to denote HTML entities. If you want to use them as literal - characters, you must escape them as entities, e.g. <code>&lt;</code>, and - <code>&amp;</code>. -</p> +and <code>&</code>. Left angle brackets are used to start tags; ampersands are +used to denote HTML entities. If you want to use them as literal +characters, you must escape them as entities, e.g. <code>&lt;</code>, and +<code>&amp;</code>.</p> <p>Ampersands in particular are bedeviling for web writers. If you want to - write about 'AT&T', you need to write '<code>AT&amp;T</code>'. You even need to - escape ampersands within URLs. Thus, if you want to link to: -</p> -<pre><code>http://images.google.com/images?num=30&q=larry+bird -</code></pre><p>you need to encode the URL as: -</p> -<pre><code>http://images.google.com/images?num=30&amp;q=larry+bird -</code></pre><p>in your anchor tag <code>href</code> attribute. Needless to say, this is easy to - forget, and is probably the single most common source of HTML validation - errors in otherwise well-marked-up web sites. -</p> +write about 'AT&T', you need to write '<code>AT&amp;T</code>'. You even need to +escape ampersands within URLs. Thus, if you want to link to:</p> +<pre> +<code>http://images.google.com/images?num=30&q=larry+bird +</code> +</pre> +<p>you need to encode the URL as:</p> +<pre> +<code>http://images.google.com/images?num=30&amp;q=larry+bird +</code> +</pre> +<p>in your anchor tag <code>href</code>attribute. Needless to say, this is easy to +forget, and is probably the single most common source of HTML validation +errors in otherwise well-marked-up web sites.</p> <p>Markdown allows you to use these characters naturally, taking care of - all the necessary escaping for you. If you use an ampersand as part of - an HTML entity, it remains unchanged; otherwise it will be translated - into <code>&amp;</code>. -</p> -<p>So, if you want to include a copyright symbol in your article, you can write: -</p> -<pre><code>&copy; -</code></pre><p>and Markdown will leave it alone. But if you write: -</p> -<pre><code>AT&T -</code></pre><p>Markdown will translate it to: -</p> -<pre><code>AT&amp;T -</code></pre><p>Similarly, because Markdown supports <a href="#html">inline HTML</a>, if you use - angle brackets as delimiters for HTML tags, Markdown will treat them as - such. But if you write: -</p> -<pre><code>4 < 5 -</code></pre><p>Markdown will translate it to: -</p> -<pre><code>4 &lt; 5 -</code></pre><p>However, inside Markdown code spans and blocks, angle brackets and - ampersands are <em>always</em> encoded automatically. This makes it easy to use - Markdown to write about HTML code. (As opposed to raw HTML, which is a - terrible format for writing about HTML syntax, because every single <code><</code> - and <code>&</code> in your example code needs to be escaped.) -</p> +all the necessary escaping for you. If you use an ampersand as part of +an HTML entity, it remains unchanged; otherwise it will be translated +into <code>&amp;</code>.</p> +<p>So, if you want to include a copyright symbol in your article, you can write:</p> +<pre> +<code>&copy; +</code> +</pre> +<p>and Markdown will leave it alone. But if you write:</p> +<pre> +<code>AT&T +</code> +</pre> +<p>Markdown will translate it to:</p> +<pre> +<code>AT&amp;T +</code> +</pre> +<p>Similarly, because Markdown supports <a href="#html">inline HTML</a>, if you use +angle brackets as delimiters for HTML tags, Markdown will treat them as +such. But if you write:</p> +<pre> +<code>4 < 5 +</code> +</pre> +<p>Markdown will translate it to:</p> +<pre> +<code>4 &lt; 5 +</code> +</pre> +<p>However, inside Markdown code spans and blocks, angle brackets and +ampersands are <em>always</em> encoded automatically. This makes it easy to use +Markdown to write about HTML code. (As opposed to raw HTML, which is a +terrible format for writing about HTML syntax, because every single <code><</code> +and <code>&</code>in your example code needs to be escaped.)</p> <hr /> - -<h2 id="block">Block Elements</h2> - -<h3 id="p">Paragraphs and Line Breaks</h3> - +<p><h2 id="block">Block Elements</h2></p> +<p><h3 id="p">Paragraphs and Line Breaks</h3></p> <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 but spaces or tabs is considered - blank.) Normal paragraphs should not be intended with spaces or tabs. -</p> +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 intended with spaces or tabs.</p> <p>The implication of the "one or more consecutive lines of text" rule is - that Markdown supports "hard-wrapped" text paragraphs. This differs - significantly from most other text-to-HTML formatters (including Movable - Type's "Convert Line Breaks" option) which translate every line break - character in a paragraph into a <code><br /></code> tag. -</p> -<p>When you <em>do</em> want to insert a <code><br /></code> break tag using Markdown, you - end a line with two or more spaces, then type return. -</p> +that Markdown supports "hard-wrapped" text paragraphs. This differs +significantly from most other text-to-HTML formatters (including Movable +Type's "Convert Line Breaks" option) which translate every line break +character in a paragraph into a <code><br /></code>tag.</p> +<p>When you <em>do</em> want to insert a <code><br /></code>break tag using Markdown, you +end a line with two or more spaces, then type return.</p> <p>Yes, this takes a tad more effort to create a <code><br /></code>, but a simplistic - "every line break is a <code><br /></code>" rule wouldn't work for Markdown. - Markdown's email-style <a href="#blockquote">blockquoting</a> and multi-paragraph <a href="#list">list items</a> - work best -- and look better -- when you format them with hard breaks. -</p> -<h3 id="header">Headers</h3> - -<p>Markdown supports two styles of headers, <a href="http://docutils.sourceforge.net/mirror/setext.html">Setext</a> and <a href="http://www.aaronsw.com/2002/atx/">atx</a>. -</p> +"every line break is a <code><br /></code>" rule wouldn't work for Markdown. +Markdown's email-style <a href="#blockquote">blockquoting</a> and multi-paragraph <a href="#list">list items</a>work best -- and look better -- when you format them with hard breaks.</p> +<p><h3 id="header">Headers</h3></p> +<p>Markdown supports two styles of headers, <a href="http://docutils.sourceforge.net/mirror/setext.html">Setext</a>and <a href="http://www.aaronsw.com/2002/atx/">atx</a>.</p> <p>Setext-style headers are "underlined" using equal signs (for first-level - headers) and dashes (for second-level headers). For example: -</p> -<pre><code>This is an H1 +headers) and dashes (for second-level headers). For example:</p> +<pre> +<code>This is an H1 ============= This is an H2 ------------- -</code></pre><p>Any number of underlining <code>=</code>'s or <code>-</code>'s will work. -</p> +</code> +</pre> +<p>Any number of underlining <code>=</code>'s or <code>-</code>'s will work.</p> <p>Atx-style headers use 1-6 hash characters at the start of the line, - corresponding to header levels 1-6. For example: -</p> -<pre><code># This is an H1 +corresponding to header levels 1-6. For example:</p> +<pre> +<code># This is an H1 ## This is an H2 ###### This is an H6 -</code></pre><p>Optionally, you may "close" atx-style headers. This is purely - cosmetic -- you can use this if you think it looks better. The - closing hashes don't even need to match the number of hashes - used to open the header. (The number of opening hashes - determines the header level.) : -</p> -<pre><code># This is an H1 # +</code> +</pre> +<p>Optionally, you may "close" atx-style headers. This is purely +cosmetic -- you can use this if you think it looks better. The +closing hashes don't even need to match the number of hashes +used to open the header. (The number of opening hashes +determines the header level.) :</p> +<pre> +<code># This is an H1 # ## This is an H2 ## ### This is an H3 ###### -</code></pre><h3 id="blockquote">Blockquotes</h3> - +</code> +</pre> +<p><h3 id="blockquote">Blockquotes</h3></p> <p>Markdown uses email-style <code>></code> characters for blockquoting. If you're - familiar with quoting passages of text in an email message, then you - know how to create a blockquote in Markdown. It looks best if you hard - wrap the text and put a <code>></code> before every line: -</p> -<pre><code>> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, +familiar with quoting passages of text in an email message, then you +know how to create a blockquote in Markdown. It looks best if you hard +wrap the text and put a <code>></code>before every line:</p> +<pre> +<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. -</code></pre><p>Markdown allows you to be lazy and only put the <code>></code> before the first - line of a hard-wrapped paragraph: -</p> -<pre><code>> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, +</code> +</pre> +<p>Markdown allows you to be lazy and only put the <code>></code>before the first +line of a hard-wrapped paragraph:</p> +<pre> +<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. -</code></pre><p>Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by - adding additional levels of <code>></code>: -</p> -<pre><code>> This is the first level of quoting. +</code> +</pre> +<p>Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by +adding additional levels of <code>></code>:</p> +<pre> +<code>> This is the first level of quoting. > > > This is nested blockquote. > > Back to the first level. -</code></pre><p>Blockquotes can contain other Markdown elements, including headers, lists, - and code blocks: -</p> -<pre><code>> ## This is a header. +</code> +</pre> +<p>Blockquotes can contain other Markdown elements, including headers, lists, +and code blocks:</p> +<pre> +<code>> ## This is a header. > > 1. This is the first list item. > 2. This is the second list item. @@ -291,108 +291,130 @@ id sem consectetuer libero luctus adipiscing. > Here's some example code: > > return shell_exec("echo $input | $markdown_script"); -</code></pre><p>Any decent text editor should make email-style quoting easy. For - example, with BBEdit, you can make a selection and choose Increase - Quote Level from the Text menu. -</p> -<h3 id="list">Lists</h3> - -<p>Markdown supports ordered (numbered) and unordered (bulleted) lists. -</p> +</code> +</pre> +<p>Any decent text editor should make email-style quoting easy. For +example, with BBEdit, you can make a selection and choose Increase +Quote Level from the Text menu.</p> +<p><h3 id="list">Lists</h3></p> +<p>Markdown supports ordered (numbered) and unordered (bulleted) lists.</p> <p>Unordered lists use asterisks, pluses, and hyphens -- interchangably - -- as list markers: -</p> -<pre><code>* Red +-- as list markers:</p> +<pre> +<code>* Red * Green * Blue -</code></pre><p>is equivalent to: -</p> -<pre><code>+ Red +</code> +</pre> +<p>is equivalent to:</p> +<pre> +<code>+ Red + Green + Blue -</code></pre><p>and: -</p> -<pre><code>- Red +</code> +</pre> +<p>and:</p> +<pre> +<code>- Red - Green - Blue -</code></pre><p>Ordered lists use numbers followed by periods: -</p> -<pre><code>1. Bird +</code> +</pre> +<p>Ordered lists use numbers followed by periods:</p> +<pre> +<code>1. Bird 2. McHale 3. Parish -</code></pre><p>It's important to note that the actual numbers you use to mark the - list have no effect on the HTML output Markdown produces. The HTML - Markdown produces from the above list is: -</p> -<pre><code><ol> +</code> +</pre> +<p>It's important to note that the actual numbers you use to mark the +list have no effect on the HTML output Markdown produces. The HTML +Markdown produces from the above list is:</p> +<pre> +<code><ol> <li>Bird</li> <li>McHale</li> <li>Parish</li> </ol> -</code></pre><p>If you instead wrote the list in Markdown like this: -</p> -<pre><code>1. Bird +</code> +</pre> +<p>If you instead wrote the list in Markdown like this:</p> +<pre> +<code>1. Bird 1. McHale 1. Parish -</code></pre><p>or even: -</p> -<pre><code>3. Bird +</code> +</pre> +<p>or even:</p> +<pre> +<code>3. Bird 1. McHale 8. Parish -</code></pre><p>you'd get the exact same HTML output. The point is, if you want to, - you can use ordinal numbers in your ordered Markdown lists, so that - the numbers in your source match the numbers in your published HTML. - But if you want to be lazy, you don't have to. -</p> +</code> +</pre> +<p>you'd get the exact same HTML output. The point is, if you want to, +you can use ordinal numbers in your ordered Markdown lists, so that +the numbers in your source match the numbers in your published HTML. +But if you want to be lazy, you don't have to.</p> <p>If you do use lazy list numbering, however, you should still start the - list with the number 1. At some point in the future, Markdown may support - starting ordered lists at an arbitrary number. -</p> +list with the number 1. At some point in the future, Markdown may support +starting ordered lists at an arbitrary number.</p> <p>List markers typically start at the left margin, but may be indented by - up to three spaces. List markers must be followed by one or more spaces - or a tab. -</p> -<p>To make lists look nice, you can wrap items with hanging indents: -</p> -<pre><code>* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. +up to three spaces. List markers must be followed by one or more spaces +or a tab.</p> +<p>To make lists look nice, you can wrap items with hanging indents:</p> +<pre> +<code>* 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. -</code></pre><p>But if you want to be lazy, you don't have to: -</p> -<pre><code>* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. +</code> +</pre> +<p>But if you want to be lazy, you don't have to:</p> +<pre> +<code>* 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. -</code></pre><p>If list items are separated by blank lines, Markdown will wrap the - items in <code><p></code> tags in the HTML output. For example, this input: -</p> -<pre><code>* Bird +</code> +</pre> +<p>If list items are separated by blank lines, Markdown will wrap the +items in <code><p></code>tags in the HTML output. For example, this input:</p> +<pre> +<code>* Bird * Magic -</code></pre><p>will turn into: -</p> -<pre><code><ul> +</code> +</pre> +<p>will turn into:</p> +<pre> +<code><ul> <li>Bird</li> <li>Magic</li> </ul> -</code></pre><p>But this: -</p> -<pre><code>* Bird +</code> +</pre> +<p>But this:</p> +<pre> +<code>* Bird * Magic -</code></pre><p>will turn into: -</p> -<pre><code><ul> +</code> +</pre> +<p>will turn into:</p> +<pre> +<code><ul> <li><p>Bird</p></li> <li><p>Magic</p></li> </ul> -</code></pre><p>List items may consist of multiple paragraphs. Each subsequent - paragraph in a list item must be intended by either 4 spaces - or one tab: -</p> -<pre><code>1. This is a list item with two paragraphs. Lorem ipsum dolor +</code> +</pre> +<p>List items may consist of multiple paragraphs. Each subsequent +paragraph in a list item must be intended by either 4 spaces +or one tab:</p> +<pre> +<code>1. This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. @@ -401,103 +423,122 @@ Suspendisse id sem consectetuer libero luctus adipiscing. sit amet velit. 2. Suspendisse id sem consectetuer libero luctus adipiscing. -</code></pre><p>It looks nice if you indent every line of the subsequent - paragraphs, but here again, Markdown will allow you to be - lazy: -</p> -<pre><code>* This is a list item with two paragraphs. +</code> +</pre> +<p>It looks nice if you indent every line of the subsequent +paragraphs, but here again, Markdown will allow you to be +lazy:</p> +<pre> +<code>* This is a list item with two paragraphs. This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Another item in the same list. -</code></pre><p>To put a blockquote within a list item, the blockquote's <code>></code> - delimiters need to be indented: -</p> -<pre><code>* A list item with a blockquote: +</code> +</pre> +<p>To put a blockquote within a list item, the blockquote's +<code>></code>delimiters need to be indented:</p> +<pre> +<code>* A list item with a blockquote: > This is a blockquote > inside a list item. -</code></pre><p>To put a code block within a list item, the code block needs - to be indented <em>twice</em> -- 8 spaces or two tabs: -</p> -<pre><code>* A list item with a code block: +</code> +</pre> +<p>To put a code block within a list item, the code block needs +to be indented <em>twice</em>-- 8 spaces or two tabs:</p> +<pre> +<code>* A list item with a code block: <code goes here> -</code></pre><p>It's worth noting that it's possible to trigger an ordered list by - accident, by writing something like this: -</p> -<pre><code>1986. What a great season. -</code></pre><p>In other words, a <em>number-period-space</em> sequence at the beginning of a - line. To avoid this, you can backslash-escape the period: -</p> -<pre><code>1986\. What a great season. -</code></pre><h3 id="precode">Code Blocks</h3> - +</code> +</pre> +<p>It's worth noting that it's possible to trigger an ordered list by +accident, by writing something like this:</p> +<pre> +<code>1986. What a great season. +</code> +</pre> +<p>In other words, a <em>number-period-space</em>sequence at the beginning of a +line. To avoid this, you can backslash-escape the period:</p> +<pre> +<code>1986\. What a great season. +</code> +</pre> +<p><h3 id="precode">Code Blocks</h3></p> <p>Pre-formatted code blocks are used for writing about programming or - markup source code. Rather than forming normal paragraphs, the lines - of a code block are interpreted literally. Markdown wraps a code block - in both <code><pre></code> and <code><code></code> tags. -</p> +markup source code. Rather than forming normal paragraphs, the lines +of a code block are interpreted literally. Markdown wraps a code block +in both <code><pre></code> and <code><code></code>tags.</p> <p>To produce a code block in Markdown, simply indent every line of the - block by at least 4 spaces or 1 tab. For example, given this input: -</p> -<pre><code>This is a normal paragraph: +block by at least 4 spaces or 1 tab. For example, given this input:</p> +<pre> +<code>This is a normal paragraph: This is a code block. -</code></pre><p>Markdown will generate: -</p> -<pre><code><p>This is a normal paragraph:</p> +</code> +</pre> +<p>Markdown will generate:</p> +<pre> +<code><p>This is a normal paragraph:</p> <pre><code>This is a code block. </code></pre> -</code></pre><p>One level of indentation -- 4 spaces or 1 tab -- is removed from each - line of the code block. For example, this: -</p> -<pre><code>Here is an example of AppleScript: +</code> +</pre> +<p>One level of indentation -- 4 spaces or 1 tab -- is removed from each +line of the code block. For example, this:</p> +<pre> +<code>Here is an example of AppleScript: tell application "Foo" beep end tell -</code></pre><p>will turn into: -</p> -<pre><code><p>Here is an example of AppleScript:</p> +</code> +</pre> +<p>will turn into:</p> +<pre> +<code><p>Here is an example of AppleScript:</p> <pre><code>tell application "Foo" beep end tell </code></pre> -</code></pre><p>A code block continues until it reaches a line that is not indented - (or the end of the article). -</p> +</code> +</pre> +<p>A code block continues until it reaches a line that is not indented +(or the end of the article).</p> <p>Within a code block, ampersands (<code>&</code>) and angle brackets (<code><</code> and <code>></code>) - are automatically converted into HTML entities. This makes it very - easy to include example HTML source code using Markdown -- just paste - it and indent it, and Markdown will handle the hassle of encoding the - ampersands and angle brackets. For example, this: -</p> -<pre><code> <div class="footer"> +are automatically converted into HTML entities. This makes it very +easy to include example HTML source code using Markdown -- just paste +it and indent it, and Markdown will handle the hassle of encoding the +ampersands and angle brackets. For example, this:</p> +<pre> +<code> <div class="footer"> &copy; 2004 Foo Corporation </div> -</code></pre><p>will turn into: -</p> -<pre><code><pre><code>&lt;div class="footer"&gt; +</code> +</pre> +<p>will turn into:</p> +<pre> +<code><pre><code>&lt;div class="footer"&gt; &amp;copy; 2004 Foo Corporation &lt;/div&gt; </code></pre> -</code></pre><p>Regular Markdown syntax is not processed within code blocks. E.g., - asterisks are just literal asterisks within a code block. This means - it's also easy to use Markdown to write about Markdown's own syntax. -</p> -<h3 id="hr">Horizontal Rules</h3> - +</code> +</pre> +<p>Regular Markdown syntax is not processed within code blocks. E.g., +asterisks are just literal asterisks within a code block. This means +it's also easy to use Markdown to write about Markdown's own syntax.</p> +<p><h3 id="hr">Horizontal Rules</h3></p> <p>You can produce a horizontal rule tag (<code><hr /></code>) by placing three or - more hyphens, asterisks, or underscores on a line by themselves. If you - wish, you may use spaces between the hyphens or asterisks. Each of the - following lines will produce a horizontal rule: -</p> -<pre><code>* * * +more hyphens, asterisks, or underscores on a line by themselves. If you +wish, you may use spaces between the hyphens or asterisks. Each of the +following lines will produce a horizontal rule:</p> +<pre> +<code>* * * *** @@ -508,317 +549,347 @@ end tell --------------------------------------- _ _ _ -</code></pre><hr /> - -<h2 id="span">Span Elements</h2> - -<h3 id="link">Links</h3> - -<p>Markdown supports two style of links: <em>inline</em> and <em>reference</em>. -</p> -<p>In both styles, the link text is delimited by [square brackets]. -</p> +</code> +</pre> +<hr /> +<p><h2 id="span">Span Elements</h2></p> +<p><h3 id="link">Links</h3></p> +<p>Markdown supports two style of links: <em>inline</em> and <em>reference</em>.</p> +<p>In both styles, the link text is delimited by [square brackets].</p> <p>To create an inline link, use a set of regular parentheses immediately - after the link text's closing square bracket. Inside the parentheses, - put the URL where you want the link to point, along with an <em>optional</em> - title for the link, surrounded in quotes. For example: -</p> -<pre><code>This is [an example](http://example.com/ "Title") inline link. +after the link text's closing square bracket. Inside the parentheses, +put the URL where you want the link to point, along with an <em>optional</em>title for the link, surrounded in quotes. For example:</p> +<pre> +<code>This is [an example](http://example.com/ "Title") inline link. [This link](http://example.net/) has no title attribute. -</code></pre><p>Will produce: -</p> -<pre><code><p>This is <a href="http://example.com/" title="Title"> +</code> +</pre> +<p>Will produce:</p> +<pre> +<code><p>This is <a href="http://example.com/" title="Title"> an example</a> inline link.</p> <p><a href="http://example.net/">This link</a> has no title attribute.</p> -</code></pre><p>If you're referring to a local resource on the same server, you can - use relative paths: -</p> -<pre><code>See my [About](/about/) page for details. -</code></pre><p>Reference-style links use a second set of square brackets, inside - which you place a label of your choosing to identify the link: -</p> -<pre><code>This is [an example][id] reference-style link. -</code></pre><p>You can optionally use a space to separate the sets of brackets: -</p> -<pre><code>This is [an example] [id] reference-style link. -</code></pre><p>Then, anywhere in the document, you define your link label like this, - on a line by itself: -</p> -<pre><code>[id]: http://example.com/ "Optional Title Here" -</code></pre><p>That is: -</p> +</code> +</pre> +<p>If you're referring to a local resource on the same server, you can +use relative paths:</p> +<pre> +<code>See my [About](/about/) page for details. +</code> +</pre> +<p>Reference-style links use a second set of square brackets, inside +which you place a label of your choosing to identify the link:</p> +<pre> +<code>This is [an example][id] reference-style link. +</code> +</pre> +<p>You can optionally use a space to separate the sets of brackets:</p> +<pre> +<code>This is [an example] [id] reference-style link. +</code> +</pre> +<p>Then, anywhere in the document, you define your link label like this, +on a line by itself:</p> +<pre> +<code>[id]: http://example.com/ "Optional Title Here" +</code> +</pre> +<p>That is:</p> <ul> - <li> - Square brackets containing the link identifier (optionally - indented from the left margin using up to three spaces); - </li> - - <li> - followed by a colon; - </li> - - <li> - followed by one or more spaces (or tabs); - </li> - - <li> - followed by the URL for the link; - </li> - - <li> - optionally followed by a title attribute for the link, enclosed - in double or single quotes. - </li> +<li>Square brackets containing the link identifier (optionally +indented from the left margin using up to three spaces);</li> +<li>followed by a colon;</li> +<li>followed by one or more spaces (or tabs);</li> +<li>followed by the URL for the link;</li> +<li>optionally followed by a title attribute for the link, enclosed +in double or single quotes.</li> </ul> -<p>The link URL may, optionally, be surrounded by angle brackets: -</p> -<pre><code>[id]: <http://example.com/> "Optional Title Here" -</code></pre><p>You can put the title attribute on the next line and use extra spaces - or tabs for padding, which tends to look better with longer URLs: -</p> -<pre><code>[id]: http://example.com/longish/path/to/resource/here +<p>The link URL may, optionally, be surrounded by angle brackets:</p> +<pre> +<code>[id]: <http://example.com/> "Optional Title Here" +</code> +</pre> +<p>You can put the title attribute on the next line and use extra spaces +or tabs for padding, which tends to look better with longer URLs:</p> +<pre> +<code>[id]: http://example.com/longish/path/to/resource/here "Optional Title Here" -</code></pre><p>Link definitions are only used for creating links during Markdown - processing, and are stripped from your document in the HTML output. -</p> -<p>Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are <em>not</em> case sensitive. E.g. these two links: -</p> -<pre><code>[link text][a] +</code> +</pre> +<p>Link definitions are only used for creating links during Markdown +processing, and are stripped from your document in the HTML output.</p> +<p>Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are <em>not</em>case sensitive. E.g. these two links:</p> +<pre> +<code>[link text][a] [link text][A] -</code></pre><p>are equivalent. -</p> -<p>The <em>implicit link name</em> shortcut allows you to omit the name of the - link, in which case the link text itself is used as the name. - Just use an empty set of square brackets -- e.g., to link the word - "Google" to the google.com web site, you could simply write: -</p> -<pre><code>[Google][] -</code></pre><p>And then define the link: -</p> -<pre><code>[Google]: http://google.com/ -</code></pre><p>Because link names may contain spaces, this shortcut even works for - multiple words in the link text: -</p> -<pre><code>Visit [Daring Fireball][] for more information. -</code></pre><p>And then define the link: -</p> -<pre><code>[Daring Fireball]: http://daringfireball.net/ -</code></pre><p>Link definitions can be placed anywhere in your Markdown document. I - tend to put them immediately after each paragraph in which they're - used, but if you want, you can put them all at the end of your - document, sort of like footnotes. -</p> -<p>Here's an example of reference links in action: -</p> -<pre><code>I get 10 times more traffic from [Google] [1] than from +</code> +</pre> +<p>are equivalent.</p> +<p>The <em>implicit link name</em>shortcut allows you to omit the name of the +link, in which case the link text itself is used as the name. +Just use an empty set of square brackets -- e.g., to link the word +"Google" to the google.com web site, you could simply write:</p> +<pre> +<code>[Google][] +</code> +</pre> +<p>And then define the link:</p> +<pre> +<code>[Google]: http://google.com/ +</code> +</pre> +<p>Because link names may contain spaces, this shortcut even works for +multiple words in the link text:</p> +<pre> +<code>Visit [Daring Fireball][] for more information. +</code> +</pre> +<p>And then define the link:</p> +<pre> +<code>[Daring Fireball]: http://daringfireball.net/ +</code> +</pre> +<p>Link definitions can be placed anywhere in your Markdown document. I +tend to put them immediately after each paragraph in which they're +used, but if you want, you can put them all at the end of your +document, sort of like footnotes.</p> +<p>Here's an example of reference links in action:</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>Using the implicit link name shortcut, you could instead write: -</p> -<pre><code>I get 10 times more traffic from [Google][] than from +</code> +</pre> +<p>Using the implicit link name shortcut, you could instead write:</p> +<pre> +<code>I get 10 times more traffic from [Google][] than from [Yahoo][] or [MSN][]. [google]: http://google.com/ "Google" [yahoo]: http://search.yahoo.com/ "Yahoo Search" [msn]: http://search.msn.com/ "MSN Search" -</code></pre><p>Both of the above examples will produce the following HTML output: -</p> -<pre><code><p>I get 10 times more traffic from <a href="http://google.com/" +</code> +</pre> +<p>Both of the above examples will produce the following HTML output:</p> +<pre> +<code><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> -</code></pre><p>For comparison, here is the same paragraph written using - Markdown's inline link style: -</p> -<pre><code>I get 10 times more traffic from [Google](http://google.com/ "Google") +</code> +</pre> +<p>For comparison, here is the same paragraph written using +Markdown's inline link style:</p> +<pre> +<code>I get 10 times more traffic from [Google](http://google.com/ "Google") than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or [MSN](http://search.msn.com/ "MSN Search"). -</code></pre><p>The point of reference-style links is not that they're easier to - write. The point is that with reference-style links, your document - source is vastly more readable. Compare the above examples: using - reference-style links, the paragraph itself is only 81 characters - long; with inline-style links, it's 176 characters; and as raw HTML, - it's 234 characters. In the raw HTML, there's more markup than there - is text. -</p> +</code> +</pre> +<p>The point of reference-style links is not that they're easier to +write. The point is that with reference-style links, your document +source is vastly more readable. Compare the above examples: using +reference-style links, the paragraph itself is only 81 characters +long; with inline-style links, it's 176 characters; and as raw HTML, +it's 234 characters. In the raw HTML, there's more markup than there +is text.</p> <p>With Markdown's reference-style links, a source document much more - closely resembles the final output, as rendered in a browser. By - allowing you to move the markup-related metadata out of the paragraph, - you can add links without interrupting the narrative flow of your - prose. -</p> -<h3 id="em">Emphasis</h3> - +closely resembles the final output, as rendered in a browser. By +allowing you to move the markup-related metadata out of the paragraph, +you can add links without interrupting the narrative flow of your +prose.</p> +<p><h3 id="em">Emphasis</h3></p> <p>Markdown treats asterisks (<code>*</code>) and underscores (<code>_</code>) as indicators of - emphasis. Text wrapped with one <code>*</code> or <code>_</code> will be wrapped with an - HTML <code><em></code> tag; double <code>*</code>'s or <code>_</code>'s will be wrapped with an HTML - <code><strong></code> tag. E.g., this input: -</p> -<pre><code>*single asterisks* +emphasis. Text wrapped with one <code>*</code> or <code>_</code> will be wrapped with an +HTML <code><em></code> tag; double <code>*</code>'s or <code>_</code>'s will be wrapped with an HTML +<code><strong></code>tag. E.g., this input:</p> +<pre> +<code>*single asterisks* _single underscores_ **double asterisks** __double underscores__ -</code></pre><p>will produce: -</p> -<pre><code><em>single asterisks</em> +</code> +</pre> +<p>will produce:</p> +<pre> +<code><em>single asterisks</em> <em>single underscores</em> <strong>double asterisks</strong> <strong>double underscores</strong> -</code></pre><p>You can use whichever style you prefer; the lone restriction is that - the same character must be used to open and close an emphasis span. -</p> -<p>Emphasis can be used in the middle of a word: -</p> -<pre><code>un*fucking*believable -</code></pre><p>But if you surround an <code>*</code> or <code>_</code> with spaces, it'll be treated as a - literal asterisk or underscore. -</p> +</code> +</pre> +<p>You can use whichever style you prefer; the lone restriction is that +the same character must be used to open and close an emphasis span.</p> +<p>Emphasis can be used in the middle of a word:</p> +<pre> +<code>un*fucking*believable +</code> +</pre> +<p>But if you surround an <code>*</code> or <code>_</code>with spaces, it'll be treated as a +literal asterisk or underscore.</p> <p>To produce a literal asterisk or underscore at a position where it - would otherwise be used as an emphasis delimiter, you can backslash - escape it: -</p> -<pre><code>\*this text is surrounded by literal asterisks\* -</code></pre><h3 id="code">Code</h3> - +would otherwise be used as an emphasis delimiter, you can backslash +escape it:</p> +<pre> +<code>\*this text is surrounded by literal asterisks\* +</code> +</pre> +<p><h3 id="code">Code</h3></p> <p>To indicate a span of code, wrap it with backtick quotes (<code>`</code>). - Unlike a pre-formatted code block, a code span indicates code within a - normal paragraph. For example: -</p> -<pre><code>Use the `printf()` function. -</code></pre><p>will produce: -</p> -<pre><code><p>Use the <code>printf()</code> function.</p> -</code></pre><p>To include a literal backtick character within a code span, you can use - multiple backticks as the opening and closing delimiters: -</p> -<pre><code>``There is a literal backtick (`) here.`` -</code></pre><p>which will produce this: -</p> -<pre><code><p><code>There is a literal backtick (`) here.</code></p> -</code></pre><p>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: -</p> -<pre><code>A single backtick in a code span: `` ` `` +Unlike a pre-formatted code block, a code span indicates code within a +normal paragraph. For example:</p> +<pre> +<code>Use the `printf()` function. +</code> +</pre> +<p>will produce:</p> +<pre> +<code><p>Use the <code>printf()</code> function.</p> +</code> +</pre> +<p>To include a literal backtick character within a code span, you can use +multiple backticks as the opening and closing delimiters:</p> +<pre> +<code>``There is a literal backtick (`) here.`` +</code> +</pre> +<p>which will produce this:</p> +<pre> +<code><p><code>There is a literal backtick (`) here.</code></p> +</code> +</pre> +<p>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:</p> +<pre> +<code>A single backtick in a code span: `` ` `` A backtick-delimited string in a code span: `` `foo` `` -</code></pre><p>will produce: -</p> -<pre><code><p>A single backtick in a code span: <code>`</code></p> +</code> +</pre> +<p>will produce:</p> +<pre> +<code><p>A single backtick in a code span: <code>`</code></p> <p>A backtick-delimited string in a code span: <code>`foo`</code></p> -</code></pre><p>With a code span, ampersands and angle brackets are encoded as HTML - entities automatically, which makes it easy to include example HTML - tags. Markdown will turn this: -</p> -<pre><code>Please don't use any `<blink>` tags. -</code></pre><p>into: -</p> -<pre><code><p>Please don't use any <code>&lt;blink&gt;</code> tags.</p> -</code></pre><p>You can write this: -</p> -<pre><code>`&#8212;` is the decimal-encoded equivalent of `&mdash;`. -</code></pre><p>to produce: -</p> -<pre><code><p><code>&amp;#8212;</code> is the decimal-encoded +</code> +</pre> +<p>With a code span, ampersands and angle brackets are encoded as HTML +entities automatically, which makes it easy to include example HTML +tags. Markdown will turn this:</p> +<pre> +<code>Please don't use any `<blink>` tags. +</code> +</pre> +<p>into:</p> +<pre> +<code><p>Please don't use any <code>&lt;blink&gt;</code> tags.</p> +</code> +</pre> +<p>You can write this:</p> +<pre> +<code>`&#8212;` is the decimal-encoded equivalent of `&mdash;`. +</code> +</pre> +<p>to produce:</p> +<pre> +<code><p><code>&amp;#8212;</code> is the decimal-encoded equivalent of <code>&amp;mdash;</code>.</p> -</code></pre><h3 id="img">Images</h3> - +</code> +</pre> +<p><h3 id="img">Images</h3></p> <p>Admittedly, it's fairly difficult to devise a "natural" syntax for - placing images into a plain text document format. -</p> +placing images into a plain text document format.</p> <p>Markdown uses an image syntax that is intended to resemble the syntax - for links, allowing for two styles: <em>inline</em> and <em>reference</em>. -</p> -<p>Inline image syntax looks like this: -</p> -<pre><code>![Alt text](/path/to/img.jpg) +for links, allowing for two styles: <em>inline</em> and <em>reference</em>.</p> +<p>Inline image syntax looks like this:</p> +<pre> +<code>![Alt text](/path/to/img.jpg) ![Alt text](/path/to/img.jpg "Optional title") -</code></pre><p>That is: -</p> +</code> +</pre> +<p>That is:</p> <ul> - <li> - An exclamation mark: <code>!</code>; - </li> - - <li> - followed by a set of square brackets, containing the <code>alt</code> -attribute text for the image; - </li> - - <li> - followed by a set of parentheses, containing the URL or path to - the image, and an optional <code>title</code> attribute enclosed in double -or single quotes. - </li> +<li>An exclamation mark: <code>!</code>;</li> +<li>followed by a set of square brackets, containing the <code>alt</code>attribute text for the image;</li> +<li>followed by a set of parentheses, containing the URL or path to +the image, and an optional <code>title</code>attribute enclosed in double +or single quotes.</li> </ul> -<p>Reference-style image syntax looks like this: -</p> -<pre><code>![Alt text][id] -</code></pre><p>Where "id" is the name of a defined image reference. Image references - are defined using syntax identical to link references: -</p> -<pre><code>[id]: url/to/image "Optional title attribute" -</code></pre><p>As of this writing, Markdown has no syntax for specifying the - dimensions of an image; if this is important to you, you can simply - use regular HTML <code><img></code> tags. -</p> +<p>Reference-style image syntax looks like this:</p> +<pre> +<code>![Alt text][id] +</code> +</pre> +<p>Where "id" is the name of a defined image reference. Image references +are defined using syntax identical to link references:</p> +<pre> +<code>[id]: url/to/image "Optional title attribute" +</code> +</pre> +<p>As of this writing, Markdown has no syntax for specifying the +dimensions of an image; if this is important to you, you can simply +use regular HTML <code><img></code>tags.</p> <hr /> - -<h2 id="misc">Miscellaneous</h2> - -<h3 id="autolink">Automatic Links</h3> - -<p>Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this: -</p> -<pre><code><http://example.com/> -</code></pre><p>Markdown will turn this into: -</p> -<pre><code><a href="http://example.com/">http://example.com/</a> -</code></pre><p>Automatic links for email addresses work similarly, except that - Markdown will also perform a bit of randomized decimal and hex - entity-encoding to help obscure your address from address-harvesting - spambots. For example, Markdown will turn this: -</p> -<pre><code><address@example.com> -</code></pre><p>into something like this: -</p> -<pre><code><a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65; +<p><h2 id="misc">Miscellaneous</h2></p> +<p><h3 id="autolink">Automatic Links</h3></p> +<p>Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this:</p> +<pre> +<code><http://example.com/> +</code> +</pre> +<p>Markdown will turn this into:</p> +<pre> +<code><a href="http://example.com/">http://example.com/</a> +</code> +</pre> +<p>Automatic links for email addresses work similarly, except that +Markdown will also perform a bit of randomized decimal and hex +entity-encoding to help obscure your address from address-harvesting +spambots. For example, Markdown will turn this:</p> +<pre> +<code><address@example.com> +</code> +</pre> +<p>into something like this:</p> +<pre> +<code><a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65; &#115;&#115;&#64;&#101;&#120;&#x61;&#109;&#x70;&#x6C;e&#x2E;&#99;&#111; &#109;">&#x61;&#x64;&#x64;&#x72;&#x65;&#115;&#115;&#64;&#101;&#120;&#x61; &#109;&#x70;&#x6C;e&#x2E;&#99;&#111;&#109;</a> -</code></pre><p>which will render in a browser as a clickable link to "address@example.com". -</p> +</code> +</pre> +<p>which will render in a browser as a clickable link to "address@example.com".</p> <p>(This sort of entity-encoding trick will indeed fool many, if not - most, address-harvesting bots, but it definitely won't fool all of - them. It's better than nothing, but an address published in this way - will probably eventually start receiving spam.) -</p> -<h3 id="backslash">Backslash Escapes</h3> - +most, address-harvesting bots, but it definitely won't fool all of +them. It's better than nothing, but an address published in this way +will probably eventually start receiving spam.)</p> +<p><h3 id="backslash">Backslash Escapes</h3></p> <p>Markdown allows you to use backslash escapes to generate literal - characters which would otherwise have special meaning in Markdown's - formatting syntax. For example, if you wanted to surround a word with - literal asterisks (instead of an HTML <code><em></code> tag), you can backslashes - before the asterisks, like this: -</p> -<pre><code>\*literal asterisks\* -</code></pre><p>Markdown provides backslash escapes for the following characters: -</p> -<pre><code>\ backslash +characters which would otherwise have special meaning in Markdown's +formatting syntax. For example, if you wanted to surround a word with +literal asterisks (instead of an HTML <code><em></code>tag), you can backslashes +before the asterisks, like this:</p> +<pre> +<code>\*literal asterisks\* +</code> +</pre> +<p>Markdown provides backslash escapes for the following characters:</p> +<pre> +<code>\ backslash ` backtick * asterisk _ underscore @@ -830,4 +901,5 @@ _ underscore - minus sign (hyphen) . dot ! exclamation mark -</code></pre> +</code> +</pre> diff --git a/tests/markdown-test/nested-blockquotes.html b/tests/markdown-test/nested-blockquotes.html index 7a94df2..f1b017e 100644 --- a/tests/markdown-test/nested-blockquotes.html +++ b/tests/markdown-test/nested-blockquotes.html @@ -1,9 +1,7 @@ - -<blockquote><p>foo -</p> -<blockquote><p>bar -</p> -</blockquote><p>foo -</p> +<blockquote> +<p>foo</p> +<blockquote> +<p>bar</p> </blockquote> - +<p>foo</p> +</blockquote>
\ No newline at end of file diff --git a/tests/markdown-test/ordered-and-unordered-list.html b/tests/markdown-test/ordered-and-unordered-list.html index 928f094..e96cdba 100644 --- a/tests/markdown-test/ordered-and-unordered-list.html +++ b/tests/markdown-test/ordered-and-unordered-list.html @@ -1,273 +1,146 @@ - - <h2>Unordered</h2> -<p>Asterisks tight: -</p> +<p>Asterisks tight:</p> <ul> - <li> - asterisk 1 - </li> - - <li> - asterisk 2 - </li> - - <li> - asterisk 3 - </li> +<li>asterisk 1</li> +<li>asterisk 2</li> +<li>asterisk 3</li> </ul> -<p>Asterisks loose: -</p> +<p>Asterisks loose:</p> <ul> - <li><p>asterisk 1 -</p> - - </li> - - <li><p>asterisk 2 -</p> - - </li> - - <li><p>asterisk 3 -</p> - - </li> +<li> +<p>asterisk 1</p> +</li> +<li> +<p>asterisk 2</p> +</li> +<li> +<p>asterisk 3</p> +</li> </ul> <hr /> - -<p>Pluses tight: -</p> +<p>Pluses tight:</p> <ul> - <li> - Plus 1 - </li> - - <li> - Plus 2 - </li> - - <li> - Plus 3 - </li> +<li>Plus 1</li> +<li>Plus 2</li> +<li>Plus 3</li> </ul> -<p>Pluses loose: -</p> +<p>Pluses loose:</p> <ul> - <li><p>Plus 1 -</p> - - </li> - - <li><p>Plus 2 -</p> - - </li> - - <li><p>Plus 3 -</p> - - </li> +<li> +<p>Plus 1</p> +</li> +<li> +<p>Plus 2</p> +</li> +<li> +<p>Plus 3</p> +</li> </ul> <hr /> - -<p>Minuses tight: -</p> +<p>Minuses tight:</p> <ul> - <li> - Minus 1 - </li> - - <li> - Minus 2 - </li> - - <li> - Minus 3 - </li> +<li>Minus 1</li> +<li>Minus 2</li> +<li>Minus 3</li> </ul> -<p>Minuses loose: -</p> +<p>Minuses loose:</p> <ul> - <li><p>Minus 1 -</p> - - </li> - - <li><p>Minus 2 -</p> - - </li> - - <li><p>Minus 3 -</p> - - </li> +<li> +<p>Minus 1</p> +</li> +<li> +<p>Minus 2</p> +</li> +<li> +<p>Minus 3</p> +</li> </ul> - <h2>Ordered</h2> -<p>Tight: -</p> +<p>Tight:</p> <ol> - <li> - First - </li> - - <li> - Second - </li> - - <li> - Third - </li> +<li>First</li> +<li>Second</li> +<li>Third</li> </ol> -<p>and: -</p> +<p>and:</p> <ol> - <li> - One - </li> - - <li> - Two - </li> - - <li> - Three - </li> +<li>One</li> +<li>Two</li> +<li>Three</li> </ol> -<p>Loose using tabs: -</p> +<p>Loose using tabs:</p> <ol> - <li><p>First -</p> - - </li> - - <li><p>Second -</p> - - </li> - - <li><p>Third -</p> - - </li> +<li> +<p>First</p> +</li> +<li> +<p>Second</p> +</li> +<li> +<p>Third</p> +</li> </ol> -<p>and using spaces: -</p> +<p>and using spaces:</p> <ol> - <li><p>One -</p> - - </li> - - <li><p>Two -</p> - - </li> - - <li><p>Three -</p> - - </li> +<li> +<p>One</p> +</li> +<li> +<p>Two</p> +</li> +<li> +<p>Three</p> +</li> </ol> -<p>Multiple paragraphs: -</p> +<p>Multiple paragraphs:</p> <ol> - <li><p>Item 1, graf one. -</p> +<li> +<p>Item 1, graf one.</p> <p>Item 2. graf two. The quick brown fox jumped over the lazy dog's - back. -</p> - - </li> - - <li><p>Item 2. -</p> - - </li> - - <li><p>Item 3. -</p> - - </li> +back.</p> +</li> +<li> +<p>Item 2.</p> +</li> +<li> +<p>Item 3.</p> +</li> </ol> - <h2>Nested</h2> <ul> - <li> - Tab<ul> - <li> - Tab<ul> - <li> - Tab - </li> +<li>Tab<ul> +<li>Tab<ul> +<li>Tab</li> </ul> - - </li> +</li> </ul> - - </li> +</li> </ul> -<p>Here's another: -</p> +<p>Here's another:</p> <ol> - <li> - First - </li> - - <li> - Second:<ul> - <li> - Fee - </li> - - <li> - Fie - </li> - - <li> - Foe - </li> +<li>First</li> +<li>Second:<ul> +<li>Fee</li> +<li>Fie</li> +<li>Foe</li> </ul> - - </li> - - <li> - Third - </li> +</li> +<li>Third</li> </ol> -<p>Same thing but with paragraphs: -</p> +<p>Same thing but with paragraphs:</p> <ol> - <li><p>First -</p> - - </li> - - <li><p>Second: -</p> +<li> +<p>First</p> +</li> +<li> +<p>Second:</p> <ul> - <li> - Fee - </li> - - <li> - Fie - </li> - - <li> - Foe - </li> +<li>Fee</li> +<li>Fie</li> +<li>Foe</li> </ul> - - </li> - - <li><p>Third -</p> - - </li> +</li> +<li> +<p>Third</p> +</li> </ol> - - diff --git a/tests/markdown-test/strong-and-em-together.html b/tests/markdown-test/strong-and-em-together.html index 7bb56db..8a40b58 100644 --- a/tests/markdown-test/strong-and-em-together.html +++ b/tests/markdown-test/strong-and-em-together.html @@ -1,11 +1,16 @@ - -<p><strong><em>This is strong and em.</em></strong> +<p> +<strong> +<em>This is strong and em.</em> +</strong> </p> -<p>So is <strong><em>this</em></strong> word. +<p>So is <strong> +<em>this</em> +</strong>word.</p> +<p> +<strong> +<em>This is strong and em.</em> +</strong> </p> -<p><strong><em>This is strong and em.</em></strong> -</p> -<p>So is <strong><em>this</em></strong> word. -</p> - - +<p>So is <strong> +<em>this</em> +</strong>word.</p>
\ No newline at end of file diff --git a/tests/markdown-test/tabs.html b/tests/markdown-test/tabs.html index 3c91b64..f90fb95 100644 --- a/tests/markdown-test/tabs.html +++ b/tests/markdown-test/tabs.html @@ -1,29 +1,29 @@ - <ul> - <li><p>this is a list item - indented with tabs -</p> - - </li> - - <li><p>this is a list item - indented with spaces -</p> - - </li> +<li> +<p>this is a list item +indented with tabs</p> +</li> +<li> +<p>this is a list item +indented with spaces</p> +</li> </ul> -<p>Code: -</p> -<pre><code>this code block is indented by one tab -</code></pre><p>And: -</p> -<pre><code> this code block is indented by two tabs -</code></pre><p>And: -</p> -<pre><code>+ this is an example list item +<p>Code:</p> +<pre> +<code>this code block is indented by one tab +</code> +</pre> +<p>And:</p> +<pre> +<code> this code block is indented by two tabs +</code> +</pre> +<p>And:</p> +<pre> +<code>+ this is an example list item indented with tabs + this is an example list item indented with spaces -</code></pre> - +</code> +</pre> diff --git a/tests/markdown-test/tidyness.html b/tests/markdown-test/tidyness.html index 0431d2d..52b2eaf 100644 --- a/tests/markdown-test/tidyness.html +++ b/tests/markdown-test/tidyness.html @@ -1,18 +1,8 @@ - -<blockquote><p>A list within a blockquote: -</p> +<blockquote> +<p>A list within a blockquote:</p> <ul> - <li> - asterisk 1 - </li> - - <li> - asterisk 2 - </li> - - <li> - asterisk 3 - </li> +<li>asterisk 1</li> +<li>asterisk 2</li> +<li>asterisk 3</li> </ul> -</blockquote> - +</blockquote>
\ No newline at end of file |