maruku 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. data/bin/{maruku0.3 → marudown} +6 -14
  2. data/bin/maruku +1 -1
  3. data/bin/marutest +37 -9
  4. data/docs/TOFIX.html +22 -0
  5. data/docs/TOFIX.md +3 -0
  6. data/docs/changelog-0.2.13.html +30 -0
  7. data/docs/changelog-0.2.13.md +6 -0
  8. data/docs/changelog-0.3.html +19 -5
  9. data/docs/faq.html +51 -40
  10. data/docs/faq.md +3 -3
  11. data/docs/hidden_o_n_squared.md +10 -0
  12. data/docs/index.html +84 -396
  13. data/docs/markdown_syntax.html +139 -330
  14. data/docs/markdown_syntax.md +80 -93
  15. data/docs/maruku.html +84 -396
  16. data/docs/maruku.md +88 -158
  17. data/docs/proposal.html +13 -106
  18. data/docs/proposal.md +3 -3
  19. data/docs/todo.html +38 -28
  20. data/lib/maruku.rb +77 -11
  21. data/lib/maruku/attributes.rb +186 -0
  22. data/lib/maruku/defaults.rb +40 -0
  23. data/lib/maruku/errors_management.rb +55 -39
  24. data/lib/maruku/helpers.rb +156 -72
  25. data/lib/maruku/input/charsource.rb +319 -0
  26. data/lib/maruku/{html_helper.rb → input/html_helper.rb} +30 -9
  27. data/lib/maruku/input/linesource.rb +111 -0
  28. data/lib/maruku/input/parse_block.rb +562 -0
  29. data/lib/maruku/{parse_doc.rb → input/parse_doc.rb} +60 -28
  30. data/lib/maruku/{parse_span_better.rb → input/parse_span_better.rb} +226 -256
  31. data/lib/maruku/input/type_detection.rb +137 -0
  32. data/lib/maruku/maruku.rb +33 -0
  33. data/lib/maruku/{to_html.rb → output/to_html.rb} +151 -132
  34. data/lib/maruku/{to_latex.rb → output/to_latex.rb} +31 -35
  35. data/lib/maruku/{to_latex_entities.rb → output/to_latex_entities.rb} +25 -3
  36. data/lib/maruku/output/to_latex_strings.rb +64 -0
  37. data/lib/maruku/output/to_markdown.rb +164 -0
  38. data/lib/maruku/{to_s.rb → output/to_s.rb} +6 -0
  39. data/lib/maruku/string_utils.rb +12 -181
  40. data/lib/maruku/structures.rb +91 -67
  41. data/lib/maruku/structures_inspect.rb +78 -0
  42. data/lib/maruku/structures_iterators.rb +24 -2
  43. data/lib/maruku/tests/benchmark.rb +41 -9
  44. data/lib/maruku/tests/new_parser.rb +317 -286
  45. data/lib/maruku/tests/tests.rb +20 -0
  46. data/lib/maruku/toc.rb +64 -64
  47. data/lib/maruku/usage/example1.rb +33 -0
  48. data/lib/maruku/version.rb +8 -2
  49. data/tests/unittest/abbreviations.md +27 -16
  50. data/tests/unittest/attributes/attributes.md +89 -0
  51. data/tests/unittest/attributes/circular.md +51 -0
  52. data/tests/unittest/attributes/default.md +47 -0
  53. data/tests/unittest/blank.md +10 -6
  54. data/tests/unittest/blanks_in_code.md +26 -26
  55. data/tests/unittest/code.md +9 -9
  56. data/tests/unittest/code2.md +12 -13
  57. data/tests/unittest/code3.md +34 -34
  58. data/tests/unittest/easy.md +9 -7
  59. data/tests/unittest/email.md +9 -7
  60. data/tests/unittest/encoding/iso-8859-1.md +41 -4
  61. data/tests/unittest/encoding/utf-8.md +6 -5
  62. data/tests/unittest/entities.md +52 -80
  63. data/tests/unittest/escaping.md +47 -35
  64. data/tests/unittest/extra_dl.md +19 -29
  65. data/tests/unittest/extra_header_id.md +31 -24
  66. data/tests/unittest/extra_table1.md +14 -32
  67. data/tests/unittest/footnotes.md +58 -42
  68. data/tests/unittest/headers.md +11 -11
  69. data/tests/unittest/hrule.md +14 -24
  70. data/tests/unittest/images.md +41 -26
  71. data/tests/unittest/inline_html.md +104 -56
  72. data/tests/unittest/inline_html2.md +38 -0
  73. data/tests/unittest/links.md +74 -33
  74. data/tests/unittest/list1.md +18 -15
  75. data/tests/unittest/list2.md +31 -13
  76. data/tests/unittest/list3.md +29 -28
  77. data/tests/unittest/list4.md +103 -12
  78. data/tests/unittest/lists.md +86 -53
  79. data/tests/unittest/lists6.md +53 -0
  80. data/tests/unittest/lists7.md +31 -0
  81. data/tests/unittest/lists_after_paragraph.md +105 -71
  82. data/tests/unittest/lists_ol.md +149 -73
  83. data/tests/unittest/misc_sw.md +366 -326
  84. data/tests/unittest/notyet/escape.md +10 -10
  85. data/tests/unittest/notyet/header_after_par.md +20 -14
  86. data/tests/unittest/notyet/ticks.md +8 -35
  87. data/tests/unittest/notyet/triggering.md +72 -45
  88. data/tests/unittest/olist.md +78 -0
  89. data/tests/unittest/one.md +5 -3
  90. data/tests/unittest/paragraph.md +5 -3
  91. data/tests/unittest/paragraph_rules/dont_merge_ref.md +15 -9
  92. data/tests/unittest/paragraph_rules/tab_is_blank.md +9 -5
  93. data/tests/unittest/paragraphs.md +21 -26
  94. data/tests/unittest/recover/recover_links.md +6 -5
  95. data/tests/unittest/references/long_example.md +39 -30
  96. data/tests/unittest/references/spaces_and_numbers.md +2 -2
  97. data/tests/unittest/syntax_hl.md +33 -31
  98. data/tests/unittest/test.md +4 -6
  99. data/tests/unittest/wrapping.md +43 -26
  100. metadata +160 -139
  101. data/docs/markdown_extra2.html +0 -87
  102. data/docs/markdown_extra2.md +0 -83
  103. data/docs/markdown_syntax_2.html +0 -152
  104. data/lib/maruku/parse_block.rb +0 -564
  105. data/lib/maruku/parse_span.rb +0 -451
  106. data/lib/maruku/to_latex_strings.rb +0 -59
  107. data/lib/maruku/to_markdown.rb +0 -110
  108. data/lib/test.rb +0 -29
