maruku 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ >