maruku 0.6.0 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (290) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE.txt +20 -0
  3. data/bin/maruku +153 -152
  4. data/bin/marutex +2 -29
  5. data/data/entities.xml +261 -0
  6. data/docs/markdown_syntax.md +9 -21
  7. data/docs/math.md +14 -18
  8. data/lib/maruku.rb +65 -78
  9. data/lib/maruku/attributes.rb +109 -214
  10. data/lib/maruku/defaults.rb +45 -67
  11. data/lib/maruku/document.rb +44 -0
  12. data/lib/maruku/element.rb +138 -0
  13. data/lib/maruku/errors.rb +80 -0
  14. data/lib/maruku/ext/div.rb +105 -113
  15. data/lib/maruku/ext/fenced_code.rb +97 -0
  16. data/lib/maruku/ext/math.rb +22 -26
  17. data/lib/maruku/ext/math/elements.rb +20 -26
  18. data/lib/maruku/ext/math/mathml_engines/blahtex.rb +92 -104
  19. data/lib/maruku/ext/math/mathml_engines/itex2mml.rb +33 -26
  20. data/lib/maruku/ext/math/mathml_engines/none.rb +11 -19
  21. data/lib/maruku/ext/math/mathml_engines/ritex.rb +2 -4
  22. data/lib/maruku/ext/math/parsing.rb +121 -115
  23. data/lib/maruku/ext/math/to_html.rb +202 -187
  24. data/lib/maruku/ext/math/to_latex.rb +34 -21
  25. data/lib/maruku/helpers.rb +158 -257
  26. data/lib/maruku/html.rb +251 -0
  27. data/lib/maruku/input/charsource.rb +272 -319
  28. data/lib/maruku/input/extensions.rb +62 -63
  29. data/lib/maruku/input/html_helper.rb +233 -189
  30. data/lib/maruku/input/linesource.rb +90 -110
  31. data/lib/maruku/input/mdline.rb +131 -0
  32. data/lib/maruku/input/parse_block.rb +736 -613
  33. data/lib/maruku/input/parse_doc.rb +145 -217
  34. data/lib/maruku/input/parse_span.rb +740 -0
  35. data/lib/maruku/inspect_element.rb +60 -0
  36. data/lib/maruku/maruku.rb +14 -30
  37. data/lib/maruku/output/entity_table.rb +37 -0
  38. data/lib/maruku/output/s5/fancy.rb +462 -462
  39. data/lib/maruku/output/s5/to_s5.rb +115 -135
  40. data/lib/maruku/output/to_html.rb +907 -983
  41. data/lib/maruku/output/to_latex.rb +571 -563
  42. data/lib/maruku/output/to_markdown.rb +207 -162
  43. data/lib/maruku/output/to_s.rb +10 -52
  44. data/lib/maruku/string_utils.rb +129 -179
  45. data/lib/maruku/toc.rb +185 -196
  46. data/lib/maruku/version.rb +33 -38
  47. data/spec/block_docs/abbrev.md +776 -0
  48. data/{tests/unittest → spec/block_docs}/abbreviations.md +11 -20
  49. data/spec/block_docs/abbreviations2.md +27 -0
  50. data/{tests/unittest → spec/block_docs}/alt.md +2 -14
  51. data/{tests/unittest/pending → spec/block_docs}/amps.md +1 -13
  52. data/spec/block_docs/attribute_sanitize.md +22 -0
  53. data/{tests/unittest → spec/block_docs}/attributes/att2.md +0 -12
  54. data/{tests/unittest → spec/block_docs}/attributes/att3.md +2 -14
  55. data/{tests/unittest → spec/block_docs}/attributes/attributes.md +12 -16
  56. data/{tests/unittest → spec/block_docs}/attributes/circular.md +0 -12
  57. data/{tests/unittest → spec/block_docs}/attributes/default.md +1 -13
  58. data/spec/block_docs/atx_headers.md +22 -0
  59. data/spec/block_docs/auto_cdata.md +48 -0
  60. data/spec/block_docs/bad_cites.md +30 -0
  61. data/spec/block_docs/bad_divrefs.md +30 -0
  62. data/{tests/unittest → spec/block_docs}/blank.md +0 -12
  63. data/{tests/unittest → spec/block_docs}/blanks_in_code.md +16 -15
  64. data/spec/block_docs/block_quotes.md +66 -0
  65. data/{tests/unittest/loss.md → spec/block_docs/bug_def.md} +6 -18
  66. data/{tests/unittest → spec/block_docs}/bug_table.md +7 -19
  67. data/spec/block_docs/cites.md +37 -0
  68. data/{tests/unittest → spec/block_docs}/code.md +7 -14
  69. data/{tests/unittest → spec/block_docs}/code2.md +4 -14
  70. data/{tests/unittest → spec/block_docs}/code3.md +12 -16
  71. data/spec/block_docs/code4.md +79 -0
  72. data/{tests/unittest → spec/block_docs}/data_loss.md +2 -14
  73. data/spec/block_docs/div_without_newline.md +16 -0
  74. data/{tests/unittest → spec/block_docs}/divs/div1.md +0 -12
  75. data/{tests/unittest → spec/block_docs}/divs/div2.md +0 -12
  76. data/{tests/unittest → spec/block_docs}/divs/div3_nest.md +3 -15
  77. data/{tests/unittest → spec/block_docs}/easy.md +1 -13
  78. data/spec/block_docs/email.md +29 -0
  79. data/spec/block_docs/empty_cells.md +31 -0
  80. data/{tests/unittest → spec/block_docs}/encoding/iso-8859-1.md +1 -14
  81. data/{tests/unittest → spec/block_docs}/encoding/utf-8.md +0 -12
  82. data/{tests/unittest → spec/block_docs}/entities.md +33 -41
  83. data/{tests/unittest/notyet → spec/block_docs}/escape.md +2 -14
  84. data/{tests/unittest → spec/block_docs}/escaping.md +11 -22
  85. data/{tests/unittest → spec/block_docs}/extra_dl.md +2 -13
  86. data/{tests/unittest → spec/block_docs}/extra_header_id.md +14 -20
  87. data/{tests/unittest → spec/block_docs}/extra_table1.md +9 -21
  88. data/spec/block_docs/fenced_code_blocks.md +58 -0
  89. data/spec/block_docs/fenced_code_blocks_highlighted.md +17 -0
  90. data/{tests/unittest → spec/block_docs}/footnotes.md +12 -24
  91. data/spec/block_docs/footnotes2.md +82 -0
  92. data/spec/block_docs/hard.md +25 -0
  93. data/spec/block_docs/header_after_par.md +62 -0
  94. data/{tests/unittest → spec/block_docs}/headers.md +10 -18
  95. data/{tests/unittest → spec/block_docs}/hex_entities.md +7 -18
  96. data/{tests/unittest → spec/block_docs}/hrule.md +5 -12
  97. data/{tests/unittest → spec/block_docs}/html3.md +1 -13
  98. data/{tests/unittest → spec/block_docs}/html4.md +2 -14
  99. data/{tests/unittest → spec/block_docs}/html5.md +2 -14
  100. data/spec/block_docs/html_block_in_para.md +22 -0
  101. data/spec/block_docs/html_inline.md +25 -0
  102. data/spec/block_docs/html_trailing.md +31 -0
  103. data/spec/block_docs/ie.md +62 -0
  104. data/spec/block_docs/iframe.md +29 -0
  105. data/spec/block_docs/ignore_bad_header.md +9 -0
  106. data/{tests/unittest → spec/block_docs}/images.md +22 -28
  107. data/{tests/unittest → spec/block_docs}/images2.md +7 -17
  108. data/{tests/unittest → spec/block_docs}/inline_html.md +37 -67
  109. data/{tests/unittest → spec/block_docs}/inline_html2.md +1 -13
  110. data/spec/block_docs/inline_html_beginning.md +10 -0
  111. data/spec/block_docs/issue106.md +78 -0
  112. data/spec/block_docs/issue115.md +20 -0
  113. data/spec/block_docs/issue117.md +13 -0
  114. data/spec/block_docs/issue120.md +48 -0
  115. data/spec/block_docs/issue123.md +11 -0
  116. data/spec/block_docs/issue124.md +16 -0
  117. data/spec/block_docs/issue126.md +9 -0
  118. data/spec/block_docs/issue130.md +11 -0
  119. data/spec/block_docs/issue20.md +9 -0
  120. data/spec/block_docs/issue26.md +22 -0
  121. data/spec/block_docs/issue29.md +9 -0
  122. data/spec/block_docs/issue30.md +30 -0
  123. data/spec/block_docs/issue31.md +25 -0
  124. data/spec/block_docs/issue40.md +52 -0
  125. data/spec/block_docs/issue64.md +55 -0
  126. data/spec/block_docs/issue67.md +19 -0
  127. data/spec/block_docs/issue70.md +11 -0
  128. data/spec/block_docs/issue72.md +17 -0
  129. data/spec/block_docs/issue74.md +38 -0
  130. data/spec/block_docs/issue79.md +15 -0
  131. data/spec/block_docs/issue83.md +13 -0
  132. data/spec/block_docs/issue85.md +25 -0
  133. data/spec/block_docs/issue88.md +19 -0
  134. data/spec/block_docs/issue89.md +12 -0
  135. data/spec/block_docs/issue90.md +38 -0
  136. data/{tests/unittest/pending → spec/block_docs}/link.md +21 -18
  137. data/{tests/unittest → spec/block_docs}/links.md +33 -32
  138. data/spec/block_docs/links2.md +21 -0
  139. data/{tests/unittest → spec/block_docs}/list1.md +0 -12
  140. data/{tests/unittest → spec/block_docs}/list12.md +2 -14
  141. data/{tests/unittest → spec/block_docs}/list2.md +2 -14
  142. data/spec/block_docs/list_multipara.md +42 -0
  143. data/{tests/unittest → spec/block_docs}/lists.md +28 -29
  144. data/{tests/unittest → spec/block_docs}/lists10.md +2 -14
  145. data/spec/block_docs/lists11.md +23 -0
  146. data/spec/block_docs/lists12.md +43 -0
  147. data/spec/block_docs/lists13.md +55 -0
  148. data/spec/block_docs/lists14.md +61 -0
  149. data/spec/block_docs/lists15.md +36 -0
  150. data/spec/block_docs/lists6.md +88 -0
  151. data/spec/block_docs/lists7b.md +58 -0
  152. data/spec/block_docs/lists9.md +53 -0
  153. data/{tests/unittest → spec/block_docs}/lists_after_paragraph.md +19 -25
  154. data/spec/block_docs/lists_blank.md +35 -0
  155. data/{tests/unittest/list3.md → spec/block_docs/lists_blockquote_code.md} +2 -14
  156. data/{tests/unittest/list4.md → spec/block_docs/lists_need_blank_line.md} +44 -29
  157. data/spec/block_docs/lists_nested.md +44 -0
  158. data/spec/block_docs/lists_nested_blankline.md +34 -0
  159. data/spec/block_docs/lists_nested_deep.md +43 -0
  160. data/spec/block_docs/lists_ol.md +129 -0
  161. data/spec/block_docs/lists_ol2.md +147 -0
  162. data/spec/block_docs/lists_paraindent.md +42 -0
  163. data/spec/block_docs/lists_tab.md +54 -0
  164. data/spec/block_docs/loss.md +17 -0
  165. data/spec/block_docs/math-blahtex/equations.md +29 -0
  166. data/spec/block_docs/math-blahtex/inline.md +48 -0
  167. data/spec/block_docs/math-blahtex/math2.md +52 -0
  168. data/spec/block_docs/math-blahtex/table.md +25 -0
  169. data/spec/block_docs/math/embedded_invalid_svg.md +108 -0
  170. data/spec/block_docs/math/embedded_svg.md +136 -0
  171. data/spec/block_docs/math/equations.md +49 -0
  172. data/spec/block_docs/math/inline.md +46 -0
  173. data/spec/block_docs/math/math2.md +53 -0
  174. data/{tests/unittest → spec/block_docs}/math/notmath.md +0 -12
  175. data/spec/block_docs/math/raw_mathml.md +87 -0
  176. data/spec/block_docs/math/spaces_after_inline_math.md +17 -0
  177. data/spec/block_docs/math/table.md +25 -0
  178. data/{tests/unittest → spec/block_docs}/math/table2.md +11 -23
  179. data/{tests/unittest → spec/block_docs}/misc_sw.md +184 -121
  180. data/{tests/unittest → spec/block_docs}/olist.md +6 -18
  181. data/{tests/unittest → spec/block_docs}/one.md +0 -12
  182. data/{tests/unittest → spec/block_docs}/paragraph.md +0 -12
  183. data/{tests/unittest → spec/block_docs}/paragraph_rules/dont_merge_ref.md +4 -12
  184. data/{tests/unittest → spec/block_docs}/paragraph_rules/tab_is_blank.md +0 -12
  185. data/{tests/unittest → spec/block_docs}/paragraphs.md +1 -13
  186. data/{tests/unittest → spec/block_docs}/recover/recover_links.md +4 -16
  187. data/{tests/unittest/pending/ref.md → spec/block_docs/ref_with_period.md} +7 -16
  188. data/spec/block_docs/ref_with_title.md +22 -0
  189. data/{tests/unittest → spec/block_docs}/references/long_example.md +16 -23
  190. data/{tests/unittest → spec/block_docs}/references/spaces_and_numbers.md +0 -12
  191. data/{tests/unittest → spec/block_docs}/smartypants.md +24 -31
  192. data/{tests/unittest → spec/block_docs}/syntax_hl.md +13 -17
  193. data/{tests/unittest → spec/block_docs}/table_attributes.md +6 -20
  194. data/spec/block_docs/table_colspan.md +41 -0
  195. data/spec/block_docs/tables.md +47 -0
  196. data/spec/block_docs/tables2.md +74 -0
  197. data/{tests/unittest → spec/block_docs}/test.md +1 -13
  198. data/{tests/unittest/notyet → spec/block_docs}/ticks.md +1 -13
  199. data/spec/block_docs/toc.md +87 -0
  200. data/{tests/unittest/notyet → spec/block_docs}/triggering.md +14 -25
  201. data/{tests/unittest → spec/block_docs}/underscore_in_words.md +0 -12
  202. data/{tests/unittest → spec/block_docs}/wrapping.md +4 -16
  203. data/spec/block_docs/xml.md +33 -0
  204. data/spec/block_docs/xml3.md +24 -0
  205. data/spec/block_docs/xml_comments.md +32 -0
  206. data/{tests/unittest → spec/block_docs}/xml_instruction.md +9 -20
  207. data/spec/block_spec.rb +110 -0
  208. data/spec/cli_spec.rb +8 -0
  209. data/spec/span_spec.rb +263 -0
  210. data/spec/spec_helper.rb +3 -0
  211. data/spec/to_html_utf8_spec.rb +13 -0
  212. metadata +218 -202
  213. data/Rakefile +0 -73
  214. data/bin/marudown +0 -29
  215. data/bin/marutest +0 -345
  216. data/docs/changelog.md +0 -334
  217. data/lib/maruku/errors_management.rb +0 -92
  218. data/lib/maruku/ext/math/latex_fix.rb +0 -12
  219. data/lib/maruku/input/parse_span_better.rb +0 -746
  220. data/lib/maruku/input/rubypants.rb +0 -225
  221. data/lib/maruku/input/type_detection.rb +0 -147
  222. data/lib/maruku/output/to_latex_entities.rb +0 -367
  223. data/lib/maruku/output/to_latex_strings.rb +0 -64
  224. data/lib/maruku/structures.rb +0 -167
  225. data/lib/maruku/structures_inspect.rb +0 -87
  226. data/lib/maruku/structures_iterators.rb +0 -61
  227. data/lib/maruku/tests/benchmark.rb +0 -82
  228. data/lib/maruku/tests/new_parser.rb +0 -373
  229. data/lib/maruku/tests/tests.rb +0 -136
  230. data/lib/maruku/usage/example1.rb +0 -33
  231. data/maruku_gem.rb +0 -33
  232. data/tests/bugs/code_in_links.md +0 -101
  233. data/tests/bugs/complex_escaping.md +0 -38
  234. data/tests/math/syntax.md +0 -46
  235. data/tests/math_usage/document.md +0 -13
  236. data/tests/others/abbreviations.md +0 -11
  237. data/tests/others/blank.md +0 -4
  238. data/tests/others/code.md +0 -5
  239. data/tests/others/code2.md +0 -8
  240. data/tests/others/code3.md +0 -16
  241. data/tests/others/email.md +0 -4
  242. data/tests/others/entities.md +0 -19
  243. data/tests/others/escaping.md +0 -16
  244. data/tests/others/extra_dl.md +0 -101
  245. data/tests/others/extra_header_id.md +0 -13
  246. data/tests/others/extra_table1.md +0 -40
  247. data/tests/others/footnotes.md +0 -17
  248. data/tests/others/headers.md +0 -10
  249. data/tests/others/hrule.md +0 -10
  250. data/tests/others/images.md +0 -20
  251. data/tests/others/inline_html.md +0 -42
  252. data/tests/others/links.md +0 -38
  253. data/tests/others/list1.md +0 -4
  254. data/tests/others/list2.md +0 -5
  255. data/tests/others/list3.md +0 -8
  256. data/tests/others/lists.md +0 -32
  257. data/tests/others/lists_after_paragraph.md +0 -44
  258. data/tests/others/lists_ol.md +0 -39
  259. data/tests/others/misc_sw.md +0 -105
  260. data/tests/others/one.md +0 -1
  261. data/tests/others/paragraphs.md +0 -13
  262. data/tests/others/sss06.md +0 -352
  263. data/tests/others/test.md +0 -4
  264. data/tests/s5/s5profiling.md +0 -48
  265. data/tests/unittest/bug_def.md +0 -28
  266. data/tests/unittest/email.md +0 -32
  267. data/tests/unittest/hang.md +0 -29
  268. data/tests/unittest/html2.md +0 -34
  269. data/tests/unittest/ie.md +0 -61
  270. data/tests/unittest/links2.md +0 -34
  271. data/tests/unittest/lists11.md +0 -28
  272. data/tests/unittest/lists6.md +0 -53
  273. data/tests/unittest/lists9.md +0 -76
  274. data/tests/unittest/lists_ol.md +0 -274
  275. data/tests/unittest/math/equations.md +0 -86
  276. data/tests/unittest/math/inline.md +0 -58
  277. data/tests/unittest/math/math2.md +0 -57
  278. data/tests/unittest/math/table.md +0 -37
  279. data/tests/unittest/notyet/header_after_par.md +0 -70
  280. data/tests/unittest/pending/empty_cells.md +0 -49
  281. data/tests/unittest/red_tests/abbrev.md +0 -1388
  282. data/tests/unittest/red_tests/lists7.md +0 -68
  283. data/tests/unittest/red_tests/lists7b.md +0 -128
  284. data/tests/unittest/red_tests/lists8.md +0 -76
  285. data/tests/unittest/red_tests/xml.md +0 -70
  286. data/tests/unittest/xml2.md +0 -31
  287. data/tests/unittest/xml3.md +0 -38
  288. data/tests/utf8-files/simple.md +0 -1
  289. data/unit_test_block.sh +0 -5
  290. data/unit_test_span.sh +0 -3