@@ -6,7 +6,7 @@ Write a comment abouth the test here.
6
6
 
7
7
  `\`
8
8
  *** Output of inspect ***
9
- md_el(:document,[md_par([md_code("\\\\")]), md_par([md_code("\\")])] )
9
+ md_el(:document,[md_par([md_code("\\\\")]), md_par([md_code("\\")])],{},[])
10
10
  *** Output of to_html ***
11
11
 
12
12
  <p><code>\\</code></p>
@@ -14,12 +14,12 @@ md_el(:document,[md_par([md_code("\\\\")]), md_par([md_code("\\")])] )
14
14
  <p><code>\</code></p>
15
15
 
16
16
  *** Output of to_latex ***
17
- \colorbox[rgb]{0.94,0.94,0.88}{\tt \char92\char92}
17
+ \colorbox[rgb]{1.00,0.67,1.00}{\tt \char92\char92}
18
18
 
19
- \colorbox[rgb]{0.94,0.94,0.88}{\tt \char92}
19
+ \colorbox[rgb]{1.00,0.67,1.00}{\tt \char92}
20
20
 
21
21
 
22
- *** Output of to_s ***
22
+ *** Output of to_md ***
23
23
 
24
24
  *** Output of to_s ***
25
25
 
@@ -38,9 +38,9 @@ md_el(:document,[md_par([md_code("\\\\")]), md_par([md_code("\\")])] )
38
38
 
39
39
  *** Output of Markdown.pl (parsed) ***
40
40
  <p
41
- ><code>\\</code
42
- ></p
43
- ><p
44
- ><code>\</code
45
- ></p
46
- >
41
+ ><code>\\</code
42
+ ></p
43
+ ><p
44
+ ><code>\</code
45
+ ></p
46
+ >
@@ -16,12 +16,12 @@ header
16
16
  *** Output of inspect ***
17
17
  md_el(:document,[
18
18
  md_par(["Paragraph"]),
19
- md_el(:header,["header"] , {:id=>"header", :level=>3}),
20
- md_par(["Paragraph"]),
21
- md_el(:header,["header"] , {:id=>"header", :level=>2}),
22
- md_par(["Paragraph"]),
23
- md_el(:header,["header"] , {:id=>"header", :level=>1})
24
- ] , {:title=>"header"})
19
+ md_el(:header,["header"],{:level=>3},[]),
20
+ md_par(["Paragraph"]),
21
+ md_el(:header,["header"],{:level=>2},[]),
22
+ md_par(["Paragraph"]),
23
+ md_el(:header,["header"],{:level=>1},[])
24
+ ],{},[])
25
25
  *** Output of to_html ***
26
26
 
27
27
  <p>Paragraph</p>
@@ -50,8 +50,14 @@ Paragraph
50
50
  \hypertarget{header}{}\section*{{header}}\label{header}
51
51
 
52
52
 
53
- *** Output of to_s ***
54
- ParagraphheaderParagraphheaderParagraphheader
53
+ *** Output of to_md ***
54
+ Paragraph
55
+
56
+ headerParagraph
57
+
58
+ headerParagraph
59
+
60
+ header
55
61
  *** Output of to_s ***
56
62
  ParagraphheaderParagraphheaderParagraphheader
57
63
  *** EOF ***
@@ -77,9 +83,9 @@ ParagraphheaderParagraphheaderParagraphheader
77
83
 
78
84
  *** Output of Markdown.pl (parsed) ***
79
85
  <p>Paragraph</p
80
- ><h3>header</h3
81
- ><p>Paragraph</p
82
- ><h2>header</h2
83
- ><p>Paragraph</p
84
- ><h1>header</h1
85
- >
86
+ ><h3>header</h3
87
+ ><p>Paragraph</p
88
+ ><h2>header</h2
89
+ ><p>Paragraph</p
90
+ ><h1>header</h1
91
+ >
@@ -2,43 +2,26 @@ Write a comment abouth the test here.
2
2
  *** Parameters: ***
3
3
  {}
4
4
  *** Markdown input: ***
5
- `There is a literal backtick (\`) here.`
6
-
7
- `There is a literal backtick (\\`) here.`
8
5
 
9
6
  ``There is a literal backtick (`) here.``
