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
@@ -1,4 +1,4 @@
1
-
1
+ Markdown inside HTML according to Markdown Extra: http://michelf.ca/projects/php-markdown/extra/#markdown-attr
2
2
  *** Parameters: ***
3
3
  {}
4
4
  *** Markdown input: ***
@@ -19,15 +19,3 @@ md_el(:document,[
19
19
 
20
20
  *** Output of to_s ***
21
21
 
22
- *** EOF ***
23
-
24
-
25
-
26
- OK!
27
-
28
-
29
-
30
- *** Output of Markdown.pl ***
31
- (not used anymore)
32
- *** Output of Markdown.pl (parsed) ***
33
- (not used anymore)
@@ -0,0 +1,10 @@
1
+ Inline HTML at the beginning of a line shouldn't kill the rest of the line. https://github.com/bhollis/maruku/issues/67
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+ <del>Two</del> Half
6
+ *** Output of inspect ***
7
+ md_el(:document, md_par([md_html("<del>Two</del>"), " Half"]))
8
+ *** Output of to_html ***
9
+ <p><del>Two</del> Half</p>
10
+
@@ -0,0 +1,78 @@
1
+ Code with list-delimiters in it - https://github.com/bhollis/maruku/issues/106
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+
6
+ This is code (4 spaces):
7
+
8
+ * Code
9
+ * Code (again)
10
+
11
+ This is also code
12
+
13
+ * Code
14
+ * Code (again)
15
+
16
+ This is code (1 tab):
17
+
18
+ * Code
19
+ * Code (again)
20
+
21
+
22
+ *** Output of inspect ***
23
+ md_el(:document,[
24
+ md_par(["This is code (4 spaces):"]),
25
+ md_el(:code,[],{:raw_code=>"* Code
26
+ * Code (again)", :lang=>nil},[]),
27
+ md_par(["This is also code"]),
28
+ md_el(:code,[],{:raw_code=>"* Code
29
+ * Code (again)", :lang=>nil},[]),
30
+ md_par(["This is code (1 tab):"]),
31
+ md_el(:code,[],{:raw_code=>"* Code
32
+ * Code (again)", :lang=>nil},[])
33
+ ],{},[])
34
+ *** Output of to_html ***
35
+ <p>This is code (4 spaces):</p>
36
+
37
+ <pre><code>* Code
38
+ * Code (again)</code></pre>
39
+
40
+ <p>This is also code</p>
41
+
42
+ <pre><code>* Code
43
+ * Code (again)</code></pre>
44
+
45
+ <p>This is code (1 tab):</p>
46
+
47
+ <pre><code>* Code
48
+ * Code (again)</code></pre>
49
+ *** Output of to_latex ***
50
+ This is code (4 spaces):
51
+
52
+ \begin{verbatim}* Code
53
+ * Code (again)\end{verbatim}
54
+ This is also code
55
+
56
+ \begin{verbatim}* Code
57
+ * Code (again)\end{verbatim}
58
+ This is code (1 tab):
59
+
60
+ \begin{verbatim}* Code
61
+ * Code (again)\end{verbatim}
62
+ *** Output of to_md ***
63
+ This is code (4 spaces):
64
+
65
+ * Code
66
+ * Code (again)
67
+
68
+ This is also code
69
+
70
+ * Code
71
+ * Code (again)
72
+
73
+ This is code (1 tab):
74
+
75
+ * Code
76
+ * Code (again)
77
+ *** Output of to_s ***
78
+ This is code (4 spaces):This is also codeThis is code (1 tab):
@@ -0,0 +1,20 @@
1
+ Markdown in comments should not be parsed. https://github.com/bhollis/maruku/issues/115
2
+ Note that output is kind of weird because we modify the comment in order to let REXML parse it due to https://bugs.ruby-lang.org/issues/9277.
3
+ *** Parameters: ***
4
+ {}
5
+ *** Markdown input: ***
6
+ <!--
7
+ Header
8
+ ------
9
+ -->
10
+
11
+ <!-- -- -->
12
+ *** Output of inspect ***
13
+ md_el(:document,[md_html("<!--\nHeader\n- - - - - - \n-->"), md_html("<!-- - - -->")])
14
+ *** Output of to_html ***
15
+ <!--
16
+ Header
17
+ - - - - - -
18
+ -->
19
+
20
+ <!-- - - -->
@@ -0,0 +1,13 @@
1
+ Section tags should not get <p> put around them. https://github.com/bhollis/maruku/issues/117
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+ <section markdown="1">
6
+ ## Header
7
+ </section>
8
+ *** Output of inspect ***
9
+
10
+ *** Output of to_html ***
11
+ <section>
12
+ <h2>Header</h2>
13
+ </section>
@@ -0,0 +1,48 @@
1
+ Style tags should be OK with unescaped angle brackets and ampersands. https://github.com/bhollis/maruku/issues/120
2
+ NOTE: Commented CDATA is output because we use XHTML - for HTML mode it should be omitted.
3
+ *** Parameters: ***
4
+ {}
5
+ *** Markdown input: ***
6
+ <style type="text/css">
7
+ p > .highlight {
8
+ color: red;
9
+ background-image: url('/foo?bar&baz');
10
+ }
11
+ </style>
12
+
13
+ <style type="text/css">/*<![CDATA[*/
14
+ p > .highlight {
15
+ color: red;
16
+ background-image: url('/foo?bar&baz');
17
+ }
18
+ /*]]>*/</style>
19
+
20
+ <style type="text/css">
21
+ /*<![CDATA[*/
22
+ p > .highlight {
23
+ color: red;
24
+ background-image: url('/foo?bar&baz');
25
+ }
26
+ /*]]>*/
27
+ </style>
28
+ *** Output of inspect ***
29
+
30
+ *** Output of to_html ***
31
+ <style type='text/css'>/*<![CDATA[*/
32
+ p > .highlight {
33
+ color: red;
34
+ background-image: url('/foo?bar&baz');
35
+ }
36
+ /*]]>*/</style><style type='text/css'>/*<![CDATA[*/
37
+ p > .highlight {
38
+ color: red;
39
+ background-image: url('/foo?bar&baz');
40
+ }
41
+ /*]]>*/</style><style type='text/css'>
42
+ /*<![CDATA[*/
43
+ p > .highlight {
44
+ color: red;
45
+ background-image: url('/foo?bar&baz');
46
+ }
47
+ /*]]>*/
48
+ </style>
@@ -0,0 +1,11 @@
1
+ Handle script tag without a newline. https://github.com/bhollis/maruku/issues/123
2
+ *** Parameters: ***
3
+ { }
4
+ *** Markdown input: ***
5
+ Lets add Jade to our dependencies:
6
+ <script src="https://gist.github.com/7360992.js"> </script>
7
+ *** Output of inspect ***
8
+
9
+ *** Output of to_html ***
10
+ <p>Lets add Jade to our dependencies:</p>
11
+ <script src='https://gist.github.com/7360992.js'> </script>
@@ -0,0 +1,16 @@
1
+ Handle blocks of inline HTML without a newline without complaining. https://github.com/bhollis/maruku/issues/124
2
+ *** Parameters: ***
3
+ {:on_error => :raise}
4
+ *** Markdown input: ***
5
+ What follows uses ruby
6
+ <ruby>
7
+ <rb>東</rb><rp>(</rp><rt>トウ</rt><rp>)</rp>
8
+ <rb>京</rb><rp>(</rp><rt>キョウ</rt><rp>)</rp>
9
+ </ruby>.
10
+ *** Output of inspect ***
11
+
12
+ *** Output of to_html ***
13
+ <p>What follows uses ruby <ruby>
14
+ <rb>東</rb><rp>(</rp><rt>トウ</rt><rp>)</rp>
15
+ <rb>京</rb><rp>(</rp><rt>キョウ</rt><rp>)</rp>
16
+ </ruby>.</p>
@@ -0,0 +1,9 @@
1
+ Handle HTTPS links at the start of a line. https://github.com/bhollis/maruku/issues/126
2
+ *** Parameters: ***
3
+ { }
4
+ *** Markdown input: ***
5
+ <https://google.com>
6
+ *** Output of inspect ***
7
+
8
+ *** Output of to_html ***
9
+ <p><a href="https://google.com">https://google.com</a></p>
@@ -0,0 +1,11 @@
1
+ Handle ellipsis at the end of a line. https://github.com/bhollis/maruku/issues/130
2
+ *** Parameters: ***
3
+ { }
4
+ *** Markdown input: ***
5
+ A paragraph... continued...
6
+ *** Output of inspect ***
7
+ md_el(:document, md_par(["A paragraph", md_entity("hellip"), " continued", md_entity("hellip")]))
8
+ *** Output of to_html ***
9
+ <p>A paragraph… continued…</p>
10
+ *** Output of to_latex ***
11
+ A paragraph\ldots{} continued\ldots{}
@@ -0,0 +1,9 @@
1
+ Just an attribute list on its own in a header is probably really content. https://github.com/bhollis/maruku/issues/20
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+ # {hi}
6
+ *** Output of inspect ***
7
+ md_el(:document, md_el(:header, "{hi}", {:level=>1}))
8
+ *** Output of to_html ***
9
+ <h1 id="hi">{hi}</h1>
@@ -0,0 +1,22 @@
1
+ Nested lists shouldn't get <p> tags wrapped around elements. https://github.com/bhollis/maruku/issues/26
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+ - Root
6
+ + Node
7
+ + Node
8
+ - Root
9
+ *** Output of inspect ***
10
+ md_el(:document, md_el(:ul, [
11
+ md_li(["Root", md_el(:ul, [md_li("Node", false), md_li("Node", false)])], false),
12
+ md_li("Root", false)
13
+ ]))
14
+ *** Output of to_html ***
15
+ <ul>
16
+ <li>Root
17
+ <ul>
18
+ <li>Node</li>
19
+ <li>Node</li>
20
+ </ul></li>
21
+ <li>Root</li>
22
+ </ul>
@@ -0,0 +1,9 @@
1
+ Generating ids for unicode headers. Other markdown implementations drop the non-ASCII characters so the anchor is URL-valid. https://github.com/bhollis/maruku/issues/29
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+ # Übersicht
6
+ *** Output of inspect ***
7
+ md_el(:document, md_el(:header, "Übersicht", {:level=>1}))
8
+ *** Output of to_html ***
9
+ <h1 id='bersicht'>Übersicht</h1>
@@ -0,0 +1,30 @@
1
+ List markers typically start at the left margin, but may be indented by up to three spaces. https://github.com/bhollis/maruku/issues/30
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+ This is a list:
6
+
7
+ * a list
8
+
9
+ And this:
10
+
11
+ * still a list
12
+ *** Output of inspect ***
13
+ md_el(:document, [
14
+ md_par("This is a list:"),
15
+ md_el(:ul, md_el(:li, "a list", {:want_my_paragraph=>false})),
16
+ md_par("And this:"),
17
+ md_el(:ul, md_el(:li, "still a list", {:want_my_paragraph=>false}))
18
+ ])
19
+ *** Output of to_html ***
20
+ <p>This is a list:</p>
21
+
22
+ <ul>
23
+ <li>a list</li>
24
+ </ul>
25
+
26
+ <p>And this:</p>
27
+
28
+ <ul>
29
+ <li>still a list</li>
30
+ </ul>
@@ -0,0 +1,25 @@
1
+ Markdown should be processed inside span-level tags. https://github.com/bhollis/maruku/issues/31
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+ <span>*hello*</span>
6
+
7
+ <p><span>*hello*</span></p>
8
+
9
+ <span>hello <span>*there*</span></span>
10
+
11
+ <span>hello
12
+ <span>*there*</span></span>
13
+ *** Output of inspect ***
14
+ md_el(:document, [
15
+ md_par(md_html("<span>*hello*</span>")),
16
+ md_html("<p><span>*hello*</span></p>"),
17
+ md_par(md_html("<span>hello <span>*there*</span></span>")),
18
+ md_par(md_html("<span>hello\n<span>*there*</span></span>"))
19
+ ])
20
+ *** Output of to_html ***
21
+ <p><span><em>hello</em></span></p>
22
+ <p><span>*hello*</span></p>
23
+ <p><span>hello <span><em>there</em></span></span></p>
24
+ <p><span>hello
25
+ <span><em>there</em></span></span></p>
@@ -0,0 +1,52 @@
1
+ Script tags should be OK with unescaped ampersands. https://github.com/bhollis/maruku/issues/40
2
+ NOTE: CDATA is output because we use XHTML - for HTML mode it should be omitted.
3
+ *** Parameters: ***
4
+ {}
5
+ *** Markdown input: ***
6
+ <script>
7
+ var x = true && true;
8
+ </script>
9
+
10
+ <script>foo && bar</script>
11
+
12
+ <script><![CDATA[
13
+ var x = true && true;
14
+ ]]></script>
15
+
16
+ <script><![CDATA[foo && bar]]></script>
17
+
18
+ <script>
19
+ <![CDATA[
20
+ var x = true && true;
21
+ ]]>
22
+ </script>
23
+
24
+ <script>//<![CDATA[
25
+ var x = true && true;
26
+ //]]></script>
27
+
28
+ <script>
29
+ //<![CDATA[
30
+ var x = true && true;
31
+ //]]>
32
+ </script>
33
+ *** Output of inspect ***
34
+
35
+ *** Output of to_html ***
36
+ <script>//<![CDATA[
37
+ var x = true && true;
38
+ //]]></script><script>//<![CDATA[
39
+ foo && bar
40
+ //]]></script><script><![CDATA[
41
+ var x = true && true;
42
+ ]]></script><script><![CDATA[foo && bar]]></script><script>
43
+ <![CDATA[
44
+ var x = true && true;
45
+ ]]>
46
+ </script><script>//<![CDATA[
47
+ var x = true && true;
48
+ //]]></script><script>
49
+ //<![CDATA[
50
+ var x = true && true;
51
+ //]]>
52
+ </script>
@@ -0,0 +1,55 @@
1
+ Nested list with a single item. https://github.com/bhollis/maruku/issues/64
2
+ *** Parameters: ***
3
+ {}
4
+ *** Markdown input: ***
5
+ A nested list with a single item (does not work)
6
+
7
+ - three items:
8
+ - item 1
9
+ - item 2
10
+ - item 3
11
+ - one item:
12
+ - item
13
+ - two items:
14
+ - item a
15
+ - item b
16
+
17
+ *** Output of inspect ***
18
+ md_el(:document, [
19
+ md_par("A nested list with a single item (does not work)"),
20
+ md_el(:ul, [
21
+ md_li([
22
+ "three items:",
23
+ md_el(:ul, [
24
+ md_li("item 1", false),
25
+ md_li("item 2", false),
26
+ md_li("item 3", false)
27
+ ])
28
+ ], false),
29
+ md_li(["one item:", md_el(:ul, md_li("item", false))], false),
30
+ md_li([
31
+ "two items:",
32
+ md_el(:ul, [md_li("item a", false), md_li("item b", false)])
33
+ ], false)
34
+ ])
35
+ ])
36
+ *** Output of to_html ***
37
+ <p>A nested list with a single item (does not work)</p>
38
+
39
+ <ul>
40
+ <li>three items:
41
+ <ul>
42
+ <li>item 1</li>
43
+ <li>item 2</li>
44
+ <li>item 3</li>
45
+ </ul></li>
46
+ <li>one item:
47
+ <ul>
48
+ <li>item</li>
49
+ </ul></li>
50
+ <li>two items:
51
+ <ul>
52
+ <li>item a</li>
53
+ <li>item b</li>
54
+ </ul></li>
55
+ </ul>