diff options
| author | John MacFarlane <jgm@berkeley.edu> | 2014-07-21 22:29:16 -0700 | 
|---|---|---|
| committer | John MacFarlane <jgm@berkeley.edu> | 2014-08-13 22:56:32 -0700 | 
| commit | 870e63be7360b5a0097a27656048e853bc720464 (patch) | |
| tree | e8f19ee2d62e529115cb71dcda5f3298cca7d389 /oldtests | |
| parent | 650ad87f35f4405a2ca8270d2b2835daa442e5f1 (diff) | |
Initial commit
Diffstat (limited to 'oldtests')
144 files changed, 5015 insertions, 0 deletions
diff --git a/oldtests/Blockquotes/Indents.html b/oldtests/Blockquotes/Indents.html new file mode 100644 index 0000000..fd98ee8 --- /dev/null +++ b/oldtests/Blockquotes/Indents.html @@ -0,0 +1,12 @@ +<blockquote> +<p>one +blockquote</p> +</blockquote> +<blockquote> +<blockquote> +<blockquote> +<p>triply nested +triply nested</p> +</blockquote> +</blockquote> +</blockquote> diff --git a/oldtests/Blockquotes/Indents.markdown b/oldtests/Blockquotes/Indents.markdown new file mode 100644 index 0000000..f9342ff --- /dev/null +++ b/oldtests/Blockquotes/Indents.markdown @@ -0,0 +1,5 @@ +> one + > blockquote + +>>> triply nested +   >   >   > triply nested diff --git a/oldtests/Blockquotes/Nesting.html b/oldtests/Blockquotes/Nesting.html new file mode 100644 index 0000000..f40e999 --- /dev/null +++ b/oldtests/Blockquotes/Nesting.html @@ -0,0 +1,32 @@ +<p>These are all equivalent:</p> +<blockquote> +<blockquote> +<p>nested +blockquote</p> +</blockquote> +</blockquote> +<blockquote> +<blockquote> +<p>nested +blockquote</p> +</blockquote> +</blockquote> +<blockquote> +<blockquote> +<p>nested +blockquote</p> +</blockquote> +</blockquote> +<blockquote> +<blockquote> +<p>nested +blockquote</p> +</blockquote> +</blockquote> +<p>This is not:</p> +<blockquote> +<p>nested</p> +<blockquote> +<p>blockquote</p> +</blockquote> +</blockquote> diff --git a/oldtests/Blockquotes/Nesting.markdown b/oldtests/Blockquotes/Nesting.markdown new file mode 100644 index 0000000..3d67843 --- /dev/null +++ b/oldtests/Blockquotes/Nesting.markdown @@ -0,0 +1,22 @@ +These are all equivalent: + +> > nested +> > blockquote + + +>> nested +>> blockquote + + +> > nested +blockquote + + +> > nested +> blockquote + + +This is not: + +> nested +> > blockquote diff --git a/oldtests/Blockquotes/Separation.html b/oldtests/Blockquotes/Separation.html new file mode 100644 index 0000000..910d545 --- /dev/null +++ b/oldtests/Blockquotes/Separation.html @@ -0,0 +1,39 @@ +<p>One blockquote, two paragraphs:</p> +<blockquote> +<p>one</p> +<p>two</p> +</blockquote> +<p>Two blockquotes:</p> +<blockquote> +<p>one</p> +</blockquote> +<blockquote> +<p>two</p> +</blockquote> +<p>Nested blockquote, two paragraphs:</p> +<blockquote> +<blockquote> +<p>one</p> +<p>two</p> +</blockquote> +</blockquote> +<p>Nested blockquote, two blockquotes:</p> +<blockquote> +<blockquote> +<p>one</p> +</blockquote> +<blockquote> +<p>two</p> +</blockquote> +</blockquote> +<p>Two nested blockquotes:</p> +<blockquote> +<blockquote> +<p>one</p> +</blockquote> +</blockquote> +<blockquote> +<blockquote> +<p>two</p> +</blockquote> +</blockquote> diff --git a/oldtests/Blockquotes/Separation.markdown b/oldtests/Blockquotes/Separation.markdown new file mode 100644 index 0000000..823d865 --- /dev/null +++ b/oldtests/Blockquotes/Separation.markdown @@ -0,0 +1,29 @@ +One blockquote, two paragraphs: + +> one +> +> two + +Two blockquotes: + +> one + +> two + +Nested blockquote, two paragraphs: + +> > one +> > +> > two + +Nested blockquote, two blockquotes: + +> > one +> +> > two + +Two nested blockquotes: + +> > one + +> > two diff --git a/oldtests/Code/BlankLines.html b/oldtests/Code/BlankLines.html new file mode 100644 index 0000000..ae0abf7 --- /dev/null +++ b/oldtests/Code/BlankLines.html @@ -0,0 +1,33 @@ +<pre><code>foo + + + +bar +</code></pre> +<blockquote> +<pre><code>foo + + + +bar +</code></pre> +</blockquote> +<pre><code>foo + +     + +bar +</code></pre> +<ol> +<li><p>One</p> +<pre><code>CodeA + +CodeB +</code></pre></li> +<li><p>Two</p> +<pre><code>CodeA +</code></pre></li> +</ol> +<ol> +<li>One</li> +</ol> diff --git a/oldtests/Code/BlankLines.markdown b/oldtests/Code/BlankLines.markdown new file mode 100644 index 0000000..b0d5a0c --- /dev/null +++ b/oldtests/Code/BlankLines.markdown @@ -0,0 +1,28 @@ +    foo + + + +    bar +>     foo +> +> +> +>     bar +    foo + +         +  +    bar + +1. One + +       CodeA + +       CodeB + +2. Two + +       CodeA + + +1. One diff --git a/oldtests/Code/BlankLinesAtEnd.html b/oldtests/Code/BlankLinesAtEnd.html new file mode 100644 index 0000000..ac803d9 --- /dev/null +++ b/oldtests/Code/BlankLinesAtEnd.html @@ -0,0 +1,14 @@ +<ul> +<li><p>List</p> +<pre><code>code +</code></pre></li> +</ul> +<ul> +<li>one</li> +<li>two</li> +</ul> +<ul> +<li><p>one +not code</p></li> +<li><p>two</p></li> +</ul> diff --git a/oldtests/Code/BlankLinesAtEnd.markdown b/oldtests/Code/BlankLinesAtEnd.markdown new file mode 100644 index 0000000..55879ae --- /dev/null +++ b/oldtests/Code/BlankLinesAtEnd.markdown @@ -0,0 +1,14 @@ +* List + +      code + + +  * one +  * two + + + +* one +      not code + +* two diff --git a/oldtests/Code/FenceMatching.html b/oldtests/Code/FenceMatching.html new file mode 100644 index 0000000..4c7468e --- /dev/null +++ b/oldtests/Code/FenceMatching.html @@ -0,0 +1,8 @@ +<pre class="abc"><code>``` +</code></pre> +<pre class="blah"><code> +````` + +```` + +</code></pre> diff --git a/oldtests/Code/FenceMatching.markdown b/oldtests/Code/FenceMatching.markdown new file mode 100644 index 0000000..d86169a --- /dev/null +++ b/oldtests/Code/FenceMatching.markdown @@ -0,0 +1,10 @@ +````abc +``` +```` +``````blah + +````` + +```` + +``````````` diff --git a/oldtests/Code/FencedCodeBlocks.html b/oldtests/Code/FencedCodeBlocks.html new file mode 100644 index 0000000..4813d72 --- /dev/null +++ b/oldtests/Code/FencedCodeBlocks.html @@ -0,0 +1,24 @@ +<p>This is a fenced code block:</p> +<pre class="haskell"><code>pairs :: [(Int,Char)] +pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']] +</code></pre> +<p>Here is one with tildes:</p> +<pre class="haskell"><code>pairs :: [(Int,Char)] +pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']] +</code></pre> +<p>More metadata:</p> +<pre class="haskell"><code>pairs :: [(Int,Char)] +pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']] +</code></pre> +<p>More backticks:</p> +<pre class="haskell"><code>pairs :: [(Int,Char)] +pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']] + +backticks :: String +backticks = "`````" +</code></pre> +<p>Without an end:</p> +<pre><code>code with +no end + +</code></pre> diff --git a/oldtests/Code/FencedCodeBlocks.markdown b/oldtests/Code/FencedCodeBlocks.markdown new file mode 100644 index 0000000..6ccc6be --- /dev/null +++ b/oldtests/Code/FencedCodeBlocks.markdown @@ -0,0 +1,35 @@ +This is a fenced code block: +```haskell +pairs :: [(Int,Char)] +pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']] +``` +Here is one with tildes: + +~~~ haskell +pairs :: [(Int,Char)] +pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']] +~~~ + +More metadata: + +```haskell numberLines start=50 +pairs :: [(Int,Char)] +pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']] +``` + +More backticks: + +```````` haskell +pairs :: [(Int,Char)] +pairs = [(x,y) | x <- [0..10], y <- ['a'..'z']] + +backticks :: String +backticks = "`````" +````````````` + +Without an end: + +``` +code with +no end + diff --git a/oldtests/Code/IndentedCodeBlocks.html b/oldtests/Code/IndentedCodeBlocks.html new file mode 100644 index 0000000..0b9b7e7 --- /dev/null +++ b/oldtests/Code/IndentedCodeBlocks.html @@ -0,0 +1,22 @@ +<p>Indented code with two space indent in first and last line:</p> +<pre><code>  two spaces *hello* +{ more } + +  and +</code></pre> +<p>Indented code requires a leading/trailing blank line: +quick-command --option "$*"</p> +<p>Indented code does not require a trailing blank line:</p> +<pre><code>code +</code></pre> +<p>and not code.</p> +<p>Code in blockquote:</p> +<blockquote> +<pre><code>code +</code></pre> +</blockquote> +<p>Code in list:</p> +<ol> +<li><pre><code>code +</code></pre></li> +</ol> diff --git a/oldtests/Code/IndentedCodeBlocks.markdown b/oldtests/Code/IndentedCodeBlocks.markdown new file mode 100644 index 0000000..2a99db0 --- /dev/null +++ b/oldtests/Code/IndentedCodeBlocks.markdown @@ -0,0 +1,22 @@ +Indented code with two space indent in first and last line: + +      two spaces *hello* +    { more } + +      and + +Indented code requires a leading/trailing blank line: +    quick-command --option "$*" + +Indented code does not require a trailing blank line: + +    code +and not code. + +Code in blockquote: + +>     code + +Code in list: + +1.     code diff --git a/oldtests/Code/IndentedFences.html b/oldtests/Code/IndentedFences.html new file mode 100644 index 0000000..66e76da --- /dev/null +++ b/oldtests/Code/IndentedFences.html @@ -0,0 +1,20 @@ +<pre><code>a +</code></pre> +<pre><code>z +</code></pre> +<pre><code>a +a +a + a +</code></pre> +<ul> +<li><p>foo</p> +<pre><code>     Hello + +World +</code></pre></li> +</ul> +<blockquote> +<pre><code>a +</code></pre> +</blockquote> diff --git a/oldtests/Code/IndentedFences.markdown b/oldtests/Code/IndentedFences.markdown new file mode 100644 index 0000000..098545f --- /dev/null +++ b/oldtests/Code/IndentedFences.markdown @@ -0,0 +1,26 @@ +  ``` +  a +  ``` + +  ``` +z +``` + +  ``` +a + a +  a +   a +  ``` + +* foo + +     ``` +          Hello +     +  World +     ``` + +>  ``` +>a +>``` diff --git a/oldtests/Code/IndentedInLists.html b/oldtests/Code/IndentedInLists.html new file mode 100644 index 0000000..76ed424 --- /dev/null +++ b/oldtests/Code/IndentedInLists.html @@ -0,0 +1,22 @@ +<ul> +<li><pre><code>code starts here +</code></pre></li> +</ul> +<ol> +<li><p>foo</p> +<pre><code>code starts here +</code></pre></li> +<li><p>foo</p> +<pre><code>code starts here +</code></pre></li> +</ol> +<ul> +<li><p>foo</p> +<pre><code>code starts here +</code></pre> +<ul> +<li><p>foo</p> +<pre><code>code starts here +</code></pre></li> +</ul></li> +</ul> diff --git a/oldtests/Code/IndentedInLists.markdown b/oldtests/Code/IndentedInLists.markdown new file mode 100644 index 0000000..54e1af1 --- /dev/null +++ b/oldtests/Code/IndentedInLists.markdown @@ -0,0 +1,17 @@ +-     code starts here + +1.  foo + +        code starts here + +2. foo + +       code starts here + +- foo + +      code starts here + +  - foo + +        code starts here diff --git a/oldtests/Code/Inline.html b/oldtests/Code/Inline.html new file mode 100644 index 0000000..9c52790 --- /dev/null +++ b/oldtests/Code/Inline.html @@ -0,0 +1,13 @@ +<p>All of these are equivalent:</p> +<ul> +<li><code>*hi*</code></li> +<li><code>*hi*</code></li> +<li><code>*hi*</code></li> +<li><code>*hi*</code></li> +<li><code>*hi*</code></li> +</ul> +<p>Backticks in code spans:</p> +<ul> +<li><code>``code``</code></li> +<li><code>``code``</code></li> +</ul> diff --git a/oldtests/Code/Inline.markdown b/oldtests/Code/Inline.markdown new file mode 100644 index 0000000..38e5b0c --- /dev/null +++ b/oldtests/Code/Inline.markdown @@ -0,0 +1,13 @@ +All of these are equivalent: + +- `*hi*` +- ` *hi* ` +- ``*hi* `` +- ````*hi*```` +- `*hi* +  ` + +Backticks in code spans: + +- ``` ``code`` ``` +- ` ``code`` ` diff --git a/oldtests/Code/ListBreakAfter.html b/oldtests/Code/ListBreakAfter.html new file mode 100644 index 0000000..29d6d5e --- /dev/null +++ b/oldtests/Code/ListBreakAfter.html @@ -0,0 +1,30 @@ +<ul> +<li><p>foo</p> +<ul> +<li><p>bar</p> +<pre><code>code1 +code2 +</code></pre> +<p>code?</p></li> +</ul></li> +<li><p>foo</p> +<ul> +<li><p>bar</p> +<pre><code>code1 +code2 +</code></pre></li> +</ul></li> +</ul> +<pre><code>code? +</code></pre> +<ul> +<li>foo +<ul> +<li><p>bar</p> +<pre><code>code1 +code2 +</code></pre></li> +</ul></li> +</ul> +<pre><code>code? +</code></pre> diff --git a/oldtests/Code/ListBreakAfter.markdown b/oldtests/Code/ListBreakAfter.markdown new file mode 100644 index 0000000..4fa79f1 --- /dev/null +++ b/oldtests/Code/ListBreakAfter.markdown @@ -0,0 +1,26 @@ +* foo +  * bar + +        code1 +        code2 + +    code? + +* foo +  * bar + +        code1 +        code2 + + +    code? + +* foo +  * bar + +        code1 +        code2 + + + +    code? diff --git a/oldtests/Code/WhiteLines.html b/oldtests/Code/WhiteLines.html new file mode 100644 index 0000000..7fa137f --- /dev/null +++ b/oldtests/Code/WhiteLines.html @@ -0,0 +1,7 @@ +<pre><code>ABC +   +  + +DEF +</code></pre> +<p>GHI</p> diff --git a/oldtests/Code/WhiteLines.markdown b/oldtests/Code/WhiteLines.markdown new file mode 100644 index 0000000..ea17af7 --- /dev/null +++ b/oldtests/Code/WhiteLines.markdown @@ -0,0 +1,9 @@ +    ABC +       +      +   +    DEF +            +      + +GHI diff --git a/oldtests/Emphasis/Escapes.html b/oldtests/Emphasis/Escapes.html new file mode 100644 index 0000000..17c9e2d --- /dev/null +++ b/oldtests/Emphasis/Escapes.html @@ -0,0 +1 @@ +<p><em>hi* there</em></p> diff --git a/oldtests/Emphasis/Escapes.markdown b/oldtests/Emphasis/Escapes.markdown new file mode 100644 index 0000000..4f14698 --- /dev/null +++ b/oldtests/Emphasis/Escapes.markdown @@ -0,0 +1 @@ +*hi\* there*
\ No newline at end of file diff --git a/oldtests/Emphasis/NestedEmphAndStrong.html b/oldtests/Emphasis/NestedEmphAndStrong.html new file mode 100644 index 0000000..b41b527 --- /dev/null +++ b/oldtests/Emphasis/NestedEmphAndStrong.html @@ -0,0 +1,66 @@ +<ol> +<li><strong><em>test test</em></strong></li> +<li><strong><em>test test</em></strong></li> +<li><em>test <strong>test</strong></em></li> +<li><strong>test <em>test</em></strong></li> +<li><strong><em>test</em> test</strong></li> +<li><em><strong>test</strong> test</em></li> +<li><strong><em>test</em> test</strong></li> +<li><strong>test <em>test</em></strong></li> +<li><em>test <strong>test</strong></em></li> +<li><em>test <strong>test</strong></em></li> +<li><strong>test <em>test</em></strong></li> +<li><strong><em>test</em> test</strong></li> +<li><em><strong>test</strong> test</em></li> +<li><strong><em>test</em> test</strong></li> +<li><strong>test <em>test</em></strong></li> +<li><em>test <strong>test</strong></em></li> +</ol> +<p>Incorrect nesting:</p> +<ol> +<li>*test <strong>test* test</strong></li> +<li>_test <strong>test_ test</strong></li> +<li>**test <em>test</em>* test*</li> +<li>__test␣<em>test</em>_␣test_</li> +<li><em>test  <em>test</em> test</em></li> +<li><em>test  <em>test</em> test</em></li> +<li><strong>test <strong>test</strong> test</strong></li> +<li><strong>test <strong>test</strong> test</strong></li> +</ol> +<p>No emphasis:</p> +<ol> +<li>test* test *test</li> +<li>test** test **test</li> +<li>test_ test _test</li> +<li>test__ test __test</li> +</ol> +<p>Middle-word emphasis (asterisks):</p> +<ol> +<li><em>a</em>b</li> +<li>a<em>b</em></li> +<li>a<em>b</em>c</li> +<li><strong>a</strong>b</li> +<li>a<strong>b</strong></li> +<li>a<strong>b</strong>c</li> +</ol> +<p>Middle-word emphasis (underscore):</p> +<ol> +<li>_a_b</li> +<li>a_b_</li> +<li>a_b_c</li> +<li>__a__b</li> +<li>a__b__</li> +<li>a__b__c</li> +<li>my_precious_file.txt</li> +</ol> +<p>Tricky Cases:</p> +<ol> +<li>E**. <strong>Test</strong> TestTestTest</li> +<li>E**. <strong>Test</strong> Test Test Test</li> +</ol> +<p>Overlong emphasis:</p> +<p>Name: ____________<br /> +Organization: ____<br /> +Region/Country: __</p> +<p>_____Cut here_____</p> +<p>____Cut here____</p> diff --git a/oldtests/Emphasis/NestedEmphAndStrong.markdown b/oldtests/Emphasis/NestedEmphAndStrong.markdown new file mode 100644 index 0000000..ec7da25 --- /dev/null +++ b/oldtests/Emphasis/NestedEmphAndStrong.markdown @@ -0,0 +1,69 @@ +1.  ***test test*** +2.  ___test test___ +3.  *test **test*** +4.  **test *test*** +5.  ***test* test** +6.  ***test** test* +7.  ***test* test** +8.  **test *test*** +9.  *test **test*** +10. _test __test___ +11. __test _test___ +12. ___test_ test__ +13. ___test__ test_ +14. ___test_ test__ +15. __test _test___ +16. _test __test___ + +Incorrect nesting: + +1. *test **test* test** +2. _test __test_ test__ +3. **test *test** test* +4. __test _test__ test_ +5. *test  *test* test* +6. _test  _test_ test_ +7. **test **test** test** +8. __test __test__ test__ + +No emphasis: + +1. test* test *test +2. test** test **test +3. test_ test _test +4. test__ test __test + +Middle-word emphasis (asterisks): + +1.  *a*b +2.   a*b* +3.   a*b*c +4. **a**b +5.   a**b** +6.   a**b**c + +Middle-word emphasis (underscore): + +1.  _a_b +2.   a_b_ +3.   a_b_c +4. __a__b +5.   a__b__ +6.   a__b__c +7.   my_precious_file.txt + +Tricky Cases: + +1.  E**. **Test** TestTestTest +2.  E**. **Test** Test Test Test + +Overlong emphasis: + +Name: ____________   +Organization: ____   +Region/Country: __ + +_____Cut here_____ + +____Cut here____ + diff --git a/oldtests/Emphasis/Pathological.html b/oldtests/Emphasis/Pathological.html new file mode 100644 index 0000000..37eb9fa --- /dev/null +++ b/oldtests/Emphasis/Pathological.html @@ -0,0 +1,24 @@ +<p>This input can take a long time to parse in some implementations.</p> +<p>*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +aaaaa</p> +<p><em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a<strong>a<em>a</em><em>a</em>a</strong>a<em>a</em><em>a</em>a**</p> diff --git a/oldtests/Emphasis/Pathological.markdown b/oldtests/Emphasis/Pathological.markdown new file mode 100644 index 0000000..5deb95e --- /dev/null +++ b/oldtests/Emphasis/Pathological.markdown @@ -0,0 +1,26 @@ +This input can take a long time to parse in some implementations. + +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +*a +aaaaa + +*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**a*a** diff --git a/oldtests/Emphasis/Punctuation.html b/oldtests/Emphasis/Punctuation.html new file mode 100644 index 0000000..6061b81 --- /dev/null +++ b/oldtests/Emphasis/Punctuation.html @@ -0,0 +1,10 @@ +<p>Here is a _ that is <em>cool</em>.</p> +<p><em>Foo.</em></p> +<p><strong>Foo.</strong></p> +<p><strong><em>Foo.</em></strong></p> +<p><em>Foo</em>.</p> +<p><strong>Foo</strong>.</p> +<p><strong><em>Foo</em></strong>.</p> +<p><em>Foo</em>. <em>Foo</em>? <em>Foo</em>! <em>Foo</em>: <em>Foo</em>; (<em>Foo</em>)</p> +<p><strong>Foo</strong>. <strong>Foo</strong>? <strong>Foo</strong>! <strong>Foo</strong>: <strong>Foo</strong>; (<strong>Foo</strong>)</p> +<p><strong><em>Foo</em></strong>. <strong><em>Foo</em></strong>? <strong><em>Foo</em></strong>! <strong><em>Foo</em></strong>: <strong><em>Foo</em></strong>; (<strong><em>Foo</em></strong>)</p> diff --git a/oldtests/Emphasis/Punctuation.markdown b/oldtests/Emphasis/Punctuation.markdown new file mode 100644 index 0000000..e3f23b8 --- /dev/null +++ b/oldtests/Emphasis/Punctuation.markdown @@ -0,0 +1,19 @@ +Here is a _ that is _cool_. + +_Foo._ + +__Foo.__ + +___Foo.___ + +_Foo_. + +__Foo__. + +___Foo___. + +_Foo_. _Foo_? _Foo_! _Foo_: _Foo_; (_Foo_) + +__Foo__. __Foo__? __Foo__! __Foo__: __Foo__; (__Foo__) + +___Foo___. ___Foo___? ___Foo___! ___Foo___: ___Foo___; (___Foo___) diff --git a/oldtests/HTML/Blocks.html b/oldtests/HTML/Blocks.html new file mode 100644 index 0000000..dc80335 --- /dev/null +++ b/oldtests/HTML/Blocks.html @@ -0,0 +1,18 @@ +<div> +  <div> +   *raw html* +  </div> +</div> +<div> +<div> +<p><em>this is markdown</em></p> +</div> +</div> +<!-- comment +here --> +<!-- +<p><em>commented out markdown</em></p> +--> +<div> +* raw html with trailing space  +</div> diff --git a/oldtests/HTML/Blocks.markdown b/oldtests/HTML/Blocks.markdown new file mode 100644 index 0000000..a83fa66 --- /dev/null +++ b/oldtests/HTML/Blocks.markdown @@ -0,0 +1,26 @@ +<div> +  <div> +   *raw html* +  </div> +</div> + +<div> +<div> + +*this is markdown* + +</div> +</div> + +<!-- comment +here --> + +<!-- + +*commented out markdown* + +--> + +<div> +* raw html with trailing space  +</div> diff --git a/oldtests/HTML/Inline.html b/oldtests/HTML/Inline.html new file mode 100644 index 0000000..94d40ac --- /dev/null +++ b/oldtests/HTML/Inline.html @@ -0,0 +1,8 @@ +<p><span>hi</span> +<span><code>hi</code></span> +<span class="foo bar" +title='whatever' blue=yes/> +Hello <!-- this +is a comment --> there. +A line<br />break. +<not a tag></p> diff --git a/oldtests/HTML/Inline.markdown b/oldtests/HTML/Inline.markdown new file mode 100644 index 0000000..2259421 --- /dev/null +++ b/oldtests/HTML/Inline.markdown @@ -0,0 +1,8 @@ +<span>hi</span> +<span>`hi`</span> +<span class="foo bar" +title='whatever' blue=yes/> +Hello <!-- this +is a comment --> there. +A line<br />break. +<not a tag> diff --git a/oldtests/HTML/UppercaseTags.html b/oldtests/HTML/UppercaseTags.html new file mode 100644 index 0000000..8d2d828 --- /dev/null +++ b/oldtests/HTML/UppercaseTags.html @@ -0,0 +1,4 @@ +<DIV> +this is a block +</DIV> +<p>Here is some <I>inline</I> html.</p> diff --git a/oldtests/HTML/UppercaseTags.markdown b/oldtests/HTML/UppercaseTags.markdown new file mode 100644 index 0000000..b476ffb --- /dev/null +++ b/oldtests/HTML/UppercaseTags.markdown @@ -0,0 +1,5 @@ +<DIV> +this is a block +</DIV> + +Here is some <I>inline</I> html.
\ No newline at end of file diff --git a/oldtests/Headers/ATX.html b/oldtests/Headers/ATX.html new file mode 100644 index 0000000..f375b98 --- /dev/null +++ b/oldtests/Headers/ATX.html @@ -0,0 +1,14 @@ +<h1>One</h1> +<h2>Two</h2> +<h3>Three</h3> +<h4>Four</h4> +<h5>Five</h5> +<h6>Six</h6> +<p>####### Seven</p> +<h3>Three with</h3> +<h2>Spacing    doesn't    matter</h2> +<h2>Escaped final #</h2> +<p>## Not a header</p> +<p>#5 not a header</p> +<h2></h2> +<p>(empty header)</p> diff --git a/oldtests/Headers/ATX.markdown b/oldtests/Headers/ATX.markdown new file mode 100644 index 0000000..f687aa5 --- /dev/null +++ b/oldtests/Headers/ATX.markdown @@ -0,0 +1,20 @@ +# One +## Two +### Three +#### Four +##### Five + +###### Six + +####### Seven + +### Three with ### +##      Spacing    doesn't    matter    ##       +## Escaped final \## + +\## Not a header + +#5 not a header + +## +(empty header) diff --git a/oldtests/Headers/Setext.html b/oldtests/Headers/Setext.html new file mode 100644 index 0000000..787fb02 --- /dev/null +++ b/oldtests/Headers/Setext.html @@ -0,0 +1,9 @@ +<h1>Level one</h1> +<h2>Two</h2> +<p>In a paragraph</p> +<h2>Level two</h2> +<p>more text</p> +<p>====== +no empty headers</p> +<p>not a header</p> +<hr /> diff --git a/oldtests/Headers/Setext.markdown b/oldtests/Headers/Setext.markdown new file mode 100644 index 0000000..da0c7e2 --- /dev/null +++ b/oldtests/Headers/Setext.markdown @@ -0,0 +1,17 @@ +Level one +========= + +Two +--- + +In a paragraph + +Level two +--------- +more text + +====== +no empty headers + +not a header +------------ ----- diff --git a/oldtests/Links/AngleBrackets.html b/oldtests/Links/AngleBrackets.html new file mode 100644 index 0000000..21ac00d --- /dev/null +++ b/oldtests/Links/AngleBrackets.html @@ -0,0 +1,3 @@ +<p><a href="?}]*+|&)">silly URL with angle brackets</a>.</p> +<p><a href="url://with spaces" title="title">link</a>.</p> +<p><a href="url with spaces" title="title">link</a>.</p> diff --git a/oldtests/Links/AngleBrackets.markdown b/oldtests/Links/AngleBrackets.markdown new file mode 100644 index 0000000..c2e06ff --- /dev/null +++ b/oldtests/Links/AngleBrackets.markdown @@ -0,0 +1,7 @@ +[silly URL with angle brackets](<?}]*+|&)>). + +[link](<url://with spaces> "title"). + +[link][]. + +[link]: <url with spaces> "title" diff --git a/oldtests/Links/AutoLinks.html b/oldtests/Links/AutoLinks.html new file mode 100644 index 0000000..092353f --- /dev/null +++ b/oldtests/Links/AutoLinks.html @@ -0,0 +1,7 @@ +<p><a href="http://google.com?query=blah&time=15">http://google.com?query=blah&time=15</a> +<a href="mailto:someone.else@somedomain.com">someone.else@somedomain.com</a> +<a href="ftp://old.ftp.server.edu">ftp://old.ftp.server.edu</a> +<a href="git://some.git.repo/project.git">git://some.git.repo/project.git</a> +<not autolink> +<http://not.an autolink> +<relative/not/autolink></p> diff --git a/oldtests/Links/AutoLinks.markdown b/oldtests/Links/AutoLinks.markdown new file mode 100644 index 0000000..bf95b8d --- /dev/null +++ b/oldtests/Links/AutoLinks.markdown @@ -0,0 +1,7 @@ +<http://google.com?query=blah&time=15> +<someone.else@somedomain.com> +<ftp://old.ftp.server.edu> +<git://some.git.repo/project.git> +<not autolink> +<http://not.an autolink> +<relative/not/autolink> diff --git a/oldtests/Links/BackticksInLinks.html b/oldtests/Links/BackticksInLinks.html new file mode 100644 index 0000000..ff70383 --- /dev/null +++ b/oldtests/Links/BackticksInLinks.html @@ -0,0 +1 @@ +<p><a href="/url">the right bracket character (<code>]</code>)</a></p> diff --git a/oldtests/Links/BackticksInLinks.markdown b/oldtests/Links/BackticksInLinks.markdown new file mode 100644 index 0000000..539fd52 --- /dev/null +++ b/oldtests/Links/BackticksInLinks.markdown @@ -0,0 +1 @@ +[the right bracket character (`]`)](/url) diff --git a/oldtests/Links/CaseInsensitiveReferences.html b/oldtests/Links/CaseInsensitiveReferences.html new file mode 100644 index 0000000..afe4557 --- /dev/null +++ b/oldtests/Links/CaseInsensitiveReferences.html @@ -0,0 +1 @@ +<p><a href="/url">Толпой</a> is a Russian word.</p> diff --git a/oldtests/Links/CaseInsensitiveReferences.markdown b/oldtests/Links/CaseInsensitiveReferences.markdown new file mode 100644 index 0000000..f9653b9 --- /dev/null +++ b/oldtests/Links/CaseInsensitiveReferences.markdown @@ -0,0 +1,3 @@ +[Толпой] is a Russian word. + +[ТОЛПОЙ]: /url diff --git a/oldtests/Links/Entities.html b/oldtests/Links/Entities.html new file mode 100644 index 0000000..252dadb --- /dev/null +++ b/oldtests/Links/Entities.html @@ -0,0 +1,2 @@ +<p><a href="http://göögle.com">http://göögle.com</a></p> +<p><a href="/url" title="göögle & yahoo">hi</a></p> diff --git a/oldtests/Links/Entities.markdown b/oldtests/Links/Entities.markdown new file mode 100644 index 0000000..d81ee36 --- /dev/null +++ b/oldtests/Links/Entities.markdown @@ -0,0 +1,3 @@ +<http://göögle.com> + +[hi](/url "göögle & yahoo") diff --git a/oldtests/Links/InlineLinks.html b/oldtests/Links/InlineLinks.html new file mode 100644 index 0000000..ae33f33 --- /dev/null +++ b/oldtests/Links/InlineLinks.html @@ -0,0 +1,10 @@ +<ol> +<li><a href="/url">link</a></li> +<li><a href="/url" title="title">link</a></li> +<li><a href="/url" title="title">link</a></li> +<li><a href="/url with spaces" title="title +with linebreak">link <em>with +linebreak</em></a>.</li> +<li><a href="/url(withparens)" title="and single quoted title">link</a></li> +<li>[not a link] (/url)</li> +</ol> diff --git a/oldtests/Links/InlineLinks.markdown b/oldtests/Links/InlineLinks.markdown new file mode 100644 index 0000000..a822c4d --- /dev/null +++ b/oldtests/Links/InlineLinks.markdown @@ -0,0 +1,9 @@ +1. [link](/url) +2. [link](/url "title") +3. [link](/url + "title") +4. [link *with +linebreak*](</url with spaces> "title +with linebreak"). +5. [link](/url(withparens) 'and single quoted title') +6. [not a link] (/url) diff --git a/oldtests/Links/ParensInURLs.html b/oldtests/Links/ParensInURLs.html new file mode 100644 index 0000000..9cd6de7 --- /dev/null +++ b/oldtests/Links/ParensInURLs.html @@ -0,0 +1,6 @@ +<p><a href="/url(test)" title="title">Inline link 1 with parens</a>.</p> +<p><a href="/url(test)" title="title">Inline link 2 with parens</a>.</p> +<p><a href="/url(test)" title="title">Inline link 3 with non-escaped parens</a>.</p> +<p><a href="/url(test)" title="title">Inline link 4 with non-escaped parens</a>.</p> +<p><a href="/url(test)" title="title">Reference link 1 with parens</a>.</p> +<p><a href="/url(test)" title="title">Reference link 2 with parens</a>.</p> diff --git a/oldtests/Links/ParensInURLs.markdown b/oldtests/Links/ParensInURLs.markdown new file mode 100644 index 0000000..bb7be4f --- /dev/null +++ b/oldtests/Links/ParensInURLs.markdown @@ -0,0 +1,14 @@ +[Inline link 1 with parens](/url\(test\) "title"). + +[Inline link 2 with parens](</url\(test\)> "title"). + +[Inline link 3 with non-escaped parens](/url(test) "title"). + +[Inline link 4 with non-escaped parens](</url(test)> "title"). + +[Reference link 1 with parens][1]. + +[Reference link 2 with parens][2]. + +  [1]: /url(test) "title" +  [2]: </url(test)> "title" diff --git a/oldtests/Links/ReferenceLinks.html b/oldtests/Links/ReferenceLinks.html new file mode 100644 index 0000000..397cdb2 --- /dev/null +++ b/oldtests/Links/ReferenceLinks.html @@ -0,0 +1,7 @@ +<ol> +<li><p><a href="/url" title="even in a list item">Link references</a> can be defined anywhere.</p></li> +</ol> +<blockquote> +<p><a href="/foo" title="can break +lines">another</a> one</p> +</blockquote> diff --git a/oldtests/Links/ReferenceLinks.markdown b/oldtests/Links/ReferenceLinks.markdown new file mode 100644 index 0000000..ebcf5a9 --- /dev/null +++ b/oldtests/Links/ReferenceLinks.markdown @@ -0,0 +1,10 @@ +1.  [Link references] can be defined anywhere. + +    [Link references]: /url +      (even in a list item) + +> [another] one +> +> [another]: +> /foo "can break +> lines" diff --git a/oldtests/Lists/CodeBlocksInLists.html b/oldtests/Lists/CodeBlocksInLists.html new file mode 100644 index 0000000..fcd3e2a --- /dev/null +++ b/oldtests/Lists/CodeBlocksInLists.html @@ -0,0 +1,14 @@ +<ol> +<li><p>list item +code</p></li> +<li><p>list item</p> +<pre><code>code +</code></pre></li> +<li><pre><code>code +</code></pre></li> +<li><pre><code>code +</code></pre></li> +<li><pre><code>code +code +</code></pre></li> +</ol> diff --git a/oldtests/Lists/CodeBlocksInLists.markdown b/oldtests/Lists/CodeBlocksInLists.markdown new file mode 100644 index 0000000..7730808 --- /dev/null +++ b/oldtests/Lists/CodeBlocksInLists.markdown @@ -0,0 +1,18 @@ +1. list item +       code + +2. list item +   ~~~ +   code +   ~~~ + +3. ~~~ +   code +   ~~~ + +4. ~~~ +   code +   ~~~ + +5.     code +       code diff --git a/oldtests/Lists/ConsecutiveLists.html b/oldtests/Lists/ConsecutiveLists.html new file mode 100644 index 0000000..f8f9098 --- /dev/null +++ b/oldtests/Lists/ConsecutiveLists.html @@ -0,0 +1,20 @@ +<ul> +<li>one</li> +<li>one</li> +</ul> +<ul> +<li>two</li> +<li>two</li> +</ul> +<ul> +<li>three</li> +<li>three</li> +</ul> +<ol> +<li>four</li> +<li>four</li> +</ol> +<ol> +<li>five</li> +<li>five</li> +</ol> diff --git a/oldtests/Lists/ConsecutiveLists.markdown b/oldtests/Lists/ConsecutiveLists.markdown new file mode 100644 index 0000000..c4faa54 --- /dev/null +++ b/oldtests/Lists/ConsecutiveLists.markdown @@ -0,0 +1,10 @@ +* one +* one ++ two ++ two +- three +- three +1. four +1. four +1) five +1) five diff --git a/oldtests/Lists/EmptyListItem.html b/oldtests/Lists/EmptyListItem.html new file mode 100644 index 0000000..2c23fe1 --- /dev/null +++ b/oldtests/Lists/EmptyListItem.html @@ -0,0 +1,10 @@ +<ul> +<li>one</li> +<li></li> +<li>three</li> +</ul> +<ol> +<li>one</li> +<li></li> +<li>three</li> +</ol> diff --git a/oldtests/Lists/EmptyListItem.markdown b/oldtests/Lists/EmptyListItem.markdown new file mode 100644 index 0000000..d30cbc3 --- /dev/null +++ b/oldtests/Lists/EmptyListItem.markdown @@ -0,0 +1,7 @@ +- one +-  +- three + +1. one +2. +3. three diff --git a/oldtests/Lists/InBlockquote.html b/oldtests/Lists/InBlockquote.html new file mode 100644 index 0000000..da233e8 --- /dev/null +++ b/oldtests/Lists/InBlockquote.html @@ -0,0 +1,22 @@ +<blockquote> +<ul> +<li>tight</li> +<li>tight</li> +</ul> +</blockquote> +<blockquote> +<ul> +<li><p>loose</p></li> +<li><p>loose</p></li> +</ul> +</blockquote> +<blockquote> +<ul> +<li>one-item list</li> +</ul> +</blockquote> +<blockquote> +<ul> +<li>one-item list</li> +</ul> +</blockquote> diff --git a/oldtests/Lists/InBlockquote.markdown b/oldtests/Lists/InBlockquote.markdown new file mode 100644 index 0000000..511563b --- /dev/null +++ b/oldtests/Lists/InBlockquote.markdown @@ -0,0 +1,12 @@ +> - tight +> - tight + + +> - loose +> +> - loose + + +> - one-item list + +> - one-item list diff --git a/oldtests/Lists/Indents.html b/oldtests/Lists/Indents.html new file mode 100644 index 0000000..a11a5a6 --- /dev/null +++ b/oldtests/Lists/Indents.html @@ -0,0 +1,22 @@ +<blockquote> +<ul> +<li><p>foo</p> +<p>bar</p></li> +</ul> +</blockquote> +<ul> +<li>one</li> +<li>two</li> +</ul> +<ul> +<li>one</li> +<li>two</li> +<li>three</li> +</ul> +<ul> +<li>one +<ul> +<li>two</li> +</ul></li> +<li>three</li> +</ul> diff --git a/oldtests/Lists/Indents.markdown b/oldtests/Lists/Indents.markdown new file mode 100644 index 0000000..293d112 --- /dev/null +++ b/oldtests/Lists/Indents.markdown @@ -0,0 +1,17 @@ + > * foo +> +>   bar + + +  - one +  - two + + +- one + - two +- three + + +- one +  - two +- three diff --git a/oldtests/Lists/ListsAndHRs.html b/oldtests/Lists/ListsAndHRs.html new file mode 100644 index 0000000..40826f7 --- /dev/null +++ b/oldtests/Lists/ListsAndHRs.html @@ -0,0 +1,7 @@ +<ul> +<li>item 1 +<ul> +<li>item 2</li> +</ul></li> +</ul> +<hr /> diff --git a/oldtests/Lists/ListsAndHRs.markdown b/oldtests/Lists/ListsAndHRs.markdown new file mode 100644 index 0000000..19c07e7 --- /dev/null +++ b/oldtests/Lists/ListsAndHRs.markdown @@ -0,0 +1,3 @@ +*   item 1 +    *   item 2 +*   *   *   *   * diff --git a/oldtests/Lists/ListsAndSetextHeaders.html b/oldtests/Lists/ListsAndSetextHeaders.html new file mode 100644 index 0000000..c6af9eb --- /dev/null +++ b/oldtests/Lists/ListsAndSetextHeaders.html @@ -0,0 +1,6 @@ +<ol> +<li>item</li> +<li>item +Not header</li> +</ol> +<hr /> diff --git a/oldtests/Lists/ListsAndSetextHeaders.markdown b/oldtests/Lists/ListsAndSetextHeaders.markdown new file mode 100644 index 0000000..acfa655 --- /dev/null +++ b/oldtests/Lists/ListsAndSetextHeaders.markdown @@ -0,0 +1,4 @@ +1. item +2. item +Not header +---------- diff --git a/oldtests/Lists/MultipleBlankLines.html b/oldtests/Lists/MultipleBlankLines.html new file mode 100644 index 0000000..d894db1 --- /dev/null +++ b/oldtests/Lists/MultipleBlankLines.html @@ -0,0 +1,56 @@ +<ol> +<li><p>First Item</p> +<ul> +<li><p>one</p> +<ul> +<li>two</li> +</ul></li> +<li><p>one</p> +<ul> +<li>two</li> +</ul></li> +</ul></li> +<li><p>Second Item</p> +<ul> +<li>one +<ul> +<li>two</li> +</ul></li> +</ul></li> +</ol> +<ul> +<li>one +<ul> +<li>two</li> +</ul></li> +</ul> +<ol> +<li><p>Third Item</p> +<ul> +<li>one +<ul> +<li>two</li> +</ul></li> +</ul></li> +</ol> +<ul> +<li>one +<ul> +<li>two</li> +</ul></li> +</ul> +<ol> +<li><p>Fourth Item</p> +<ul> +<li>one +<ul> +<li>two</li> +</ul></li> +</ul></li> +</ol> +<ul> +<li>one +<ul> +<li>two</li> +</ul></li> +</ul> diff --git a/oldtests/Lists/MultipleBlankLines.markdown b/oldtests/Lists/MultipleBlankLines.markdown new file mode 100644 index 0000000..e24a4f2 --- /dev/null +++ b/oldtests/Lists/MultipleBlankLines.markdown @@ -0,0 +1,37 @@ +1. First Item + +   * one +     * two + +   * one +     * two + +1. Second Item + +   * one +     * two + + +   * one +     * two + +1. Third Item + +   * one +     * two + + + +   * one +     * two + +1. Fourth Item + +   * one +     * two + + + + +   * one +     * two diff --git a/oldtests/Lists/Start.html b/oldtests/Lists/Start.html new file mode 100644 index 0000000..46e0550 --- /dev/null +++ b/oldtests/Lists/Start.html @@ -0,0 +1,11 @@ +<ol start="4"> +<li>this list starts with 4.</li> +<li>and continues</li> +<li>the continuation number is irrelevant.</li> +</ol> +<ol start="2001"> +<li>a space odyssey</li> +</ol> +<ol> +<li>standard lists get no start attribute</li> +</ol> diff --git a/oldtests/Lists/Start.markdown b/oldtests/Lists/Start.markdown new file mode 100644 index 0000000..175226f --- /dev/null +++ b/oldtests/Lists/Start.markdown @@ -0,0 +1,7 @@ +4. this list starts with 4. +5. and continues +1. the continuation number is irrelevant. + +2001) a space odyssey + +1. standard lists get no start attribute diff --git a/oldtests/Lists/Sublists.html b/oldtests/Lists/Sublists.html new file mode 100644 index 0000000..af62915 --- /dev/null +++ b/oldtests/Lists/Sublists.html @@ -0,0 +1,49 @@ +<p>Four levels:</p> +<ul> +<li>one +<ul> +<li>two +<ul> +<li>three +<ul> +<li>four</li> +</ul></li> +</ul></li> +</ul></li> +</ul> +<ol> +<li>one +<ol> +<li>two +<ol> +<li>three +<ol> +<li>four</li> +</ol></li> +</ol></li> +</ol></li> +</ol> +<ol> +<li>one +<ul> +<li>two +<ol> +<li>three +<ul> +<li>four</li> +</ul></li> +</ol></li> +</ul></li> +</ol> +<ul> +<li>one +<ul> +<li>two +<ol> +<li>three +<ol> +<li>four</li> +</ol></li> +</ol></li> +</ul></li> +</ul> diff --git a/oldtests/Lists/Sublists.markdown b/oldtests/Lists/Sublists.markdown new file mode 100644 index 0000000..9eced9e --- /dev/null +++ b/oldtests/Lists/Sublists.markdown @@ -0,0 +1,24 @@ +Four levels: + +- one +  - two +    - three +      - four + + +1. one +   1.  two +       1.  three +           1.  four + + +1) one +   -  two +      1) three +         - four + + +- one +  - two +    1. three +       1) four diff --git a/oldtests/Lists/TightAndLoose.html b/oldtests/Lists/TightAndLoose.html new file mode 100644 index 0000000..7792ebb --- /dev/null +++ b/oldtests/Lists/TightAndLoose.html @@ -0,0 +1,49 @@ +<ol> +<li>tight</li> +</ol> +<ul> +<li>tight</li> +<li>list</li> +</ul> +<ul> +<li><p>loose</p></li> +<li><p>list</p></li> +</ul> +<ol> +<li>tight</li> +<li>list</li> +</ol> +<ol> +<li><p>loose</p></li> +<li><p>list</p></li> +</ol> +<ol> +<li><p>loose</p> +<ul> +<li>sublist</li> +</ul></li> +</ol> +<ol> +<li>tight +<ul> +<li>sublist</li> +</ul></li> +</ol> +<ul> +<li>tight +<blockquote> +<p>blockquote +and</p> +</blockquote> +<pre><code>code +</code></pre></li> +<li>tight</li> +</ul> +<ul> +<li>tight +<ul> +<li><p>with loose</p></li> +<li><p>sublist</p></li> +</ul></li> +<li>tight</li> +</ul> diff --git a/oldtests/Lists/TightAndLoose.markdown b/oldtests/Lists/TightAndLoose.markdown new file mode 100644 index 0000000..263a34c --- /dev/null +++ b/oldtests/Lists/TightAndLoose.markdown @@ -0,0 +1,45 @@ +1. tight + + +- tight +- list + + +- loose + +- list + + +1. tight +2. list + + +1. loose + +2. list + + +1. loose + +   - sublist + + + +1. tight +   - sublist + + +- tight +  > blockquote +  and +  ``` +  code +  ``` +- tight + + +- tight +  - with loose + +  - sublist +- tight diff --git a/oldtests/Lists/TightLooseBlockquote.html b/oldtests/Lists/TightLooseBlockquote.html new file mode 100644 index 0000000..7e78214 --- /dev/null +++ b/oldtests/Lists/TightLooseBlockquote.html @@ -0,0 +1,32 @@ +<ul> +<li>tight I +<blockquote> +<p>bq</p> +</blockquote></li> +<li>tight I</li> +</ul> +<ul> +<li>tight II +<blockquote> +<p>bq</p> +</blockquote> +foo</li> +<li>tight II</li> +</ul> +<ol> +<li>Blank lines in bq don't break list +<blockquote> +<p>bq</p> +</blockquote></li> +<li>Should say (2) in output</li> +</ol> +<ul> +<li>Blank lines in bq don't break LI +<ul> +<li>item A +<blockquote> +<p>bq</p> +</blockquote></li> +<li>item B</li> +</ul></li> +</ul> diff --git a/oldtests/Lists/TightLooseBlockquote.markdown b/oldtests/Lists/TightLooseBlockquote.markdown new file mode 100644 index 0000000..08200cc --- /dev/null +++ b/oldtests/Lists/TightLooseBlockquote.markdown @@ -0,0 +1,25 @@ +* tight I +  > bq +  > +* tight I + + +* tight II +  > bq +  > +  foo +* tight II + +1. Blank lines in bq don't break list +   > bq +   > +   > +1. Should say (2) in output + +* Blank lines in bq don't break LI +  * item A +    > bq +    > +    > +  * item B +  
\ No newline at end of file diff --git a/oldtests/Lists/TightLooseMore.html b/oldtests/Lists/TightLooseMore.html new file mode 100644 index 0000000..f26f457 --- /dev/null +++ b/oldtests/Lists/TightLooseMore.html @@ -0,0 +1,7 @@ +<ul> +<li><p>foo</p> +<ul> +<li>bar</li> +</ul> +<p>blah</p></li> +</ul> diff --git a/oldtests/Lists/TightLooseMore.markdown b/oldtests/Lists/TightLooseMore.markdown new file mode 100644 index 0000000..7ace63f --- /dev/null +++ b/oldtests/Lists/TightLooseMore.markdown @@ -0,0 +1,4 @@ +* foo +  * bar + +  blah
\ No newline at end of file diff --git a/oldtests/Lists/TwoBlankLinesEndList.html b/oldtests/Lists/TwoBlankLinesEndList.html new file mode 100644 index 0000000..629add1 --- /dev/null +++ b/oldtests/Lists/TwoBlankLinesEndList.html @@ -0,0 +1,21 @@ +<ol> +<li><p>one</p></li> +<li><p>two</p></li> +</ol> +<ol> +<li>new list</li> +</ol> +<blockquote> +<ul> +<li><p>one</p></li> +<li><p>two</p></li> +</ul> +<ul> +<li>new list</li> +</ul> +</blockquote> +<ol> +<li>one</li> +</ol> +<pre><code>code +</code></pre> diff --git a/oldtests/Lists/TwoBlankLinesEndList.markdown b/oldtests/Lists/TwoBlankLinesEndList.markdown new file mode 100644 index 0000000..2984a19 --- /dev/null +++ b/oldtests/Lists/TwoBlankLinesEndList.markdown @@ -0,0 +1,20 @@ +1. one + +2. two + + +1. new list + + +> - one +> +> - two +> +> +> - new list + + +1.  one + + +    code diff --git a/oldtests/Makefile b/oldtests/Makefile new file mode 100644 index 0000000..c8a30bd --- /dev/null +++ b/oldtests/Makefile @@ -0,0 +1,55 @@ +SHELL=/bin/bash +TESTDIR ?= * +PATT ?= . +TESTS=$(shell ls $(TESTDIR)/*.markdown | grep $(PATT)) +DIFFS=$(patsubst %.markdown,%.diff,$(TESTS)) +PROG ?= ../stmd +FILTER ?= perl -pe 's/ /␣/g' +TIDYCMD ?= tidy -asxhtml -utf8 --show-body-only yes --show-warnings no -quiet +DETAILS ?= 1 + +# Check to see if echo supports -e option to allow backslash escapes +ifeq ($(shell echo -e),-e) +ECHO=echo +else +ECHO=echo -e +endif + +all: $(DIFFS) +	PASS=0;TESTS=0; \ +	for f in $(DIFFS); do \ +	  let TESTS=TESTS+1; \ +	  [ -s $$f ] || let PASS=PASS+1; \ +	done; \ +	$(ECHO)  "\033[1m$$PASS of $$TESTS tests passed.\033[0m"; \ +	if [ $$TESTS -eq $$PASS ]; then exit 0; else exit 1; fi + +%.actual.html: %.markdown +ifeq ($(TIDY),1) +	-cat $< | $(PROG) | $(TIDYCMD) > $@ +else +	-cat $< | $(PROG) > $@ +endif + +%.expected.html: %.html +ifeq ($(TIDY),1) +	-$(TIDYCMD) $< > $@ +else +	cp $< $@ +endif + +%.diff: %.expected.html %.actual.html +	diff --unified=1 <(cat $(word 1,$^) | $(FILTER)) <(cat $(word 2,$^) | $(FILTER)) > $@ ; \ +	  if [ -s $@ ]; then \ +		$(ECHO)  "\033[1;31m✘ $(patsubst %.diff,%,$@)\033[0m"; \ +		if [ $(DETAILS) == "1" ]; then \ +			$(ECHO)  "\033[0;36m" ; cat $@; $(ECHO)  "\033[0m"; \ +		fi \ +	  else \ +		$(ECHO)  "\033[1;32m✓ $(patsubst %.diff,%,$@)\033[0m"; \ +	  fi + +.PHONY: all clean + +clean: +	-@rm */*.{diff,actual.html,expected.html} diff --git a/oldtests/Misc/BackslashEscapes.html b/oldtests/Misc/BackslashEscapes.html new file mode 100644 index 0000000..3eb2aed --- /dev/null +++ b/oldtests/Misc/BackslashEscapes.html @@ -0,0 +1,14 @@ +<p>*not emphasized* +\<em>emphasis</em> +**not bold** +<br/> not a tag +[link](/foo) not a link +<a href="/foo)" title="title"">link</a> +`not code`</p> +<p>1. not a list item</p> +<p>* not a list.</p> +<p># Not a header</p> +<p>[foo]: /url "not a reference"</p> +<p>$ ^ ; can be escaped. +\a \b \T cannot. +unicode letters and symbols cannot: \π \‥.</p> diff --git a/oldtests/Misc/BackslashEscapes.markdown b/oldtests/Misc/BackslashEscapes.markdown new file mode 100644 index 0000000..23496dc --- /dev/null +++ b/oldtests/Misc/BackslashEscapes.markdown @@ -0,0 +1,19 @@ +\*not emphasized* +\\*emphasis* +\*\*not bold** +\<br/> not a tag +\[link](/foo) not a link +[link](/foo\) "title\"") +\`not code` + +1\. not a list item + +\* not a list. + +\# Not a header + +\[foo]: /url "not a reference" + +\$ \^ \; can be escaped. +\a \b \T cannot. +unicode letters and symbols cannot: \π \‥. diff --git a/oldtests/Misc/Laziness.html b/oldtests/Misc/Laziness.html new file mode 100644 index 0000000..e130eb5 --- /dev/null +++ b/oldtests/Misc/Laziness.html @@ -0,0 +1,22 @@ +<blockquote> +<ol> +<li>one +two</li> +</ol> +</blockquote> +<p>Laziness only affects paragraph continuations:</p> +<blockquote> +<pre><code>code +</code></pre> +</blockquote> +<pre><code>not same code block +</code></pre> +<ol> +<li>hello</li> +</ol> +<hr /> +<blockquote> +<pre><code></code></pre> +</blockquote> +<p>code</p> +<pre><code></code></pre> diff --git a/oldtests/Misc/Laziness.markdown b/oldtests/Misc/Laziness.markdown new file mode 100644 index 0000000..2c32870 --- /dev/null +++ b/oldtests/Misc/Laziness.markdown @@ -0,0 +1,14 @@ +> 1.  one +> two + +Laziness only affects paragraph continuations: + +>     code +    not same code block + +1.    hello +----- + +> ``` +code +``` diff --git a/oldtests/Misc/LineBreaks.html b/oldtests/Misc/LineBreaks.html new file mode 100644 index 0000000..2d85e85 --- /dev/null +++ b/oldtests/Misc/LineBreaks.html @@ -0,0 +1,11 @@ +<p>Two spaces<br /> +break a line. Or more than two<br /> +and spaces in the following line are absorbed.</p> +<p>You can also break lines with<br /> +a backslash.</p> +<p>Two spaces at the end of a paragraph are +not a line break.</p> +<p>A backslash at the end of a paragraph is +not a line break.\</p> +<h2>Similarly with setext headers</h2> +<h2>And with backslashes\</h2> diff --git a/oldtests/Misc/LineBreaks.markdown b/oldtests/Misc/LineBreaks.markdown new file mode 100644 index 0000000..3632dcb --- /dev/null +++ b/oldtests/Misc/LineBreaks.markdown @@ -0,0 +1,18 @@ +Two spaces   +break a line. Or more than two       +  and spaces in the following line are absorbed. + +You can also break lines with\ +a backslash. + +Two spaces at the end of a paragraph are +not a line break.   + +A backslash at the end of a paragraph is +not a line break.\ + +Similarly with setext headers    +------------------------------- + +And with backslashes\ +--------------------- diff --git a/oldtests/Misc/Transitions.html b/oldtests/Misc/Transitions.html new file mode 100644 index 0000000..fceff9f --- /dev/null +++ b/oldtests/Misc/Transitions.html @@ -0,0 +1,26 @@ +<blockquote> +<p>blockquote</p> +<blockquote> +<p>blockquote</p> +</blockquote> +</blockquote> +<ol> +<li>list</li> +<li>list +<ul> +<li>sublist</li> +</ul></li> +</ol> +<hr /> +<p>paragraph</p> +<h2>header</h2> +<h3>header</h3> +<pre><code>code +</code></pre> +<pre><code>code +</code></pre> +<div> + <div> +# not a header + </div> +</div> diff --git a/oldtests/Misc/Transitions.markdown b/oldtests/Misc/Transitions.markdown new file mode 100644 index 0000000..5f3a9d3 --- /dev/null +++ b/oldtests/Misc/Transitions.markdown @@ -0,0 +1,20 @@ +> blockquote +> > blockquote +1. list +2. list +   - sublist +* * * * * +paragraph + +header +------ +### header +    code +``` +code +``` +<div> + <div> +# not a header + </div> +</div> diff --git a/oldtests/Original/Amps_and_angle_encoding.html b/oldtests/Original/Amps_and_angle_encoding.html new file mode 100644 index 0000000..fc1b2c3 --- /dev/null +++ b/oldtests/Original/Amps_and_angle_encoding.html @@ -0,0 +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> diff --git a/oldtests/Original/Amps_and_angle_encoding.markdown b/oldtests/Original/Amps_and_angle_encoding.markdown new file mode 100644 index 0000000..0e9527f --- /dev/null +++ b/oldtests/Original/Amps_and_angle_encoding.markdown @@ -0,0 +1,21 @@ +AT&T has an ampersand in their name. + +AT&T is another way to write it. + +This & that. + +4 < 5. + +6 > 5. + +Here's a [link] [1] with an ampersand in the URL. + +Here's a link with an amersand in the link text: [AT&T] [2]. + +Here's an inline [link](/script?foo=1&bar=2). + +Here's an inline [link](</script?foo=1&bar=2>). + + +[1]: http://example.com/?foo=1&bar=2 +[2]: http://att.com/  "AT&T"
\ No newline at end of file diff --git a/oldtests/Original/Auto_links.html b/oldtests/Original/Auto_links.html new file mode 100644 index 0000000..f517fe6 --- /dev/null +++ b/oldtests/Original/Auto_links.html @@ -0,0 +1,13 @@ +<p>Link: <a href="http://example.com/">http://example.com/</a>.</p> +<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> +</ul> +<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></p> +<pre><code>or here: <http://example.com/> +</code></pre> diff --git a/oldtests/Original/Auto_links.markdown b/oldtests/Original/Auto_links.markdown new file mode 100644 index 0000000..abbc488 --- /dev/null +++ b/oldtests/Original/Auto_links.markdown @@ -0,0 +1,13 @@ +Link: <http://example.com/>. + +With an ampersand: <http://example.com/?foo=1&bar=2> + +* In a list? +* <http://example.com/> +* It should. + +> Blockquoted: <http://example.com/> + +Auto-links should not occur here: `<http://example.com/>` + +	or here: <http://example.com/>
\ No newline at end of file diff --git a/oldtests/Original/Backslash_escapes.html b/oldtests/Original/Backslash_escapes.html new file mode 100644 index 0000000..9a83379 --- /dev/null +++ b/oldtests/Original/Backslash_escapes.html @@ -0,0 +1,75 @@ +<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: \` + +Asterisk: \* + +Underscore: \_ + +Left brace: \{ + +Right brace: \} + +Left bracket: \[ + +Right bracket: \] + +Left paren: \( + +Right paren: \) + +Greater-than: \> + +Hash: \# + +Period: \. + +Bang: \! + +Plus: \+ + +Minus: \- +</code></pre> +<p>Nor should these, which occur in code spans:</p> +<p>Backslash: <code>\\</code></p> +<p>Backtick: <code>\`</code></p> +<p>Asterisk: <code>\*</code></p> +<p>Underscore: <code>\_</code></p> +<p>Left brace: <code>\{</code></p> +<p>Right brace: <code>\}</code></p> +<p>Left bracket: <code>\[</code></p> +<p>Right bracket: <code>\]</code></p> +<p>Left paren: <code>\(</code></p> +<p>Right paren: <code>\)</code></p> +<p>Greater-than: <code>\></code></p> +<p>Hash: <code>\#</code></p> +<p>Period: <code>\.</code></p> +<p>Bang: <code>\!</code></p> +<p>Plus: <code>\+</code></p> +<p>Minus: <code>\-</code></p> +<p>These should get escaped, even though they're matching pairs for +other Markdown constructs:</p> +<p>*asterisks*</p> +<p>_underscores_</p> +<p>`backticks`</p> +<p>This is a code span with a literal backslash-backtick sequence: <code>\`</code></p> +<p>This is a tag with unescaped backticks <span attr='`ticks`'>bar</span>.</p> +<p>This is a tag with backslashes <span attr='\\backslashes\\'>bar</span>.</p> diff --git a/oldtests/Original/Backslash_escapes.markdown b/oldtests/Original/Backslash_escapes.markdown new file mode 100644 index 0000000..5b014cb --- /dev/null +++ b/oldtests/Original/Backslash_escapes.markdown @@ -0,0 +1,120 @@ +These should all get escaped: + +Backslash: \\ + +Backtick: \` + +Asterisk: \* + +Underscore: \_ + +Left brace: \{ + +Right brace: \} + +Left bracket: \[ + +Right bracket: \] + +Left paren: \( + +Right paren: \) + +Greater-than: \> + +Hash: \# + +Period: \. + +Bang: \! + +Plus: \+ + +Minus: \- + + + +These should not, because they occur within a code block: + +	Backslash: \\ + +	Backtick: \` + +	Asterisk: \* + +	Underscore: \_ + +	Left brace: \{ + +	Right brace: \} + +	Left bracket: \[ + +	Right bracket: \] + +	Left paren: \( + +	Right paren: \) + +	Greater-than: \> + +	Hash: \# + +	Period: \. + +	Bang: \! + +	Plus: \+ + +	Minus: \- + + +Nor should these, which occur in code spans: + +Backslash: `\\` + +Backtick: `` \` `` + +Asterisk: `\*` + +Underscore: `\_` + +Left brace: `\{` + +Right brace: `\}` + +Left bracket: `\[` + +Right bracket: `\]` + +Left paren: `\(` + +Right paren: `\)` + +Greater-than: `\>` + +Hash: `\#` + +Period: `\.` + +Bang: `\!` + +Plus: `\+` + +Minus: `\-` + + +These should get escaped, even though they're matching pairs for +other Markdown constructs: + +\*asterisks\* + +\_underscores\_ + +\`backticks\` + +This is a code span with a literal backslash-backtick sequence: `` \` `` + +This is a tag with unescaped backticks <span attr='`ticks`'>bar</span>. + +This is a tag with backslashes <span attr='\\backslashes\\'>bar</span>. diff --git a/oldtests/Original/Blockquotes_with_code_blocks.html b/oldtests/Original/Blockquotes_with_code_blocks.html new file mode 100644 index 0000000..fd1cb1b --- /dev/null +++ b/oldtests/Original/Blockquotes_with_code_blocks.html @@ -0,0 +1,12 @@ +<blockquote> +<p>Example:</p> +<pre><code>sub status { +    print "working"; +} +</code></pre> +<p>Or:</p> +<pre><code>sub status { +    return "working"; +} +</code></pre> +</blockquote> diff --git a/oldtests/Original/Blockquotes_with_code_blocks.markdown b/oldtests/Original/Blockquotes_with_code_blocks.markdown new file mode 100644 index 0000000..c31d171 --- /dev/null +++ b/oldtests/Original/Blockquotes_with_code_blocks.markdown @@ -0,0 +1,11 @@ +> Example: +>  +>     sub status { +>         print "working"; +>     } +>  +> Or: +>  +>     sub status { +>         return "working"; +>     } diff --git a/oldtests/Original/Code_Blocks.html b/oldtests/Original/Code_Blocks.html new file mode 100644 index 0000000..7d89615 --- /dev/null +++ b/oldtests/Original/Code_Blocks.html @@ -0,0 +1,12 @@ +<pre><code>code block on the first line +</code></pre> +<p>Regular text.</p> +<pre><code>code block indented by spaces +</code></pre> +<p>Regular text.</p> +<pre><code>the lines in this block   +all contain trailing spaces   +</code></pre> +<p>Regular Text.</p> +<pre><code>code block on the last line +</code></pre> diff --git a/oldtests/Original/Code_Blocks.markdown b/oldtests/Original/Code_Blocks.markdown new file mode 100644 index 0000000..b54b092 --- /dev/null +++ b/oldtests/Original/Code_Blocks.markdown @@ -0,0 +1,14 @@ +	code block on the first line +	 +Regular text. + +    code block indented by spaces + +Regular text. + +	the lines in this block   +	all contain trailing spaces   + +Regular Text. + +	code block on the last line
\ No newline at end of file diff --git a/oldtests/Original/Code_Spans.html b/oldtests/Original/Code_Spans.html new file mode 100644 index 0000000..27acea1 --- /dev/null +++ b/oldtests/Original/Code_Spans.html @@ -0,0 +1,3 @@ +<p><code><test a="</code> content of attribute <code>"></code></p> +<p>Fix for backticks within HTML tag: <span attr='`ticks`'>like this</span></p> +<p>Here's how you put <code>`backticks`</code> in a code span.</p> diff --git a/oldtests/Original/Code_Spans.markdown b/oldtests/Original/Code_Spans.markdown new file mode 100644 index 0000000..5c229c7 --- /dev/null +++ b/oldtests/Original/Code_Spans.markdown @@ -0,0 +1,5 @@ +`<test a="` content of attribute `">` + +Fix for backticks within HTML tag: <span attr='`ticks`'>like this</span> + +Here's how you put `` `backticks` `` in a code span.
\ No newline at end of file diff --git a/oldtests/Original/Horizontal_rules.html b/oldtests/Original/Horizontal_rules.html new file mode 100644 index 0000000..a89efdb --- /dev/null +++ b/oldtests/Original/Horizontal_rules.html @@ -0,0 +1,39 @@ +<p>Dashes:</p> +<hr /> +<hr /> +<hr /> +<hr /> +<pre><code>--- +</code></pre> +<hr /> +<hr /> +<hr /> +<hr /> +<pre><code>- - - +</code></pre> +<p>Asterisks:</p> +<hr /> +<hr /> +<hr /> +<hr /> +<pre><code>*** +</code></pre> +<hr /> +<hr /> +<hr /> +<hr /> +<pre><code>* * * +</code></pre> +<p>Underscores:</p> +<hr /> +<hr /> +<hr /> +<hr /> +<pre><code>___ +</code></pre> +<hr /> +<hr /> +<hr /> +<hr /> +<pre><code>_ _ _ +</code></pre> diff --git a/oldtests/Original/Horizontal_rules.markdown b/oldtests/Original/Horizontal_rules.markdown new file mode 100644 index 0000000..1594bda --- /dev/null +++ b/oldtests/Original/Horizontal_rules.markdown @@ -0,0 +1,67 @@ +Dashes: + +--- + + --- +  +  --- + +   --- + +	--- + +- - - + + - - - +  +  - - - + +   - - - + +	- - - + + +Asterisks: + +*** + + *** +  +  *** + +   *** + +	*** + +* * * + + * * * +  +  * * * + +   * * * + +	* * * + + +Underscores: + +___ + + ___ +  +  ___ + +   ___ + +    ___ + +_ _ _ + + _ _ _ +  +  _ _ _ + +   _ _ _ + +    _ _ _ diff --git a/oldtests/Original/Images.html b/oldtests/Original/Images.html new file mode 100644 index 0000000..bd5a7e0 --- /dev/null +++ b/oldtests/Original/Images.html @@ -0,0 +1,11 @@ +<p><img src="/path/to/img.jpg" alt="Alt text" /></p> +<p><img src="/path/to/img.jpg" alt="Alt text" title="Optional title" /></p> +<p>Inline within a paragraph: <a href="/url/">alt text</a>.</p> +<p><img src="/url/" alt="alt text" title="title preceded by two spaces" /></p> +<p><img src="/url/" alt="alt text" title="title has spaces afterward" /></p> +<p><img src="/url/" alt="alt text" /></p> +<p><img src="/url/" alt="alt text" title="with a title" />.</p> +<p><img src="" alt="Empty" /></p> +<p><img src="http://example.com/(parens).jpg" alt="this is a stupid URL" /></p> +<p><img src="/url/" alt="alt text" /></p> +<p><img src="/url/" alt="alt text" title="Title here" /></p> diff --git a/oldtests/Original/Images.markdown b/oldtests/Original/Images.markdown new file mode 100644 index 0000000..5707590 --- /dev/null +++ b/oldtests/Original/Images.markdown @@ -0,0 +1,26 @@ + + + + +Inline within a paragraph: [alt text](/url/). + + + + + + + +. + +![Empty]() + +.jpg) + + +![alt text][foo] + +  [foo]: /url/ + +![alt text][bar] + +  [bar]: /url/ "Title here"
\ No newline at end of file diff --git a/oldtests/Original/Inline_HTML_Advanced.html b/oldtests/Original/Inline_HTML_Advanced.html new file mode 100644 index 0000000..631c135 --- /dev/null +++ b/oldtests/Original/Inline_HTML_Advanced.html @@ -0,0 +1,23 @@ +<p>Simple block on one line:</p> +<div>foo</div> +<p>And nested without indentation:</p> +<div> +<div> +<div> +foo +</div> +<div style=">"/> +</div> +<div>bar</div> +</div> +<p>And with attributes:</p> +<div> +    <div id="foo"> +    </div> +</div> +<p>This was broken in 1.0.2b7:</p> +<div class="inlinepage"> +<div class="toggleableend"> +foo +</div> +</div> diff --git a/oldtests/Original/Inline_HTML_Advanced.markdown b/oldtests/Original/Inline_HTML_Advanced.markdown new file mode 100644 index 0000000..3633f81 --- /dev/null +++ b/oldtests/Original/Inline_HTML_Advanced.markdown @@ -0,0 +1,30 @@ +Simple block on one line: + +<div>foo</div> + +And nested without indentation: + +<div> +<div> +<div> +foo +</div> +<div style=">"/> +</div> +<div>bar</div> +</div> + +And with attributes: + +<div> +	<div id="foo"> +	</div> +</div> + +This was broken in 1.0.2b7: + +<div class="inlinepage"> +<div class="toggleableend"> +foo +</div> +</div> diff --git a/oldtests/Original/Inline_HTML_Simple.html b/oldtests/Original/Inline_HTML_Simple.html new file mode 100644 index 0000000..923a18c --- /dev/null +++ b/oldtests/Original/Inline_HTML_Simple.html @@ -0,0 +1,45 @@ +<p>Here's a simple block:</p> +<div> +    foo +</div> +<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> +    <div> +        <div> +            foo +        </div> +    </div> +</div> +<p>This should just be an HTML comment:</p> +<!-- Comment --> +<p>Multiline:</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" > diff --git a/oldtests/Original/Inline_HTML_Simple.markdown b/oldtests/Original/Inline_HTML_Simple.markdown new file mode 100644 index 0000000..14aa2dc --- /dev/null +++ b/oldtests/Original/Inline_HTML_Simple.markdown @@ -0,0 +1,69 @@ +Here's a simple block: + +<div> +	foo +</div> + +This should be a code block, though: + +	<div> +		foo +	</div> + +As should this: + +	<div>foo</div> + +Now, nested: + +<div> +	<div> +		<div> +			foo +		</div> +	</div> +</div> + +This should just be an HTML comment: + +<!-- Comment --> + +Multiline: + +<!-- +Blah +Blah +--> + +Code block: + +	<!-- Comment --> + +Just plain comment, with trailing spaces on the line: + +<!-- foo -->    + +Code: + +	<hr /> +	 +Hr's: + +<hr> + +<hr/> + +<hr /> + +<hr>    + +<hr/>   + +<hr />  + +<hr class="foo" id="bar" /> + +<hr class="foo" id="bar"/> + +<hr class="foo" id="bar" > + diff --git a/oldtests/Original/Inline_HTML_comments.html b/oldtests/Original/Inline_HTML_comments.html new file mode 100644 index 0000000..ebc4818 --- /dev/null +++ b/oldtests/Original/Inline_HTML_comments.html @@ -0,0 +1,8 @@ +<p>Paragraph one.</p> +<!-- This is a simple comment --> +<!-- +    This is another comment. +--> +<p>Paragraph two.</p> +<!-- one comment block -- -- with two comments --> +<p>The end.</p> diff --git a/oldtests/Original/Inline_HTML_comments.markdown b/oldtests/Original/Inline_HTML_comments.markdown new file mode 100644 index 0000000..41d830d --- /dev/null +++ b/oldtests/Original/Inline_HTML_comments.markdown @@ -0,0 +1,13 @@ +Paragraph one. + +<!-- This is a simple comment --> + +<!-- +	This is another comment. +--> + +Paragraph two. + +<!-- one comment block -- -- with two comments --> + +The end. diff --git a/oldtests/Original/Links_inline_style.html b/oldtests/Original/Links_inline_style.html new file mode 100644 index 0000000..feb4637 --- /dev/null +++ b/oldtests/Original/Links_inline_style.html @@ -0,0 +1,12 @@ +<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="/url/" title="title has spaces afterward">URL and title</a>.</p> +<p><a href="/url/">URL wrapped in angle brackets</a>.</p> +<p><a href="/url/" title="Here's the title">URL w/ angle brackets + title</a>.</p> +<p><a href="">Empty</a>.</p> +<p><a href="http://en.wikipedia.org/wiki/WIMP_(computing)">With parens in the URL</a></p> +<p>(With outer parens and <a href="/foo(bar)">parens in url</a>)</p> +<p><a href="/foo(bar)" title="and a title">With parens in the URL</a></p> +<p>(With outer parens and <a href="/foo(bar)" title="and a title">parens in url</a>)</p> diff --git a/oldtests/Original/Links_inline_style.markdown b/oldtests/Original/Links_inline_style.markdown new file mode 100644 index 0000000..aba9658 --- /dev/null +++ b/oldtests/Original/Links_inline_style.markdown @@ -0,0 +1,24 @@ +Just a [URL](/url/). + +[URL and title](/url/ "title"). + +[URL and title](/url/  "title preceded by two spaces"). + +[URL and title](/url/	"title preceded by a tab"). + +[URL and title](/url/ "title has spaces afterward"  ). + +[URL wrapped in angle brackets](</url/>). + +[URL w/ angle brackets + title](</url/> "Here's the title"). + +[Empty](). + +[With parens in the URL](http://en.wikipedia.org/wiki/WIMP_(computing)) + +(With outer parens and [parens in url](/foo(bar))) + + +[With parens in the URL](/foo(bar) "and a title") + +(With outer parens and [parens in url](/foo(bar) "and a title")) diff --git a/oldtests/Original/Links_reference_style.html b/oldtests/Original/Links_reference_style.html new file mode 100644 index 0000000..6d78b96 --- /dev/null +++ b/oldtests/Original/Links_reference_style.html @@ -0,0 +1,28 @@ +<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> +<hr /> +<p><a href="foo">this</a> should work</p> +<p>So should <a href="foo">this</a>.</p> +<p>And <a href="foo">this</a>.</p> +<p>And <a href="foo">this</a>.</p> +<p>And <a href="foo">this</a>.</p> +<p>But not [that] [].</p> +<p>Nor [that][].</p> +<p>Nor [that].</p> +<p>[Something in brackets like <a href="foo">this</a> should work]</p> +<p>[Same with <a href="foo">this</a>.]</p> +<p>In this case, <a href="/somethingelse/">this</a> points to something else.</p> +<p>Backslashing should suppress [this] and [this].</p> +<hr /> +<p>Here's one where the <a href="/url/">link +breaks</a> across lines.</p> +<p>Here's another where the <a href="/url/">link +breaks</a> across lines, but with a line-ending space.</p> diff --git a/oldtests/Original/Links_reference_style.markdown b/oldtests/Original/Links_reference_style.markdown new file mode 100644 index 0000000..341ec88 --- /dev/null +++ b/oldtests/Original/Links_reference_style.markdown @@ -0,0 +1,71 @@ +Foo [bar] [1]. + +Foo [bar][1]. + +Foo [bar] +[1]. + +[1]: /url/  "Title" + + +With [embedded [brackets]] [b]. + + +Indented [once][]. + +Indented [twice][]. + +Indented [thrice][]. + +Indented [four][] times. + + [once]: /url + +  [twice]: /url + +   [thrice]: /url + +    [four]: /url + + +[b]: /url/ + +* * * + +[this] [this] should work + +So should [this][this]. + +And [this] []. + +And [this][]. + +And [this]. + +But not [that] []. + +Nor [that][]. + +Nor [that]. + +[Something in brackets like [this][] should work] + +[Same with [this].] + +In this case, [this](/somethingelse/) points to something else. + +Backslashing should suppress \[this] and [this\]. + +[this]: foo + + +* * * + +Here's one where the [link +breaks] across lines. + +Here's another where the [link  +breaks] across lines, but with a line-ending space. + + +[link breaks]: /url/ diff --git a/oldtests/Original/Links_shortcut_references.html b/oldtests/Original/Links_shortcut_references.html new file mode 100644 index 0000000..8163ade --- /dev/null +++ b/oldtests/Original/Links_shortcut_references.html @@ -0,0 +1,6 @@ +<p>This is the <a href="/simple">simple case</a>.</p> +<p>This one has a <a href="/foo">line +break</a>.</p> +<p>This one has a <a href="/foo">line +break</a> with a line-ending space.</p> +<p><a href="/that">this</a> and the <a href="/other">other</a></p> diff --git a/oldtests/Original/Links_shortcut_references.markdown b/oldtests/Original/Links_shortcut_references.markdown new file mode 100644 index 0000000..8c44c98 --- /dev/null +++ b/oldtests/Original/Links_shortcut_references.markdown @@ -0,0 +1,20 @@ +This is the [simple case]. + +[simple case]: /simple + + + +This one has a [line +break]. + +This one has a [line  +break] with a line-ending space. + +[line break]: /foo + + +[this] [that] and the [other] + +[this]: /this +[that]: /that +[other]: /other diff --git a/oldtests/Original/Literal_quotes_in_titles.html b/oldtests/Original/Literal_quotes_in_titles.html new file mode 100644 index 0000000..62e8641 --- /dev/null +++ b/oldtests/Original/Literal_quotes_in_titles.html @@ -0,0 +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> diff --git a/oldtests/Original/Literal_quotes_in_titles.markdown b/oldtests/Original/Literal_quotes_in_titles.markdown new file mode 100644 index 0000000..29d0e42 --- /dev/null +++ b/oldtests/Original/Literal_quotes_in_titles.markdown @@ -0,0 +1,7 @@ +Foo [bar][]. + +Foo [bar](/url/ "Title with "quotes" inside"). + + +  [bar]: /url/ "Title with "quotes" inside" + diff --git a/oldtests/Original/Markdown_Documentation_Basics.html b/oldtests/Original/Markdown_Documentation_Basics.html new file mode 100644 index 0000000..0dee67f --- /dev/null +++ b/oldtests/Original/Markdown_Documentation_Basics.html @@ -0,0 +1,242 @@ +<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><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 +--------------------- + +Now is the time for all good men to come to +the aid of their country. This is just a +regular paragraph. + +The quick brown fox jumped over the lazy +dog's back. + +### Header 3 + +> This is a blockquote. +> +> This is the second paragraph in the blockquote. +> +> ## This is an H2 in a blockquote +</code></pre> +<p>Output:</p> +<pre><code><h1>A First Level Header</h1> + +<h2>A Second Level Header</h2> + +<p>Now is the time for all good men to come to +the aid of their country. This is just a +regular paragraph.</p> + +<p>The quick brown fox jumped over the lazy +dog's back.</p> + +<h3>Header 3</h3> + +<blockquote> +    <p>This is a blockquote.</p> + +    <p>This is the second paragraph in the blockquote.</p> + +    <h2>This is an H2 in a blockquote</h2> +</blockquote> +</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><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> +<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><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 +2.  Green +3.  Blue +</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. + +    With multiple paragraphs. + +*   Another item in the list. +</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> +<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><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"> +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 +[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/" +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 +[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 +<a href="http://www.nytimes.com/">The New York Times</a>.</p> +</code></pre> +<h3>Images</h3> +<p>Image syntax is very much like link syntax.</p> +<p>Inline (titles are optional):</p> +<pre><code> +</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> +<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. + +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>&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, +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, +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> diff --git a/oldtests/Original/Markdown_Documentation_Basics.markdown b/oldtests/Original/Markdown_Documentation_Basics.markdown new file mode 100644 index 0000000..24eba65 --- /dev/null +++ b/oldtests/Original/Markdown_Documentation_Basics.markdown @@ -0,0 +1,306 @@ +Markdown: Basics +================ + +<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> + + +Getting the Gist of Markdown's Formatting Syntax +------------------------------------------------ + +This page offers a brief overview of what it's like to use Markdown. +The [syntax page] [s] provides complete, detailed documentation for +every feature, but Markdown should be very easy to pick up simply by +looking at a few examples of it in action. The examples on this page +are written in a before/after style, showing example syntax and the +HTML output produced by Markdown. + +It's also helpful to simply try Markdown out; the [Dingus] [d] is a +web application that allows you type your own Markdown-formatted text +and translate it to XHTML. + +**Note:** This document is itself written using Markdown; you +can [see the source for it by adding '.text' to the URL] [src]. + +  [s]: /projects/markdown/syntax  "Markdown Syntax" +  [d]: /projects/markdown/dingus  "Markdown Dingus" +  [src]: /projects/markdown/basics.text + + +## Paragraphs, Headers, Blockquotes ## + +A paragraph is simply one or more consecutive lines of text, separated +by one or more blank lines. (A blank line is any line that looks like a +blank line -- a line containing nothing spaces or tabs is considered +blank.) Normal paragraphs should not be intended with spaces or tabs. + +Markdown offers two styles of headers: *Setext* and *atx*. +Setext-style headers for `<h1>` and `<h2>` are created by +"underlining" with equal signs (`=`) and hyphens (`-`), respectively. +To create an atx-style header, you put 1-6 hash marks (`#`) at the +beginning of the line -- the number of hashes equals the resulting +HTML header level. + +Blockquotes are indicated using email-style '`>`' angle brackets. + +Markdown: + +    A First Level Header +    ==================== +     +    A Second Level Header +    --------------------- + +    Now is the time for all good men to come to +    the aid of their country. This is just a +    regular paragraph. + +    The quick brown fox jumped over the lazy +    dog's back. +     +    ### Header 3 + +    > This is a blockquote. +    > +    > This is the second paragraph in the blockquote. +    > +    > ## This is an H2 in a blockquote + + +Output: + +    <h1>A First Level Header</h1> +     +    <h2>A Second Level Header</h2> +     +    <p>Now is the time for all good men to come to +    the aid of their country. This is just a +    regular paragraph.</p> +     +    <p>The quick brown fox jumped over the lazy +    dog's back.</p> +     +    <h3>Header 3</h3> +     +    <blockquote> +        <p>This is a blockquote.</p> +     +        <p>This is the second paragraph in the blockquote.</p> +     +        <h2>This is an H2 in a blockquote</h2> +    </blockquote> + + + +### Phrase Emphasis ### + +Markdown uses asterisks and underscores to indicate spans of emphasis. + +Markdown: + +    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__. + +Output: + +    <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> +    + + +## Lists ## + +Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`, +`+`, and `-`) as list markers. These three markers are +interchangable; this: + +    *   Candy. +    *   Gum. +    *   Booze. + +this: + +    +   Candy. +    +   Gum. +    +   Booze. + +and this: + +    -   Candy. +    -   Gum. +    -   Booze. + +all produce the same output: + +    <ul> +    <li>Candy.</li> +    <li>Gum.</li> +    <li>Booze.</li> +    </ul> + +Ordered (numbered) lists use regular numbers, followed by periods, as +list markers: + +    1.  Red +    2.  Green +    3.  Blue + +Output: + +    <ol> +    <li>Red</li> +    <li>Green</li> +    <li>Blue</li> +    </ol> + +If you put blank lines between items, you'll get `<p>` tags for the +list item text. You can create multi-paragraph list items by indenting +the paragraphs by 4 spaces or 1 tab: + +    *   A list item. +     +        With multiple paragraphs. + +    *   Another item in the list. + +Output: + +    <ul> +    <li><p>A list item.</p> +    <p>With multiple paragraphs.</p></li> +    <li><p>Another item in the list.</p></li> +    </ul> +     + + +### Links ### + +Markdown supports two styles for creating links: *inline* and +*reference*. With both styles, you use square brackets to delimit the +text you want to turn into a link. + +Inline-style links use parentheses immediately after the link text. +For example: + +    This is an [example link](http://example.com/). + +Output: + +    <p>This is an <a href="http://example.com/"> +    example link</a>.</p> + +Optionally, you may include a title attribute in the parentheses: + +    This is an [example link](http://example.com/ "With a Title"). + +Output: + +    <p>This is an <a href="http://example.com/" title="With a Title"> +    example link</a>.</p> + +Reference-style links allow you to refer to your links by names, which +you define elsewhere in your document: + +    I get 10 times more traffic from [Google][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" + +Output: + +    <p>I get 10 times more traffic from <a href="http://google.com/" +    title="Google">Google</a> than from <a href="http://search.yahoo.com/" +    title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/" +    title="MSN Search">MSN</a>.</p> + +The title attribute is optional. Link names may contain letters, +numbers and spaces, but are *not* case sensitive: + +    I start my morning with a cup of coffee and +    [The New York Times][NY Times]. + +    [ny times]: http://www.nytimes.com/ + +Output: + +    <p>I start my morning with a cup of coffee and +    <a href="http://www.nytimes.com/">The New York Times</a>.</p> + + +### Images ### + +Image syntax is very much like link syntax. + +Inline (titles are optional): + +     + +Reference-style: + +    ![alt text][id] + +    [id]: /path/to/img.jpg "Title" + +Both of the above examples produce the same output: + +    <img src="/path/to/img.jpg" alt="alt text" title="Title" /> + + + +### Code ### + +In a regular paragraph, you can create code span by wrapping text in +backtick quotes. Any ampersands (`&`) and angle brackets (`<` or +`>`) will automatically be translated into HTML entities. This makes +it easy to use Markdown to write about HTML example code: + +    I strongly recommend against using any `<blink>` tags. + +    I wish SmartyPants used named entities like `—` +    instead of decimal-encoded entites like `—`. + +Output: + +    <p>I strongly recommend against using any +    <code><blink></code> tags.</p> +     +    <p>I wish SmartyPants used named entities like +    <code>&mdash;</code> instead of decimal-encoded +    entites like <code>&#8212;</code>.</p> + + +To specify an entire block of pre-formatted code, indent every line of +the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`, +and `>` characters will be escaped automatically. + +Markdown: + +    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> + +Output: + +    <p>If you want your page to validate under XHTML 1.0 Strict, +    you've got to put paragraph tags in your blockquotes:</p> +     +    <pre><code><blockquote> +        <p>For example.</p> +    </blockquote> +    </code></pre> diff --git a/oldtests/Original/Markdown_Documentation_Syntax.html b/oldtests/Original/Markdown_Documentation_Syntax.html new file mode 100644 index 0000000..f379dcf --- /dev/null +++ b/oldtests/Original/Markdown_Documentation_Syntax.html @@ -0,0 +1,708 @@ +<h1>Markdown: Syntax</h1> +<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> +<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> +</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> +</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> +</ul></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> +<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>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> +<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> +<p>Markdown's syntax is intended for one purpose: to be used as a +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> +<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> +<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. + +<table> +    <tr> +        <td>Foo</td> +    </tr> +</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> +<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> +<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> +<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> +<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> +<hr /> +<h2 id="block">Block Elements</h2> +<h3 id="p">Paragraphs and Line Breaks</h3> +<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> +<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> +<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> +<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 +============= + +This is an H2 +------------- +</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 + +## 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 # + +## This is an H2 ## + +### This is an H3 ###### +</code></pre> +<h3 id="blockquote">Blockquotes</h3> +<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, +> 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, +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. +> +> > 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. +>  +> 1.   This is the first list item. +> 2.   This is the second list item. +>  +> 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> +<p>Unordered lists use asterisks, pluses, and hyphens -- interchangably +-- as list markers:</p> +<pre><code>*   Red +*   Green +*   Blue +</code></pre> +<p>is equivalent to:</p> +<pre><code>+   Red ++   Green ++   Blue +</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 +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> +<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 +1.  McHale +1.  Parish +</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> +<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> +<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. +    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. +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 +*   Magic +</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 + +*   Magic +</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 +    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. + +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. + +    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: + +    > 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 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> +<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> +<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: + +    This is a code block. +</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: + +    tell application "Foo" +        beep +    end tell +</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> +<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"> +        &copy; 2004 Foo Corporation +    </div> +</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> +<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>* * * + +*** + +***** + +- - - + +--------------------------------------- + +_ _ _ +</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> +<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. + +[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"> +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> +<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> +</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 +    "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] +[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 +[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 +[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/" +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") +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> +<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> +<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* + +_single underscores_ + +**double asterisks** + +__double underscores__ +</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> +<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> +<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: `` ` `` + +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> + +<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 +equivalent of <code>&amp;mdash;</code>.</p> +</code></pre> +<h3 id="img">Images</h3> +<p>Admittedly, it's fairly difficult to devise a "natural" syntax for +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> + + +</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> +</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> +<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; +&#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> +<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> +<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 +`   backtick +*   asterisk +_   underscore +{}  curly braces +[]  square brackets +()  parentheses +#   hash mark ++   plus sign +-   minus sign (hyphen) +.   dot +!   exclamation mark +</code></pre> diff --git a/oldtests/Original/Markdown_Documentation_Syntax.markdown b/oldtests/Original/Markdown_Documentation_Syntax.markdown new file mode 100644 index 0000000..57360a1 --- /dev/null +++ b/oldtests/Original/Markdown_Documentation_Syntax.markdown @@ -0,0 +1,888 @@ +Markdown: Syntax +================ + +<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> + + +*   [Overview](#overview) +    *   [Philosophy](#philosophy) +    *   [Inline HTML](#html) +    *   [Automatic Escaping for Special Characters](#autoescape) +*   [Block Elements](#block) +    *   [Paragraphs and Line Breaks](#p) +    *   [Headers](#header) +    *   [Blockquotes](#blockquote) +    *   [Lists](#list) +    *   [Code Blocks](#precode) +    *   [Horizontal Rules](#hr) +*   [Span Elements](#span) +    *   [Links](#link) +    *   [Emphasis](#em) +    *   [Code](#code) +    *   [Images](#img) +*   [Miscellaneous](#misc) +    *   [Backslash Escapes](#backslash) +    *   [Automatic Links](#autolink) + + +**Note:** This document is itself written using Markdown; you +can [see the source for it by adding '.text' to the URL][src]. + +  [src]: /projects/markdown/syntax.text + +* * * + +<h2 id="overview">Overview</h2> + +<h3 id="philosophy">Philosophy</h3> + +Markdown is intended to be as easy-to-read and easy-to-write as is feasible. + +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 [Setext] [1], [atx] [2], [Textile] [3], [reStructuredText] [4], +[Grutatext] [5], and [EtText] [6] -- the single biggest source of +inspiration for Markdown's syntax is the format of plain text email. + +  [1]: http://docutils.sourceforge.net/mirror/setext.html +  [2]: http://www.aaronsw.com/2002/atx/ +  [3]: http://textism.com/tools/textile/ +  [4]: http://docutils.sourceforge.net/rst.html +  [5]: http://www.triptico.com/software/grutatxt.html +  [6]: http://ettext.taint.org/doc/ + +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. + + + +<h3 id="html">Inline HTML</h3> + +Markdown's syntax is intended for one purpose: to be used as a +format for *writing* for the web. + +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 *not* 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 *publishing* format; Markdown is a *writing* +format. Thus, Markdown's formatting syntax only addresses issues that +can be conveyed in plain text. + +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. + +The only restrictions are that block-level HTML elements -- e.g. `<div>`, +`<table>`, `<pre>`, `<p>`, 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) `<p>` tags around HTML block-level tags. + +For example, to add an HTML table to a Markdown article: + +    This is a regular paragraph. + +    <table> +        <tr> +            <td>Foo</td> +        </tr> +    </table> + +    This is another regular paragraph. + +Note that Markdown formatting syntax is not processed within block-level +HTML tags. E.g., you can't use Markdown-style `*emphasis*` inside an +HTML block. + +Span-level HTML tags -- e.g. `<span>`, `<cite>`, or `<del>` -- 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 `<a>` or `<img>` tags instead of Markdown's +link or image syntax, go right ahead. + +Unlike block-level HTML tags, Markdown syntax *is* processed within +span-level tags. + + +<h3 id="autoescape">Automatic Escaping for Special Characters</h3> + +In HTML, there are two characters that demand special treatment: `<` +and `&`. 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. `<`, and +`&`. + +Ampersands in particular are bedeviling for web writers. If you want to +write about 'AT&T', you need to write '`AT&T`'. You even need to +escape ampersands within URLs. Thus, if you want to link to: + +    http://images.google.com/images?num=30&q=larry+bird + +you need to encode the URL as: + +    http://images.google.com/images?num=30&q=larry+bird + +in your anchor tag `href` 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. + +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 `&`. + +So, if you want to include a copyright symbol in your article, you can write: + +    © + +and Markdown will leave it alone. But if you write: + +    AT&T + +Markdown will translate it to: + +    AT&T + +Similarly, because Markdown supports [inline HTML](#html), if you use +angle brackets as delimiters for HTML tags, Markdown will treat them as +such. But if you write: + +    4 < 5 + +Markdown will translate it to: + +    4 < 5 + +However, inside Markdown code spans and blocks, angle brackets and +ampersands are *always* 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 `<` +and `&` in your example code needs to be escaped.) + + +* * * + + +<h2 id="block">Block Elements</h2> + + +<h3 id="p">Paragraphs and Line Breaks</h3> + +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. + +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 `<br />` tag. + +When you *do* want to insert a `<br />` break tag using Markdown, you +end a line with two or more spaces, then type return. + +Yes, this takes a tad more effort to create a `<br />`, but a simplistic +"every line break is a `<br />`" rule wouldn't work for Markdown. +Markdown's email-style [blockquoting][bq] and multi-paragraph [list items][l] +work best -- and look better -- when you format them with hard breaks. + +  [bq]: #blockquote +  [l]:  #list + + + +<h3 id="header">Headers</h3> + +Markdown supports two styles of headers, [Setext] [1] and [atx] [2]. + +Setext-style headers are "underlined" using equal signs (for first-level +headers) and dashes (for second-level headers). For example: + +    This is an H1 +    ============= + +    This is an H2 +    ------------- + +Any number of underlining `=`'s or `-`'s will work. + +Atx-style headers use 1-6 hash characters at the start of the line, +corresponding to header levels 1-6. For example: + +    # This is an H1 + +    ## This is an H2 + +    ###### This is an H6 + +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.) : + +    # This is an H1 # + +    ## This is an H2 ## + +    ### This is an H3 ###### + + +<h3 id="blockquote">Blockquotes</h3> + +Markdown uses email-style `>` 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 `>` before every line: + +    > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, +    > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. +    > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. +    >  +    > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse +    > id sem consectetuer libero luctus adipiscing. + +Markdown allows you to be lazy and only put the `>` before the first +line of a hard-wrapped paragraph: + +    > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, +    consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. +    Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. + +    > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse +    id sem consectetuer libero luctus adipiscing. + +Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by +adding additional levels of `>`: + +    > This is the first level of quoting. +    > +    > > This is nested blockquote. +    > +    > Back to the first level. + +Blockquotes can contain other Markdown elements, including headers, lists, +and code blocks: + +	> ## This is a header. +	>  +	> 1.   This is the first list item. +	> 2.   This is the second list item. +	>  +	> Here's some example code: +	>  +	>     return shell_exec("echo $input | $markdown_script"); + +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. + + +<h3 id="list">Lists</h3> + +Markdown supports ordered (numbered) and unordered (bulleted) lists. + +Unordered lists use asterisks, pluses, and hyphens -- interchangably +-- as list markers: + +    *   Red +    *   Green +    *   Blue + +is equivalent to: + +    +   Red +    +   Green +    +   Blue + +and: + +    -   Red +    -   Green +    -   Blue + +Ordered lists use numbers followed by periods: + +    1.  Bird +    2.  McHale +    3.  Parish + +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: + +    <ol> +    <li>Bird</li> +    <li>McHale</li> +    <li>Parish</li> +    </ol> + +If you instead wrote the list in Markdown like this: + +    1.  Bird +    1.  McHale +    1.  Parish + +or even: + +    3. Bird +    1. McHale +    8. Parish + +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. + +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. + +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. + +To make lists look nice, you can wrap items with hanging indents: + +    *   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. + +But if you want to be lazy, you don't have to: + +    *   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. + +If list items are separated by blank lines, Markdown will wrap the +items in `<p>` tags in the HTML output. For example, this input: + +    *   Bird +    *   Magic + +will turn into: + +    <ul> +    <li>Bird</li> +    <li>Magic</li> +    </ul> + +But this: + +    *   Bird + +    *   Magic + +will turn into: + +    <ul> +    <li><p>Bird</p></li> +    <li><p>Magic</p></li> +    </ul> + +List items may consist of multiple paragraphs. Each subsequent +paragraph in a list item must be intended by either 4 spaces +or one tab: + +    1.  This is a list item 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. + +    2.  Suspendisse id sem consectetuer libero luctus adipiscing. + +It looks nice if you indent every line of the subsequent +paragraphs, but here again, Markdown will allow you to be +lazy: + +    *   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. + +To put a blockquote within a list item, the blockquote's `>` +delimiters need to be indented: + +    *   A list item with a blockquote: + +        > This is a blockquote +        > inside a list item. + +To put a code block within a list item, the code block needs +to be indented *twice* -- 8 spaces or two tabs: + +    *   A list item with a code block: + +            <code goes here> + + +It's worth noting that it's possible to trigger an ordered list by +accident, by writing something like this: + +    1986. What a great season. + +In other words, a *number-period-space* sequence at the beginning of a +line. To avoid this, you can backslash-escape the period: + +    1986\. What a great season. + + + +<h3 id="precode">Code Blocks</h3> + +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 `<pre>` and `<code>` tags. + +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: + +    This is a normal paragraph: + +        This is a code block. + +Markdown will generate: + +    <p>This is a normal paragraph:</p> + +    <pre><code>This is a code block. +    </code></pre> + +One level of indentation -- 4 spaces or 1 tab -- is removed from each +line of the code block. For example, this: + +    Here is an example of AppleScript: + +        tell application "Foo" +            beep +        end tell + +will turn into: + +    <p>Here is an example of AppleScript:</p> + +    <pre><code>tell application "Foo" +        beep +    end tell +    </code></pre> + +A code block continues until it reaches a line that is not indented +(or the end of the article). + +Within a code block, ampersands (`&`) and angle brackets (`<` and `>`) +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: + +        <div class="footer"> +            © 2004 Foo Corporation +        </div> + +will turn into: + +    <pre><code><div class="footer"> +        &copy; 2004 Foo Corporation +    </div> +    </code></pre> + +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. + + + +<h3 id="hr">Horizontal Rules</h3> + +You can produce a horizontal rule tag (`<hr />`) 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: + +    * * * + +    *** + +    ***** +	 +    - - - + +    --------------------------------------- + +	_ _ _ + + +* * * + +<h2 id="span">Span Elements</h2> + +<h3 id="link">Links</h3> + +Markdown supports two style of links: *inline* and *reference*. + +In both styles, the link text is delimited by [square brackets]. + +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 *optional* +title for the link, surrounded in quotes. For example: + +    This is [an example](http://example.com/ "Title") inline link. + +    [This link](http://example.net/) has no title attribute. + +Will produce: + +    <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> + +If you're referring to a local resource on the same server, you can +use relative paths: + +    See my [About](/about/) page for details. + +Reference-style links use a second set of square brackets, inside +which you place a label of your choosing to identify the link: + +    This is [an example][id] reference-style link. + +You can optionally use a space to separate the sets of brackets: + +    This is [an example] [id] reference-style link. + +Then, anywhere in the document, you define your link label like this, +on a line by itself: + +    [id]: http://example.com/  "Optional Title Here" + +That is: + +*   Square brackets containing the link identifier (optionally +    indented from the left margin using up to three spaces); +*   followed by a colon; +*   followed by one or more spaces (or tabs); +*   followed by the URL for the link; +*   optionally followed by a title attribute for the link, enclosed +    in double or single quotes. + +The link URL may, optionally, be surrounded by angle brackets: + +    [id]: <http://example.com/>  "Optional Title Here" + +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: + +    [id]: http://example.com/longish/path/to/resource/here +        "Optional Title Here" + +Link definitions are only used for creating links during Markdown +processing, and are stripped from your document in the HTML output. + +Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are *not* case sensitive. E.g. these two links: + +	[link text][a] +	[link text][A] + +are equivalent. + +The *implicit link name* 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: + +	[Google][] + +And then define the link: + +	[Google]: http://google.com/ + +Because link names may contain spaces, this shortcut even works for +multiple words in the link text: + +	Visit [Daring Fireball][] for more information. + +And then define the link: +	 +	[Daring Fireball]: http://daringfireball.net/ + +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. + +Here's an example of reference links in action: + +    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" + +Using the implicit link name shortcut, you could instead write: + +    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" + +Both of the above examples will produce the following HTML output: + +    <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> + +For comparison, here is the same paragraph written using +Markdown's inline link style: + +    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"). + +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. + +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. + + +<h3 id="em">Emphasis</h3> + +Markdown treats asterisks (`*`) and underscores (`_`) as indicators of +emphasis. Text wrapped with one `*` or `_` will be wrapped with an +HTML `<em>` tag; double `*`'s or `_`'s will be wrapped with an HTML +`<strong>` tag. E.g., this input: + +    *single asterisks* + +    _single underscores_ + +    **double asterisks** + +    __double underscores__ + +will produce: + +    <em>single asterisks</em> + +    <em>single underscores</em> + +    <strong>double asterisks</strong> + +    <strong>double underscores</strong> + +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. + +Emphasis can be used in the middle of a word: + +    un*fucking*believable + +But if you surround an `*` or `_` with spaces, it'll be treated as a +literal asterisk or underscore. + +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: + +    \*this text is surrounded by literal asterisks\* + + + +<h3 id="code">Code</h3> + +To indicate a span of code, wrap it with backtick quotes (`` ` ``). +Unlike a pre-formatted code block, a code span indicates code within a +normal paragraph. For example: + +    Use the `printf()` function. + +will produce: + +    <p>Use the <code>printf()</code> function.</p> + +To include a literal backtick character within a code span, you can use +multiple backticks as the opening and closing delimiters: + +    ``There is a literal backtick (`) here.`` + +which will produce this: + +    <p><code>There is a literal backtick (`) here.</code></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: + +	A single backtick in a code span: `` ` `` +	 +	A backtick-delimited string in a code span: `` `foo` `` + +will produce: + +	<p>A single backtick in a code span: <code>`</code></p> +	 +	<p>A backtick-delimited string in a code span: <code>`foo`</code></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: + +    Please don't use any `<blink>` tags. + +into: + +    <p>Please don't use any <code><blink></code> tags.</p> + +You can write this: + +    `—` is the decimal-encoded equivalent of `—`. + +to produce: + +    <p><code>&#8212;</code> is the decimal-encoded +    equivalent of <code>&mdash;</code>.</p> + + + +<h3 id="img">Images</h3> + +Admittedly, it's fairly difficult to devise a "natural" syntax for +placing images into a plain text document format. + +Markdown uses an image syntax that is intended to resemble the syntax +for links, allowing for two styles: *inline* and *reference*. + +Inline image syntax looks like this: + +     + +     + +That is: + +*   An exclamation mark: `!`; +*   followed by a set of square brackets, containing the `alt` +    attribute text for the image; +*   followed by a set of parentheses, containing the URL or path to +    the image, and an optional `title` attribute enclosed in double +    or single quotes. + +Reference-style image syntax looks like this: + +    ![Alt text][id] + +Where "id" is the name of a defined image reference. Image references +are defined using syntax identical to link references: + +    [id]: url/to/image  "Optional title attribute" + +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 `<img>` tags. + + +* * * + + +<h2 id="misc">Miscellaneous</h2> + +<h3 id="autolink">Automatic Links</h3> + +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: + +    <http://example.com/> +     +Markdown will turn this into: + +    <a href="http://example.com/">http://example.com/</a> + +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: + +    <address@example.com> + +into something like this: + +    <a href="mailto:addre +    ss@example.co +    m">address@exa +    mple.com</a> + +which will render in a browser as a clickable link to "address@example.com". + +(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.) + + + +<h3 id="backslash">Backslash Escapes</h3> + +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 `<em>` tag), you can backslashes +before the asterisks, like this: + +    \*literal asterisks\* + +Markdown provides backslash escapes for the following characters: + +    \   backslash +    `   backtick +    *   asterisk +    _   underscore +    {}  curly braces +    []  square brackets +    ()  parentheses +    #   hash mark +	+	plus sign +	-	minus sign (hyphen) +    .   dot +    !   exclamation mark + diff --git a/oldtests/Original/Nested_blockquotes.html b/oldtests/Original/Nested_blockquotes.html new file mode 100644 index 0000000..02efc59 --- /dev/null +++ b/oldtests/Original/Nested_blockquotes.html @@ -0,0 +1,7 @@ +<blockquote> +<p>foo</p> +<blockquote> +<p>bar</p> +</blockquote> +<p>foo</p> +</blockquote> diff --git a/oldtests/Original/Nested_blockquotes.markdown b/oldtests/Original/Nested_blockquotes.markdown new file mode 100644 index 0000000..ed3c624 --- /dev/null +++ b/oldtests/Original/Nested_blockquotes.markdown @@ -0,0 +1,5 @@ +> foo +> +> > bar +> +> foo diff --git a/oldtests/Original/Ordered_and_unordered_lists.html b/oldtests/Original/Ordered_and_unordered_lists.html new file mode 100644 index 0000000..78d752e --- /dev/null +++ b/oldtests/Original/Ordered_and_unordered_lists.html @@ -0,0 +1,112 @@ +<h2>Unordered</h2> +<p>Asterisks tight:</p> +<ul> +<li>asterisk 1</li> +<li>asterisk 2</li> +<li>asterisk 3</li> +</ul> +<p>Asterisks loose:</p> +<ul> +<li><p>asterisk 1</p></li> +<li><p>asterisk 2</p></li> +<li><p>asterisk 3</p></li> +</ul> +<hr /> +<p>Pluses tight:</p> +<ul> +<li>Plus 1</li> +<li>Plus 2</li> +<li>Plus 3</li> +</ul> +<p>Pluses loose:</p> +<ul> +<li><p>Plus 1</p></li> +<li><p>Plus 2</p></li> +<li><p>Plus 3</p></li> +</ul> +<hr /> +<p>Minuses tight:</p> +<ul> +<li>Minus 1</li> +<li>Minus 2</li> +<li>Minus 3</li> +</ul> +<p>Minuses loose:</p> +<ul> +<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> +<ol> +<li>First</li> +<li>Second</li> +<li>Third</li> +</ol> +<p>and:</p> +<ol> +<li>One</li> +<li>Two</li> +<li>Three</li> +</ol> +<p>Loose using tabs:</p> +<ol> +<li><p>First</p></li> +<li><p>Second</p></li> +<li><p>Third</p></li> +</ol> +<p>and using spaces:</p> +<ol> +<li><p>One</p></li> +<li><p>Two</p></li> +<li><p>Three</p></li> +</ol> +<p>Multiple paragraphs:</p> +<ol> +<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> +</ol> +<h2>Nested</h2> +<ul> +<li>Tab +<ul> +<li>Tab +<ul> +<li>Tab</li> +</ul></li> +</ul></li> +</ul> +<p>Here's another:</p> +<ol> +<li>First</li> +<li>Second: +<ul> +<li>Fee</li> +<li>Fie</li> +<li>Foe</li> +</ul></li> +<li>Third</li> +</ol> +<p>Same thing but with paragraphs:</p> +<ol> +<li><p>First</p></li> +<li><p>Second:</p> +<ul> +<li>Fee</li> +<li>Fie</li> +<li>Foe</li> +</ul></li> +<li><p>Third</p></li> +</ol> +<p>This was an error in Markdown 1.0.1:</p> +<ul> +<li><p>this</p> +<ul> +<li>sub</li> +</ul> +<p>that</p></li> +</ul> diff --git a/oldtests/Original/Ordered_and_unordered_lists.markdown b/oldtests/Original/Ordered_and_unordered_lists.markdown new file mode 100644 index 0000000..7f3b497 --- /dev/null +++ b/oldtests/Original/Ordered_and_unordered_lists.markdown @@ -0,0 +1,131 @@ +## Unordered + +Asterisks tight: + +*	asterisk 1 +*	asterisk 2 +*	asterisk 3 + + +Asterisks loose: + +*	asterisk 1 + +*	asterisk 2 + +*	asterisk 3 + +* * * + +Pluses tight: + ++	Plus 1 ++	Plus 2 ++	Plus 3 + + +Pluses loose: + ++	Plus 1 + ++	Plus 2 + ++	Plus 3 + +* * * + + +Minuses tight: + +-	Minus 1 +-	Minus 2 +-	Minus 3 + + +Minuses loose: + +-	Minus 1 + +-	Minus 2 + +-	Minus 3 + + +## Ordered + +Tight: + +1.	First +2.	Second +3.	Third + +and: + +1. One +2. Two +3. Three + + +Loose using tabs: + +1.	First + +2.	Second + +3.	Third + +and using spaces: + +1. One + +2. Two + +3. Three + +Multiple paragraphs: + +1.	Item 1, graf one. + +	Item 2. graf two. The quick brown fox jumped over the lazy dog's +	back. +	 +2.	Item 2. + +3.	Item 3. + + + +## Nested + +*	Tab +	*	Tab +		*	Tab + +Here's another: + +1. First +2. Second: +	* Fee +	* Fie +	* Foe +3. Third + +Same thing but with paragraphs: + +1. First + +2. Second: +	* Fee +	* Fie +	* Foe + +3. Third + + +This was an error in Markdown 1.0.1: + +*	this + +	*	sub + +	that diff --git a/oldtests/Original/README b/oldtests/Original/README new file mode 100644 index 0000000..5143258 --- /dev/null +++ b/oldtests/Original/README @@ -0,0 +1,15 @@ +These are from John Gruber's original markdown test suite, via +Michel Fortin's mdtest. + +The html files have been modified slightly in ways that do not affect the +semantics.  For example, entities are used for quotes in text, and +blank lines are omitted between block-level tags. + +Trailing blank spaces are removed from lines in raw HTML blocks. + +The one (insignificant) semantic change is switching the order +of emph and strong tags in the output for ***strong and emph***. + +We have removed Hard-wrapped_paragraphs_with_list-like_lines tests, +because the new implementation no longer requires a blank line +before a list. diff --git a/oldtests/Original/Strong_and_em_together.html b/oldtests/Original/Strong_and_em_together.html new file mode 100644 index 0000000..2629594 --- /dev/null +++ b/oldtests/Original/Strong_and_em_together.html @@ -0,0 +1,4 @@ +<p><strong><em>This is strong and em.</em></strong></p> +<p>So is <strong><em>this</em></strong> word.</p> +<p><strong><em>This is strong and em.</em></strong></p> +<p>So is <strong><em>this</em></strong> word.</p> diff --git a/oldtests/Original/Strong_and_em_together.markdown b/oldtests/Original/Strong_and_em_together.markdown new file mode 100644 index 0000000..95ee690 --- /dev/null +++ b/oldtests/Original/Strong_and_em_together.markdown @@ -0,0 +1,7 @@ +***This is strong and em.*** + +So is ***this*** word. + +___This is strong and em.___ + +So is ___this___ word. diff --git a/oldtests/Original/Tabs.html b/oldtests/Original/Tabs.html new file mode 100644 index 0000000..5389bdf --- /dev/null +++ b/oldtests/Original/Tabs.html @@ -0,0 +1,19 @@ +<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> +</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 +    indented with tabs + ++   this is an example list item +    indented with spaces +</code></pre> diff --git a/oldtests/Original/Tabs.markdown b/oldtests/Original/Tabs.markdown new file mode 100644 index 0000000..589d113 --- /dev/null +++ b/oldtests/Original/Tabs.markdown @@ -0,0 +1,21 @@ ++	this is a list item +	indented with tabs + ++   this is a list item +    indented with spaces + +Code: + +	this code block is indented by one tab + +And: + +		this code block is indented by two tabs + +And: + +	+	this is an example list item +		indented with tabs +	 +	+   this is an example list item +	    indented with spaces diff --git a/oldtests/Original/Tidyness.html b/oldtests/Original/Tidyness.html new file mode 100644 index 0000000..f2a8ce7 --- /dev/null +++ b/oldtests/Original/Tidyness.html @@ -0,0 +1,8 @@ +<blockquote> +<p>A list within a blockquote:</p> +<ul> +<li>asterisk 1</li> +<li>asterisk 2</li> +<li>asterisk 3</li> +</ul> +</blockquote> diff --git a/oldtests/Original/Tidyness.markdown b/oldtests/Original/Tidyness.markdown new file mode 100644 index 0000000..5f18b8d --- /dev/null +++ b/oldtests/Original/Tidyness.markdown @@ -0,0 +1,5 @@ +> A list within a blockquote: +>  +> *	asterisk 1 +> *	asterisk 2 +> *	asterisk 3 diff --git a/oldtests/Tabs/TabConversionUnicode.html b/oldtests/Tabs/TabConversionUnicode.html new file mode 100644 index 0000000..f596f6a --- /dev/null +++ b/oldtests/Tabs/TabConversionUnicode.html @@ -0,0 +1 @@ +<p><code>То лпой</code> is a Russian word with a tab inside.</p> diff --git a/oldtests/Tabs/TabConversionUnicode.markdown b/oldtests/Tabs/TabConversionUnicode.markdown new file mode 100644 index 0000000..0bd7b52 --- /dev/null +++ b/oldtests/Tabs/TabConversionUnicode.markdown @@ -0,0 +1 @@ +`То лпой` is a Russian word with a tab inside.  | 