10
7
 
11
8
 
12
9
  *** Output of inspect ***
13
- md_el(:document,[
14
- md_par([md_code("There is a literal backtick (\\"), ") here.", md_code("")]),
15
- md_par([
16
- md_code("There is a literal backtick (\\\\"),
17
- ") here.",
18
- md_code("")
19
- ]),
20
- md_par([md_code("There is a literal backtick (`) here.")])
21
- ] )
10
+ md_el(:document,[md_par([md_code("There is a literal backtick (`) here.")])],{},[])
22
11
  *** Output of to_html ***
23
12
 
24
- <p><code>There is a literal backtick (\</code>) here.<code></code></p>
25
-
26
- <p><code>There is a literal backtick (\\</code>) here.<code></code></p>
27
-
28
13
  <p><code>There is a literal backtick (`) here.</code></p>
29
14
 
30
15
  *** Output of to_latex ***
31
- \colorbox[rgb]{0.94,0.94,0.88}{\tt \char84\char104\char101\char114\char101\char32\char105\char115\char32\char97\char32\char108\char105\char116\char101\char114\char97\char108\char32\char98\char97\char99\char107\char116\char105\char99\char107\char32\char40\char92}) here.\colorbox[rgb]{0.94,0.94,0.88}{\tt }
16
+ \colorbox[rgb]{1.00,0.67,1.00}{\tt \char84\char104\char101\char114\char101\char32\char105\char115\char32\char97\char32\char108\char105\char116\char101\char114\char97\char108\char32\char98\char97\char99\char107\char116\char105\char99\char107\char32\char40\char96\char41\char32\char104\char101\char114\char101\char46}
32
17
 
33
- \colorbox[rgb]{0.94,0.94,0.88}{\tt \char84\char104\char101\char114\char101\char32\char105\char115\char32\char97\char32\char108\char105\char116\char101\char114\char97\char108\char32\char98\char97\char99\char107\char116\char105\char99\char107\char32\char40\char92\char92}) here.\colorbox[rgb]{0.94,0.94,0.88}{\tt }
34
18
 
35
- \colorbox[rgb]{0.94,0.94,0.88}{\tt \char84\char104\char101\char114\char101\char32\char105\char115\char32\char97\char32\char108\char105\char116\char101\char114\char97\char108\char32\char98\char97\char99\char107\char116\char105\char99\char107\char32\char40\char96\char41\char32\char104\char101\char114\char101\char46}
19
+ *** Output of to_md ***
20
+
36
21
 
37
22
 
38
23
  *** Output of to_s ***
39
- ) here.) here.
40
- *** Output of to_s ***
41
- ) here.) here.
24
+
42
25
  *** EOF ***
43
26
 
44
27
 
@@ -48,20 +31,10 @@ md_el(:document,[
48
31
 
49
32
 
50
33
  *** Output of Markdown.pl ***
51
- <p><code>There is a literal backtick (\</code>) here.`</p>
52
-
53
- <p><code>There is a literal backtick (\\</code>) here.`</p>
54
-
55
34
  <p><code>There is a literal backtick (`) here.</code></p>