@@ -0,0 +1,44 @@
1
+ Nesting lists.
2
+ *** Parameters: ***
3
+ {} # params
4
+ *** Markdown input: ***
5
+ * A list item
6
+ * Foo
7
+ * Bar
8
+ * Bax
9
+ * Bap
10
+ * Another list item
11
+ *** Output of inspect ***
12
+ md_el(:document, md_el(:ul, [
13
+ md_li([
14
+ "A list item",
15
+ md_el(:ul, [
16
+ md_li("Foo", false),
17
+ md_li([
18
+ "Bar",
19
+ md_el(:ul, [
20
+ md_li("Bax", false),
21
+ md_li("Bap", false)
22
+ ])
23
+ ], false)
24
+ ])
25
+ ], false),
26
+ md_li("Another list item", false)
27
+ ]))
28
+ *** Output of to_html ***
29
+ <ul>
30
+ <li>A list item
31
+ <ul>
32
+ <li>Foo</li>
33
+ <li>Bar
34
+ <ul>
35
+ <li>Bax</li>
36
+
37
+ <li>Bap</li>
38
+ </ul>
39
+ </li>
40
+ </ul>
41
+ </li>
42
+
43
+ <li>Another list item</li>
44
+ </ul>
@@ -0,0 +1,34 @@
1
+ Nesting lists should handle newlines inbetween list items.
2
+ *** Parameters: ***
3
+ {} # params
4
+ *** Markdown input: ***
5
+ * Bar
6
+ * Bax
7
+
8
+ * boo
9
+ *** Output of inspect ***
10
+ md_el(:document, md_el(:ul, [
11
+ md_li([
12
+ md_par("Bar"),
13
+ md_el(:ul, [
14
+ md_li(md_par("Bax"), true),
15
+ md_li(md_par("boo"), false)
16
+ ], {}, [])
17
+ ],true)
18
+ ],{},[]))
19
+ *** Output of to_html ***
20
+ <ul>
21
+ <li>
22
+ <p>Bar</p>
23
+
24
+ <ul>
25
+ <li>
26
+ <p>Bax</p>
27
+ </li>
28
+
29
+ <li>
30
+ <p>boo</p>
31
+ </li>
32
+ </ul>
33
+ </li>
34
+ </ul>
@@ -0,0 +1,43 @@
1
+ Lists should be nestable to arbitrary depth.
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+ * Space
6
+ * Space
7
+ * Space
8
+ * Space
9
+ * Space
10
+
11
+ *** Output of inspect ***
12
+ md_el(:document, [
13
+ md_el(:ul, md_li([
14
+ "Space",
15
+ md_el(:ul, md_li([
16
+ "Space",
17
+ md_el(:ul, md_li([
18
+ "Space",
19
+ md_el(:ul, md_li(["Space", md_el(:ul, md_li("Space", false))], false))
20
+ ], false))
21
+ ], false))
22
+ ], false))
23
+ ])
24
+ *** Output of to_html ***
25
+ <ul>
26
+ <li>Space
27
+ <ul>
28
+ <li>Space
29
+ <ul>
30
+ <li>Space
31
+ <ul>
32
+ <li>Space
33
+ <ul>
34
+ <li>Space</li>
35
+ </ul>
36
+ </li>
37
+ </ul>
38
+ </li>
39
+ </ul>
40
+ </li>
41
+ </ul>
42
+ </li>
43
+ </ul>
@@ -0,0 +1,129 @@
1
+ Maruku should handle weirdly indented lists.
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+ 1. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
6
+ Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
7
+ viverra nec, fringilla in, laoreet vitae, risus.
8
+ 2. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
9
+ Suspendisse id sem consectetuer libero luctus adipiscing.
10
+ 3. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
11
+ Suspendisse id sem consectetuer libero luctus adipiscing.
12
+ 3. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
13
+ Suspendisse id sem consectetuer libero luctus adipiscing.
14
+ 4. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
15
+ Suspendisse id sem consectetuer libero luctus adipiscing.
16
+
17
+ Ancora
18
+
19
+ 1. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
20
+ Suspendisse id sem consectetuer libero luctus adipiscing.
21
+
22
+ This is code
23
+
24
+ 2. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
25
+ Suspendisse id sem consectetuer libero luctus adipiscing.
26
+
27
+ This is code
28
+ 3. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
29
+ Suspendisse id sem consectetuer libero luctus adipiscing.
30
+
31
+ This is not code
32
+
33
+ *** Output of inspect ***
34
+ md_el(:document,[
35
+ md_el(:ol,[
36
+ md_li([
37
+ "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus."
38
+ ],false),
39
+ md_li([
40
+ "Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing."
41
+ ],false),
42
+ md_li([
43
+ "Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing."
44
+ ],false),
45
+ md_li([
46
+ "Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing."
47
+ ],false),
48
+ md_li([
49
+ "Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing."
50
+ ],false)
51
+ ],{},[]),
52
+ md_par(["Ancora"]),
53
+ md_el(:ol,[
54
+ md_li([
55
+ md_par("Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing."),
56
+ md_el(:code, [], {:raw_code=>"This is code", :lang=>nil})
57
+ ],true),
58
+ md_li([
59
+ md_par("Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing."),
60
+ md_el(:code, [], {:raw_code=>"This is code", :lang=>nil})
61
+ ],true),
62
+ md_li([
63
+ md_par("Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing."),
64
+ md_par("This is not code")
65
+ ],nil),
66
+ ],{},[]),
67
+ ],{},[])
68
+ *** Output of to_html ***
69
+ <ol>
70
+ <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.</li>
71
+
72
+ <li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.</li>
73
+
74
+ <li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.</li>
75
+
76
+ <li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.</li>
77
+
78
+ <li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.</li>
79
+ </ol>
80
+
81
+ <p>Ancora</p>
82
+
83
+ <ol>
84
+ <li>
85
+
86
+ <p>Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.</p>
87
+
88
+ <pre><code>This is code</code></pre>
89
+ </li>
90
+ <li>
91
+
92
+ <p>Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.</p>
93
+
94
+ <pre><code>This is code</code></pre>
95
+ </li>
96
+ <li>
97
+
98
+ <p>Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.</p>
99
+
100
+ <p>This is not code</p>
101
+ </li>
102
+ </ol>
103
+ *** Output of to_latex ***
104
+ \begin{enumerate}%
105
+ \item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
106
+ \item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
107
+ \item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
108
+ \item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
109
+ \item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
110
+
111
+ \end{enumerate}
112
+ Ancora
113
+
114
+ \begin{enumerate}%
115
+ \item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
116
+
117
+ \begin{verbatim}This is code\end{verbatim}
118
+
119
+ \item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
120
+
121
+ \begin{verbatim}This is code\end{verbatim}
122
+
123
+ \item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
124
+
125
+ This is not code
126
+
127
+
128
+
129
+ \end{enumerate}
@@ -0,0 +1,147 @@
1
+ Maruku handles some weirdly indented lists and paragraphs within lists.
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+ 1. This is a list item with two paragraphs. Lorem ipsum dolor
6
+ sit amet, consectetuer adipiscing elit. Aliquam hendrerit
7
+ mi posuere lectus.
8
+
9
+ ATTENZIONE!
10
+
11
+ - Uno
12
+ - Due
13
+ 1. tre
14
+ 1. tre
15
+ 1. tre
16
+ - Due
17
+
18
+ 2. Suspendisse id sem consectetuer libero luctus adipiscing.
19
+
20
+
21
+ Ancora
22
+
23
+ * This is a list item with two paragraphs.
24
+
25
+ This is the second paragraph in the list item. You're
26
+ only required to indent the first line. Lorem ipsum dolor
27
+ sit amet, consectetuer adipiscing elit.
28
+
29
+ * Another item in the same list.
30
+ *** Output of inspect ***
31
+ md_el(:document,[
32
+ md_el(:ol,[
33
+ md_li([
34
+ md_par([
35
+ "This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus."
36
+ ]),
37
+ md_par(["ATTENZIONE!"]),
38
+ md_el(:ul,[
39
+ md_li(["Uno"],false),
40
+ md_li(["Due",
41
+ md_el(:ol,[
42
+ md_li(["tre"],false),
43
+ md_li(["tre"],false),
44
+ md_li(["tre"],false)
45
+ ],{},[])
46
+ ],false),
47
+ md_li(["Due"],false)
48
+ ],{},[])
49
+ ],true),
50
+ md_li([
51
+ md_par(["Suspendisse id sem consectetuer libero luctus adipiscing."])
52
+ ],false)
53
+ ],{},[]),
54
+ md_par(["Ancora"]),
55
+ md_el(:ul,[
56
+ md_li([
57
+ md_par(["This is a list item with two paragraphs."]),
58
+ md_par([
59
+ "This is the second paragraph in the list item. You",
60
+ md_entity("rsquo"),
61
+ "re only required to indent the first line. Lorem ipsum dolor sit amet, consectetuer adipiscing elit."
62
+ ])
63
+ ],true),
64
+ md_li([md_par(["Another item in the same list."])],false)
65
+ ],{},[])
66
+ ],{},[])
67
+ *** Output of to_html ***
68
+ <ol>
69
+ <li>
70
+ <p>This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.</p>
71
+
72
+ <p>ATTENZIONE!</p>
73
+
74
+ <ul>
75
+ <li>Uno</li>
76
+
77
+ <li>Due
78
+ <ol>
79
+ <li>tre</li>
80
+
81
+ <li>tre</li>
82
+
83
+ <li>tre</li>
84
+ </ol>
85
+ </li>
86
+
87
+ <li>Due</li>
88
+ </ul>
89
+ </li>
90
+
91
+ <li>
92
+ <p>Suspendisse id sem consectetuer libero luctus adipiscing.</p>
93
+ </li>
94
+ </ol>
95
+
96
+ <p>Ancora</p>
97
+
98
+ <ul>
99
+ <li>
100
+ <p>This is a list item with two paragraphs.</p>
101
+
102
+ <p>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.</p>
103
+ </li>
104
+
105
+ <li>
106
+ <p>Another item in the same list.</p>
107
+ </li>
108
+ </ul>
109
+ *** Output of to_latex ***
110
+ \begin{enumerate}%
111
+ \item This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
112
+
113
+ ATTENZIONE!
114
+
115
+ \begin{itemize}%
116
+ \item Uno
117
+ \item Due\begin{enumerate}%
118
+ \item tre
119
+ \item tre
120
+ \item tre
121
+
122
+ \end{enumerate}
123
+
124
+ \item Due
125
+
126
+ \end{itemize}
127
+
128
+ \item Suspendisse id sem consectetuer libero luctus adipiscing.
129
+
130
+
131
+
132
+ \end{enumerate}
133
+ Ancora
134
+
135
+ \begin{itemize}%
136
+ \item This is a list item with two paragraphs.
137
+
138
+ 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.
139
+
140
+
141
+ \item Another item in the same list.
142
+
143
+
144
+
145
+ \end{itemize}
146
+ *** Output of to_s ***
147
+ 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.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.ATTENZIONE!UnoDuetretretreDueSuspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs.This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Another item in the same list.
@@ -0,0 +1,42 @@
1
+ Indentation is weird...
2
+ *** Parameters: ***
3
+ {} # params
4
+ *** Markdown input: ***
5
+ * A list item
6
+ * Foo
7
+ * Bar
8
+ * Bax
9
+ Bap
10
+ * Another list item
11
+ *** Output of inspect ***
12
+ md_el(:document, md_el(:ul, [
13
+ md_li([
14
+ "A list item",
15
+ md_el(:ul, [
16
+ md_li("Foo", false),
17
+ md_li([
18
+ "Bar",
19
+ md_el(:ul, [
20
+ md_li("Bax Bap", false)
21
+ ])
22
+ ], false)
23
+ ])
24
+ ], false),
25
+ md_li("Another list item", false)
26
+ ]))
27
+ *** Output of to_html ***
28
+ <ul>
29
+ <li>A list item
30
+ <ul>
31
+ <li>Foo</li>
32
+
33
+ <li>Bar
34
+ <ul>
35
+ <li>Bax Bap</li>
36
+ </ul>
37
+ </li>
38
+ </ul>
39
+ </li>
40
+
41
+ <li>Another list item</li>
42
+ </ul>
@@ -0,0 +1,54 @@
1
+ Sub-lists should be indentable with a single tab.
2
+ *** Parameters: ***
3
+ {} # params
4
+ *** Markdown input: ***
5
+ Ciao
6
+
7
+ * Tab
8
+ * Tab
9
+ * Tab
10
+
11
+ *** Output of inspect ***
12
+ md_el(:document,[
13
+ md_par(["Ciao"]),
14
+ md_el(:ul,[md_el(:li,["Tab",
15
+ md_el(:ul,[md_el(:li,["Tab",
16
+ md_el(:ul,[md_el(:li,["Tab"],{:want_my_paragraph=>false})])],
17
+ {:want_my_paragraph=>false})])],
18
+ {:want_my_paragraph=>false})])
19
+ ])
20
+ *** Output of to_html ***
21
+ <p>Ciao</p>
22
+
23
+ <ul>
24
+ <li>Tab
25
+ <ul>
26
+ <li>Tab
27
+ <ul>
28
+ <li>Tab</li>
29
+ </ul>
30
+ </li>
31
+ </ul>
32
+ </li>
33
+ </ul>
34
+ *** Output of to_latex ***
35
+ Ciao
36
+
37
+ \begin{itemize}%
38
+ \item Tab\begin{itemize}%
39
+ \item Tab\begin{itemize}%
40
+ \item Tab
41
+
42
+ \end{itemize}
43
+
44
+
45
+ \end{itemize}
46
+
47
+
48
+ \end{itemize}
49
+ *** Output of to_md ***
50
+ Ciao
51
+
52
+ -ab * Tab * Tab
53
+ *** Output of to_s ***
54
+ CiaoTab * Tab * Tab