56
35
 
57
36
  *** Output of Markdown.pl (parsed) ***
58
37
  <p
59
- ><code>There is a literal backtick (\</code
60
- >) here.`</p
61
- ><p
62
- ><code>There is a literal backtick (\\</code
63
- >) here.`</p
64
- ><p
65
- ><code>There is a literal backtick (`) here.</code
66
- ></p
67
- >
38
+ ><code>There is a literal backtick (`) here.</code
39
+ ></p
40
+ >
@@ -39,28 +39,28 @@ header
39
39
  *** Output of inspect ***
40
40
  md_el(:document,[
41
41
  md_par(["Paragraph, list with no space: * ciao"]),
42
- md_par(["Paragraph, list with 1 space: * ciao"]),
43
- md_par(["Paragraph, list with 3 space: * ciao"]),
44
- md_par(["Paragraph, list with 4 spaces: * ciao"]),
45
- md_par(["Paragraph, list with 1 tab: * ciao"]),
46
- md_par(["Paragraph (1 space after), list with no space: * ciao"]),
47
- md_par([
42
+ md_par(["Paragraph, list with 1 space: * ciao"]),
43
+ md_par(["Paragraph, list with 3 space: * ciao"]),
44
+ md_par(["Paragraph, list with 4 spaces: * ciao"]),
45
+ md_par(["Paragraph, list with 1 tab: * ciao"]),
46
+ md_par(["Paragraph (1 space after), list with no space: * ciao"]),
47
+ md_par([
48
48
  "Paragraph (2 spaces after), list with no space:",
49
- md_el(:linebreak,[] ),
50
- "* ciao"
49
+ md_el(:linebreak,[],{},[]),
50
+ "* ciao"
51
51
  ]),
52
- md_par([
52
+ md_par([
53
53
  "Paragraph (3 spaces after), list with no space: ",
54
- md_el(:linebreak,[] ),
55
- "* ciao"
54
+ md_el(:linebreak,[],{},[]),
55
+ "* ciao"
56
56
  ]),
57
- md_par(["Paragraph with block quote:"]),
58
- md_el(:quote,[md_par(["Quoted"])] ),
59
- md_par(["Paragraph with header:"]),
60
- md_el(:header,["header"] , {:id=>"header", :level=>3}),
61
- md_par(["Paragraph with header on two lines:"]),
62
- md_el(:header,["header"] , {:id=>"header", :level=>2})
63
- ] )
57
+ md_par(["Paragraph with block quote:"]),
58
+ md_el(:quote,[md_par(["Quoted"])],{},[]),
59
+ md_par(["Paragraph with header:"]),
60
+ md_el(:header,["header"],{:level=>3},[]),
61
+ md_par(["Paragraph with header on two lines:"]),
62
+ md_el(:header,["header"],{:level=>2},[])
63
+ ],{},[])
64
64
  *** Output of to_html ***
65
65
 
66
66
  <p>Paragraph, list with no space: * ciao</p>
@@ -75,11 +75,9 @@ md_el(:document,[
75
75
 
76
76
  <p>Paragraph (1 space after), list with no space: * ciao</p>
77
77
 
78
- <p>Paragraph (2 spaces after), list with no space:<br />
79
- * ciao</p>
78
+ <p>Paragraph (2 spaces after), list with no space:<br />* ciao</p>
80
79
 
81
- <p>Paragraph (3 spaces after), list with no space: <br />
82
- * ciao</p>
80
+ <p>Paragraph (3 spaces after), list with no space: <br />* ciao</p>
83
81
 
84
82
  <p>Paragraph with block quote:</p>
85
83
 
@@ -128,8 +126,37 @@ Paragraph with header on two lines:
128
126
  \hypertarget{header}{}\subsection*{{header}}\label{header}
129
127
 
130
128
 
131
- *** Output of to_s ***
132
- Paragraph, list with no space: * ciaoParagraph, list with 1 space: * ciaoParagraph, list with 3 space: * ciaoParagraph, list with 4 spaces: * ciaoParagraph, list with 1 tab: * ciaoParagraph (1 space after), list with no space: * ciaoParagraph (2 spaces after), list with no space:* ciaoParagraph (3 spaces after), list with no space: * ciaoParagraph with block quote:QuotedParagraph with header:headerParagraph with header on two lines:header
129
+ *** Output of to_md ***
130
+ Paragraph, list with no space: * ciao
131
+
132
+ Paragraph, list with 1 space: * ciao
133
+
134
+ Paragraph, list with 3 space: * ciao
135
+
136
+ Paragraph, list with 4 spaces: * ciao
137
+
138
+ Paragraph, list with 1 tab: * ciao
139
+
140
+ Paragraph (1 space after), list with no
141
+ space: * ciao
142
+
143
+ Paragraph (2 spaces after), list with
144
+ no space:
145
+ * ciao
146
+
147
+ Paragraph (3 spaces after), list with
148
+ no space:
149
+ * ciao
150
+
151
+ Paragraph with block quote:
152
+
153
+ Quoted
154
+
155
+ Paragraph with header:
156
+
157
+ headerParagraph with header on two lines:
158
+
159
+ header
133
160
  *** Output of to_s ***
134
161
  Paragraph, list with no space: * ciaoParagraph, list with 1 space: * ciaoParagraph, list with 3 space: * ciaoParagraph, list with 4 spaces: * ciaoParagraph, list with 1 tab: * ciaoParagraph (1 space after), list with no space: * ciaoParagraph (2 spaces after), list with no space:* ciaoParagraph (3 spaces after), list with no space: * ciaoParagraph with block quote:QuotedParagraph with header:headerParagraph with header on two lines:header
135
162
  *** EOF ***
@@ -182,29 +209,29 @@ Paragraph, list with no space: * ciaoParagraph, list with 1 space: * ciaoParagra
182
209
  *** Output of Markdown.pl (parsed) ***
183
210
  <p>Paragraph, list with no space:
184
211
  * ciao</p
185
- ><p>Paragraph, list with 1 space:
212
+ ><p>Paragraph, list with 1 space:
213
+ * ciao</p
214
+ ><p>Paragraph, list with 3 space:
215
+ * ciao</p
216
+ ><p>Paragraph, list with 4 spaces:
217
+ * ciao</p
218
+ ><p>Paragraph, list with 1 tab:
186
219
  * ciao</p
187
- ><p>Paragraph, list with 3 space:
188
- * ciao</p
189
- ><p>Paragraph, list with 4 spaces:
190
- * ciao</p
191
- ><p>Paragraph, list with 1 tab:
192
- * ciao</p
193
- ><p>Paragraph (1 space after), list with no space:
220
+ ><p>Paragraph (1 space after), list with no space:
194
221
  * ciao</p
195
- ><p>Paragraph (2 spaces after), list with no space: <br/
196
- >
222
+ ><p>Paragraph (2 spaces after), list with no space: <br
223
+ />
197
224
  * ciao</p
198
- ><p>Paragraph (3 spaces after), list with no space: <br/
199
- >
225
+ ><p>Paragraph (3 spaces after), list with no space: <br
226
+ />
200
227
  * ciao</p
201
- ><p>Paragraph with block quote:</p
202
- ><blockquote>
203
- <p>Quoted</p
204
- >
228
+ ><p>Paragraph with block quote:</p
229
+ ><blockquote>
230
+ <p>Quoted</p
231
+ >
205
232
  </blockquote
206
- ><p>Paragraph with header:</p
207
- ><h3>header</h3
208
- ><p>Paragraph with header on two lines:</p
209
- ><h2>header</h2
210
- >
233
+ ><p>Paragraph with header:</p
234
+ ><h3>header</h3
235
+ ><p>Paragraph with header on two lines:</p
236
+ ><h2>header</h2
237
+ >
@@ -0,0 +1,78 @@
1
+
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+ This is a list:
6
+
7
+ 2. one
8
+ 2. two
9
+ 3. three
10
+ *** Output of inspect ***
11
+ md_el(:document,[
12
+ md_par(["This is a list:"]),
13
+ md_el(:ol,[
14
+ md_el(:li_span,["one"],{:want_my_paragraph=>false},[]),
15
+ md_el(:li_span,["two"],{:want_my_paragraph=>false},[]),
16
+ md_el(:li_span,["three"],{:want_my_paragraph=>false},[])
17
+ ],{},[])
18
+ ],{},[])
19
+ *** Output of to_html ***
20
+
21
+ <p>This is a list:</p>
22
+
23
+ <ol>
24
+ <li>one</li>
25
+
26
+ <li>two</li>
27
+
28
+ <li>three</li>
29
+ </ol>
30
+
31
+ *** Output of to_latex ***
32
+ This is a list:
33
+
34
+ \begin{enumerate}%
35
+ \item one
36
+ \item two
37
+ \item three
38
+
39
+ \end{enumerate}
40
+
41
+ *** Output of to_md ***
42
+ This is a list:
43
+
44
+ 1. one
45
+ 2. two
46
+ 3. three
47
+
48
+
49
+ *** Output of to_s ***
50
+ This is a list:onetwothree
51
+ *** EOF ***
52
+
53
+
54
+
55
+ OK!
56
+
57
+
58
+
59
+ *** Output of Markdown.pl ***
60
+ <p>This is a list:</p>
61
+
62
+ <ol>
63
+ <li>one</li>
64
+ <li>two</li>
65
+ <li>three</li>
66
+ </ol>
67
+
68
+ *** Output of Markdown.pl (parsed) ***
69
+ <p>This is a list:</p
70
+ ><ol>
71
+ <li>one</li
72
+ >
73
+ <li>two</li
74
+ >
75
+ <li>three</li
76
+ >
77
+ </ol
78
+ >
@@ -4,7 +4,7 @@ Write a comment abouth the test here.
4
4
  *** Markdown input: ***
5
5
  One line
6
6
  *** Output of inspect ***
7
- md_el(:document,[md_par(["One line"])] )
7
+ md_el(:document,[md_par(["One line"])],{},[])
8
8
  *** Output of to_html ***
9
9
 
10
10
  <p>One line</p>
@@ -13,8 +13,10 @@ md_el(:document,[md_par(["One line"])] )
13
13
  One line
14
14
 
15
15
 
16
- *** Output of to_s ***
16
+ *** Output of to_md ***
17
17
  One line
18
+
19
+
18
20
  *** Output of to_s ***
19
21
  One line
20
22
  *** EOF ***
@@ -30,4 +32,4 @@ One line
30
32
 
31
33
  *** Output of Markdown.pl (parsed) ***
32
34
  <p>One line</p
33
- >
35
+ >
@@ -5,7 +5,7 @@ Write a comment abouth the test here.
5
5
  Paragraph
6
6
 
7
7
  *** Output of inspect ***
8
- md_el(:document,[md_par(["Paragraph"])] )
8
+ md_el(:document,[md_par(["Paragraph"])],{},[])
9
9
  *** Output of to_html ***
10
10
 
11
11
  <p>Paragraph</p>
@@ -14,8 +14,10 @@ md_el(:document,[md_par(["Paragraph"])] )
14
14
  Paragraph
15
15
 
16
16
 
17
- *** Output of to_s ***
17
+ *** Output of to_md ***
18
18
  Paragraph
19
+
20
+
19
21
  *** Output of to_s ***
20
22
  Paragraph
21
23
  *** EOF ***
@@ -31,4 +33,4 @@ Paragraph
31
33
 
32
34
  *** Output of Markdown.pl (parsed) ***
33
35
  <p>Paragraph</p
34
- >
36
+ >