kramdown 0.14.2 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of kramdown might be problematic. Click here for more details.

Files changed (323) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTERS +63 -1
  3. data/COPYING +17 -11
  4. data/README.md +35 -14
  5. data/VERSION +1 -1
  6. data/bin/kramdown +92 -40
  7. data/data/kramdown/document.html +4 -0
  8. data/data/kramdown/document.latex +7 -0
  9. data/lib/kramdown.rb +3 -16
  10. data/lib/kramdown/converter.rb +42 -16
  11. data/lib/kramdown/converter/base.rb +102 -38
  12. data/lib/kramdown/converter/hash_ast.rb +38 -0
  13. data/lib/kramdown/converter/html.rb +232 -141
  14. data/lib/kramdown/converter/kramdown.rb +122 -104
  15. data/lib/kramdown/converter/latex.rb +95 -78
  16. data/lib/kramdown/converter/man.rb +300 -0
  17. data/lib/kramdown/converter/math_engine/mathjax.rb +32 -0
  18. data/lib/kramdown/converter/remove_html_tags.rb +8 -17
  19. data/lib/kramdown/converter/syntax_highlighter.rb +56 -0
  20. data/lib/kramdown/converter/syntax_highlighter/minted.rb +35 -0
  21. data/lib/kramdown/converter/syntax_highlighter/rouge.rb +85 -0
  22. data/lib/kramdown/converter/toc.rb +7 -20
  23. data/lib/kramdown/document.rb +30 -37
  24. data/lib/kramdown/element.rb +54 -27
  25. data/lib/kramdown/error.rb +3 -16
  26. data/lib/kramdown/options.rb +392 -247
  27. data/lib/kramdown/parser.rb +3 -16
  28. data/lib/kramdown/parser/base.rb +28 -33
  29. data/lib/kramdown/parser/html.rb +151 -119
  30. data/lib/kramdown/parser/kramdown.rb +87 -50
  31. data/lib/kramdown/parser/kramdown/abbreviation.rb +33 -27
  32. data/lib/kramdown/parser/kramdown/autolink.rb +7 -25
  33. data/lib/kramdown/parser/kramdown/blank_line.rb +6 -19
  34. data/lib/kramdown/parser/kramdown/block_boundary.rb +6 -18
  35. data/lib/kramdown/parser/kramdown/blockquote.rb +6 -19
  36. data/lib/kramdown/parser/kramdown/codeblock.rb +15 -24
  37. data/lib/kramdown/parser/kramdown/codespan.rb +20 -22
  38. data/lib/kramdown/parser/kramdown/emphasis.rb +15 -24
  39. data/lib/kramdown/parser/kramdown/eob.rb +3 -16
  40. data/lib/kramdown/parser/kramdown/escaped_chars.rb +3 -16
  41. data/lib/kramdown/parser/kramdown/extensions.rb +66 -56
  42. data/lib/kramdown/parser/kramdown/footnote.rb +21 -31
  43. data/lib/kramdown/parser/kramdown/header.rb +37 -37
  44. data/lib/kramdown/parser/kramdown/horizontal_rule.rb +5 -17
  45. data/lib/kramdown/parser/kramdown/html.rb +47 -56
  46. data/lib/kramdown/parser/kramdown/html_entity.rb +9 -19
  47. data/lib/kramdown/parser/kramdown/line_break.rb +4 -17
  48. data/lib/kramdown/parser/kramdown/link.rb +39 -38
  49. data/lib/kramdown/parser/kramdown/list.rb +124 -82
  50. data/lib/kramdown/parser/kramdown/math.rb +12 -24
  51. data/lib/kramdown/parser/kramdown/paragraph.rb +23 -24
  52. data/lib/kramdown/parser/kramdown/smart_quotes.rb +26 -66
  53. data/lib/kramdown/parser/kramdown/table.rb +41 -48
  54. data/lib/kramdown/parser/kramdown/typographic_symbol.rb +14 -22
  55. data/lib/kramdown/parser/markdown.rb +11 -23
  56. data/lib/kramdown/utils.rb +21 -18
  57. data/lib/kramdown/utils/configurable.rb +45 -0
  58. data/lib/kramdown/utils/entities.rb +287 -292
  59. data/lib/kramdown/utils/html.rb +27 -30
  60. data/lib/kramdown/utils/lru_cache.rb +41 -0
  61. data/lib/kramdown/utils/string_scanner.rb +81 -0
  62. data/lib/kramdown/utils/unidecoder.rb +50 -0
  63. data/lib/kramdown/version.rb +4 -17
  64. data/man/man1/kramdown.1 +340 -347
  65. data/test/run_tests.rb +7 -20
  66. data/test/test_files.rb +188 -100
  67. data/test/test_location.rb +216 -0
  68. data/test/test_string_scanner_kramdown.rb +27 -0
  69. data/test/testcases/block/03_paragraph/indented.html.gfm +18 -0
  70. data/test/testcases/block/03_paragraph/line_break_last_line.html +9 -0
  71. data/test/testcases/block/03_paragraph/line_break_last_line.text +9 -0
  72. data/test/testcases/block/03_paragraph/standalone_image.html +8 -0
  73. data/test/testcases/block/03_paragraph/standalone_image.text +6 -0
  74. data/test/testcases/block/03_paragraph/with_html_to_native.html +1 -0
  75. data/test/testcases/block/03_paragraph/with_html_to_native.options +1 -0
  76. data/test/testcases/block/03_paragraph/with_html_to_native.text +1 -0
  77. data/test/testcases/block/04_header/atx_header.html +15 -1
  78. data/test/testcases/block/04_header/atx_header.text +14 -1
  79. data/test/testcases/block/04_header/setext_header.html +3 -1
  80. data/test/testcases/block/04_header/setext_header.text +4 -1
  81. data/test/testcases/block/04_header/with_auto_id_stripping.html +1 -0
  82. data/test/testcases/block/04_header/with_auto_id_stripping.options +1 -0
  83. data/test/testcases/block/04_header/with_auto_id_stripping.text +1 -0
  84. data/test/testcases/block/04_header/with_auto_ids.html +2 -0
  85. data/test/testcases/block/04_header/with_auto_ids.options +1 -0
  86. data/test/testcases/block/04_header/with_auto_ids.text +2 -0
  87. data/test/testcases/block/06_codeblock/guess_lang_css_class.html +15 -0
  88. data/test/testcases/block/06_codeblock/guess_lang_css_class.options +2 -0
  89. data/test/testcases/block/06_codeblock/guess_lang_css_class.text +13 -0
  90. data/test/testcases/block/06_codeblock/highlighting-minted-with-opts.latex +9 -0
  91. data/test/testcases/block/06_codeblock/highlighting-minted-with-opts.options +4 -0
  92. data/test/testcases/block/06_codeblock/highlighting-minted-with-opts.text +5 -0
  93. data/test/testcases/block/06_codeblock/highlighting-minted.latex +8 -0
  94. data/test/testcases/block/06_codeblock/highlighting-minted.options +3 -0
  95. data/test/testcases/block/06_codeblock/highlighting-minted.text +4 -0
  96. data/test/testcases/block/06_codeblock/highlighting-opts.html +6 -0
  97. data/test/testcases/block/06_codeblock/highlighting-opts.options +7 -0
  98. data/test/testcases/block/06_codeblock/highlighting-opts.text +4 -0
  99. data/test/testcases/block/06_codeblock/highlighting.html +5 -6
  100. data/test/testcases/block/06_codeblock/issue_gh45.html +164 -0
  101. data/test/testcases/block/06_codeblock/issue_gh45.test +188 -0
  102. data/test/testcases/block/06_codeblock/rouge/disabled.html +2 -0
  103. data/test/testcases/block/06_codeblock/rouge/disabled.options +4 -0
  104. data/test/testcases/block/06_codeblock/rouge/disabled.text +1 -0
  105. data/test/testcases/block/06_codeblock/rouge/multiple.html +11 -0
  106. data/test/testcases/block/06_codeblock/rouge/multiple.options +4 -0
  107. data/test/testcases/block/06_codeblock/rouge/multiple.text +11 -0
  108. data/test/testcases/block/06_codeblock/rouge/simple.html +10 -0
  109. data/test/testcases/block/06_codeblock/rouge/simple.options +3 -0
  110. data/test/testcases/block/06_codeblock/rouge/simple.text +9 -0
  111. data/test/testcases/block/06_codeblock/with_lang_in_fenced_block.options +1 -1
  112. data/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.html +8 -0
  113. data/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.options +2 -0
  114. data/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.text +11 -0
  115. data/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.html +3 -0
  116. data/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.options +2 -0
  117. data/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.text +4 -0
  118. data/test/testcases/block/07_horizontal_rule/error.html +2 -2
  119. data/test/testcases/block/07_horizontal_rule/normal.html +2 -0
  120. data/test/testcases/block/07_horizontal_rule/normal.text +3 -0
  121. data/test/testcases/block/08_list/brackets_in_item.latex +3 -0
  122. data/test/testcases/block/08_list/brackets_in_item.text +1 -0
  123. data/test/testcases/block/08_list/lazy_and_nested.html +9 -0
  124. data/test/testcases/block/08_list/lazy_and_nested.text +4 -0
  125. data/test/testcases/block/09_html/html5_attributes.html +2 -0
  126. data/test/testcases/block/09_html/html5_attributes.text +2 -0
  127. data/test/testcases/block/09_html/html_after_block.html +7 -0
  128. data/test/testcases/block/09_html/html_after_block.text +5 -0
  129. data/test/testcases/block/09_html/html_to_native/table_simple.html +13 -0
  130. data/test/testcases/block/09_html/html_to_native/table_simple.text +15 -0
  131. data/test/testcases/block/09_html/html_to_native/typography.html +1 -1
  132. data/test/testcases/block/09_html/not_parsed.html +1 -1
  133. data/test/testcases/block/09_html/processing_instruction.html +5 -6
  134. data/test/testcases/block/09_html/simple.html +1 -5
  135. data/test/testcases/block/09_html/simple.text +1 -5
  136. data/test/testcases/block/09_html/standalone_image_in_div.htmlinput +7 -0
  137. data/test/testcases/block/09_html/standalone_image_in_div.text +8 -0
  138. data/test/testcases/block/09_html/textarea.html +8 -0
  139. data/test/testcases/block/09_html/textarea.text +8 -0
  140. data/test/testcases/block/09_html/xml.html +8 -0
  141. data/test/testcases/block/09_html/xml.text +7 -0
  142. data/test/testcases/block/11_ial/simple.html +5 -1
  143. data/test/testcases/block/11_ial/simple.text +8 -1
  144. data/test/testcases/block/12_extension/options.html +4 -4
  145. data/test/testcases/block/12_extension/options.text +2 -0
  146. data/test/testcases/block/12_extension/options2.html +4 -4
  147. data/test/testcases/block/12_extension/options3.html +7 -6
  148. data/test/testcases/block/12_extension/options3.text +2 -2
  149. data/test/testcases/block/13_definition_list/auto_ids.html +15 -0
  150. data/test/testcases/block/13_definition_list/auto_ids.text +18 -0
  151. data/test/testcases/block/13_definition_list/item_ial.html +5 -0
  152. data/test/testcases/block/13_definition_list/item_ial.text +8 -0
  153. data/test/testcases/block/14_table/empty_tag_in_cell.html +8 -0
  154. data/test/testcases/block/14_table/empty_tag_in_cell.options +1 -0
  155. data/test/testcases/block/14_table/empty_tag_in_cell.text +1 -0
  156. data/test/testcases/block/14_table/errors.html +4 -0
  157. data/test/testcases/block/14_table/errors.text +4 -0
  158. data/test/testcases/block/14_table/header.html +21 -0
  159. data/test/testcases/block/14_table/header.text +7 -0
  160. data/test/testcases/block/14_table/simple.html +22 -7
  161. data/test/testcases/block/14_table/simple.text +4 -0
  162. data/test/testcases/block/14_table/table_with_footnote.html +4 -4
  163. data/test/testcases/block/15_math/gh_128.html +1 -0
  164. data/test/testcases/block/15_math/gh_128.text +1 -0
  165. data/test/testcases/block/15_math/no_engine.html +3 -0
  166. data/test/testcases/block/15_math/no_engine.options +1 -0
  167. data/test/testcases/block/15_math/no_engine.text +2 -0
  168. data/test/testcases/block/15_math/normal.html +17 -14
  169. data/test/testcases/block/15_math/normal.text +2 -0
  170. data/test/testcases/block/16_toc/toc_exclude.html +7 -7
  171. data/test/testcases/block/16_toc/toc_levels.html +5 -5
  172. data/test/testcases/block/16_toc/toc_levels.text +1 -1
  173. data/test/testcases/block/16_toc/toc_with_footnotes.html +5 -5
  174. data/test/testcases/block/16_toc/toc_with_links.html +8 -0
  175. data/test/testcases/block/16_toc/toc_with_links.options +2 -0
  176. data/test/testcases/block/16_toc/toc_with_links.text +8 -0
  177. data/test/testcases/cjk-line-break.html +4 -0
  178. data/test/testcases/cjk-line-break.options +1 -0
  179. data/test/testcases/cjk-line-break.text +12 -0
  180. data/test/testcases/man/example.man +123 -0
  181. data/test/testcases/man/example.text +85 -0
  182. data/test/testcases/man/heading-name-dash-description.man +4 -0
  183. data/test/testcases/man/heading-name-dash-description.text +1 -0
  184. data/test/testcases/man/heading-name-description.man +4 -0
  185. data/test/testcases/man/heading-name-description.text +2 -0
  186. data/test/testcases/man/heading-name-section-description.man +4 -0
  187. data/test/testcases/man/heading-name-section-description.text +1 -0
  188. data/test/testcases/man/heading-name-section.man +2 -0
  189. data/test/testcases/man/heading-name-section.text +1 -0
  190. data/test/testcases/man/heading-name.man +2 -0
  191. data/test/testcases/man/heading-name.text +1 -0
  192. data/test/testcases/man/sections.man +4 -0
  193. data/test/testcases/man/sections.text +11 -0
  194. data/test/testcases/man/text-escaping.man +8 -0
  195. data/test/testcases/man/text-escaping.text +7 -0
  196. data/test/testcases/span/01_link/empty.html +1 -1
  197. data/test/testcases/span/01_link/empty_title.htmlinput +3 -0
  198. data/test/testcases/span/01_link/empty_title.text +7 -0
  199. data/test/testcases/span/01_link/imagelinks.html +1 -0
  200. data/test/testcases/span/01_link/imagelinks.text +2 -0
  201. data/test/testcases/span/01_link/inline.html +1 -1
  202. data/test/testcases/span/01_link/latex_escaping.latex +6 -0
  203. data/test/testcases/span/01_link/latex_escaping.text +5 -0
  204. data/test/testcases/span/01_link/link_defs.html +1 -1
  205. data/test/testcases/span/01_link/link_defs.text +2 -1
  206. data/test/testcases/span/01_link/link_defs_with_ial.html +4 -0
  207. data/test/testcases/span/01_link/link_defs_with_ial.text +16 -0
  208. data/test/testcases/span/01_link/reference.html +3 -3
  209. data/test/testcases/span/02_emphasis/nesting.html +3 -0
  210. data/test/testcases/span/02_emphasis/nesting.text +4 -1
  211. data/test/testcases/span/02_emphasis/normal.html +19 -0
  212. data/test/testcases/span/02_emphasis/normal.options +1 -0
  213. data/test/testcases/span/02_emphasis/normal.text +17 -0
  214. data/test/testcases/span/03_codespan/highlighting-minted.latex +2 -0
  215. data/test/testcases/span/03_codespan/highlighting-minted.options +1 -0
  216. data/test/testcases/span/03_codespan/highlighting-minted.text +1 -0
  217. data/test/testcases/span/03_codespan/highlighting.html +1 -1
  218. data/test/testcases/span/03_codespan/normal-css-class.html +1 -0
  219. data/test/testcases/span/03_codespan/normal-css-class.options +2 -0
  220. data/test/testcases/span/03_codespan/normal-css-class.text +1 -0
  221. data/test/testcases/span/03_codespan/rouge/disabled.html +1 -0
  222. data/test/testcases/span/03_codespan/rouge/disabled.options +4 -0
  223. data/test/testcases/span/03_codespan/rouge/disabled.text +1 -0
  224. data/test/testcases/span/03_codespan/rouge/simple.html +1 -0
  225. data/test/testcases/span/03_codespan/rouge/simple.options +1 -0
  226. data/test/testcases/span/03_codespan/rouge/simple.text +1 -0
  227. data/test/testcases/span/04_footnote/backlink_inline.html +79 -0
  228. data/test/testcases/span/04_footnote/backlink_inline.options +1 -0
  229. data/test/testcases/span/04_footnote/backlink_inline.text +38 -0
  230. data/test/testcases/span/04_footnote/backlink_text.html +9 -0
  231. data/test/testcases/span/04_footnote/backlink_text.options +1 -0
  232. data/test/testcases/span/04_footnote/backlink_text.text +3 -0
  233. data/test/testcases/span/04_footnote/definitions.latex +2 -2
  234. data/test/testcases/span/04_footnote/footnote_nr.html +6 -6
  235. data/test/testcases/span/04_footnote/footnote_prefix.html +12 -0
  236. data/test/testcases/span/04_footnote/footnote_prefix.options +1 -0
  237. data/test/testcases/span/04_footnote/footnote_prefix.text +4 -0
  238. data/test/testcases/span/04_footnote/inside_footnote.html +17 -0
  239. data/test/testcases/span/04_footnote/inside_footnote.text +9 -0
  240. data/test/testcases/span/04_footnote/markers.html +16 -16
  241. data/test/testcases/span/04_footnote/markers.latex +3 -3
  242. data/test/testcases/span/04_footnote/markers.options +2 -0
  243. data/test/testcases/span/04_footnote/markers.text +2 -1
  244. data/test/testcases/span/04_footnote/placement.html +11 -0
  245. data/test/testcases/span/04_footnote/placement.options +1 -0
  246. data/test/testcases/span/04_footnote/placement.text +8 -0
  247. data/test/testcases/span/04_footnote/regexp_problem.html +14 -0
  248. data/test/testcases/span/04_footnote/regexp_problem.options +2 -0
  249. data/test/testcases/span/04_footnote/regexp_problem.text +52 -0
  250. data/test/testcases/span/04_footnote/without_backlink.html +9 -0
  251. data/test/testcases/span/04_footnote/without_backlink.options +1 -0
  252. data/test/testcases/span/04_footnote/without_backlink.text +3 -0
  253. data/test/testcases/span/05_html/button.html +7 -0
  254. data/test/testcases/span/05_html/button.text +7 -0
  255. data/test/testcases/span/05_html/mark_element.html +3 -0
  256. data/test/testcases/span/05_html/mark_element.text +3 -0
  257. data/test/testcases/span/05_html/normal.html +10 -1
  258. data/test/testcases/span/05_html/normal.text +9 -0
  259. data/test/testcases/span/05_html/raw_span_elements.html +2 -0
  260. data/test/testcases/span/05_html/raw_span_elements.text +2 -0
  261. data/test/testcases/span/05_html/xml.html +5 -0
  262. data/test/testcases/span/05_html/xml.text +5 -0
  263. data/test/testcases/span/abbreviations/abbrev.html +14 -1
  264. data/test/testcases/span/abbreviations/abbrev.text +18 -2
  265. data/test/testcases/span/abbreviations/in_footnote.html +9 -0
  266. data/test/testcases/span/abbreviations/in_footnote.text +5 -0
  267. data/test/testcases/span/autolinks/url_links.html +5 -4
  268. data/test/testcases/span/autolinks/url_links.text +1 -0
  269. data/test/testcases/span/line_breaks/normal.html +2 -2
  270. data/test/testcases/span/line_breaks/normal.latex +2 -2
  271. data/test/testcases/span/math/no_engine.html +1 -0
  272. data/test/testcases/span/math/no_engine.options +1 -0
  273. data/test/testcases/span/math/no_engine.text +1 -0
  274. data/test/testcases/span/math/normal.html +4 -3
  275. data/test/testcases/span/math/normal.text +2 -1
  276. data/test/testcases/span/text_substitutions/entities_as_char.html +1 -1
  277. data/test/testcases/span/text_substitutions/entities_as_char.options +1 -0
  278. data/test/testcases/span/text_substitutions/entities_as_char.text +1 -1
  279. data/test/testcases/span/text_substitutions/typography.html +22 -0
  280. data/test/testcases/span/text_substitutions/typography.text +22 -0
  281. data/test/testcases/span/text_substitutions/typography_subst.html +3 -0
  282. data/test/testcases/span/text_substitutions/typography_subst.latex +4 -0
  283. data/test/testcases/span/text_substitutions/typography_subst.options +8 -0
  284. data/test/testcases/span/text_substitutions/typography_subst.text +3 -0
  285. metadata +218 -67
  286. data/ChangeLog +0 -7436
  287. data/GPL +0 -674
  288. data/Rakefile +0 -306
  289. data/benchmark/benchmark.rb +0 -36
  290. data/benchmark/benchmark.sh +0 -74
  291. data/benchmark/generate_data.rb +0 -119
  292. data/benchmark/mdbasics.text +0 -306
  293. data/benchmark/mdsyntax.text +0 -888
  294. data/benchmark/testing.sh +0 -9
  295. data/benchmark/timing.sh +0 -10
  296. data/doc/bg.png +0 -0
  297. data/doc/default.scss.css +0 -181
  298. data/doc/default.template +0 -68
  299. data/doc/design.scss.css +0 -441
  300. data/doc/documentation.page +0 -84
  301. data/doc/documentation.template +0 -20
  302. data/doc/index.page +0 -94
  303. data/doc/installation.page +0 -88
  304. data/doc/links.markdown +0 -6
  305. data/doc/metainfo +0 -3
  306. data/doc/news.feed +0 -10
  307. data/doc/news.page +0 -29
  308. data/doc/options.page +0 -10
  309. data/doc/quickref.page +0 -598
  310. data/doc/sidebar.template +0 -21
  311. data/doc/syntax.page +0 -1700
  312. data/doc/tests.page +0 -91
  313. data/doc/virtual +0 -2
  314. data/lib/kramdown/compatibility.rb +0 -49
  315. data/lib/kramdown/utils/ordered_hash.rb +0 -100
  316. data/setup.rb +0 -1585
  317. data/test/testcases/block/07_horizontal_rule/error.html.19 +0 -7
  318. data/test/testcases/block/09_html/html_to_native/typography.html.19 +0 -1
  319. data/test/testcases/block/09_html/simple.html.19 +0 -64
  320. data/test/testcases/block/14_table/simple.html.19 +0 -177
  321. data/test/testcases/span/01_link/inline.html.19 +0 -46
  322. data/test/testcases/span/01_link/reference.html.19 +0 -37
  323. data/test/testcases/span/text_substitutions/entities_as_char.html.19 +0 -1
@@ -0,0 +1,11 @@
1
+ ## NAME
2
+
3
+ works
4
+
5
+ ### Sub section
6
+
7
+ #### Ignored
8
+
9
+ ##### Ignored
10
+
11
+ ###### Ignored
@@ -0,0 +1,8 @@
1
+ .\" generated by kramdown
2
+ \&\. at the start of the line
3
+ .P
4
+ line with \efB backslash symbol
5
+ .P
6
+ some \. other \- escaped \' symbols
7
+ .P
8
+ \&\.
@@ -0,0 +1,7 @@
1
+ . at the start of the line
2
+
3
+ line with \fB backslash symbol
4
+
5
+ some . other - escaped \' symbols
6
+
7
+ .
@@ -2,4 +2,4 @@
2
2
 
3
3
  <p>This is [][] empty.</p>
4
4
 
5
- <p>This is [](test.html) empty.</p>
5
+ <p>This is <a href="test.html"></a> empty.</p>
@@ -0,0 +1,3 @@
1
+ <p>Image with empty title: <img src="/images/other.png" alt="alt text" title="" /></p>
2
+
3
+ <p>Link <a href="http://example.tld" title="">reference</a> with empty title.</p>
@@ -0,0 +1,7 @@
1
+ Image with empty title: ![alt text](/images/other.png)
2
+
3
+ Link [reference][1] with empty title.
4
+
5
+
6
+
7
+ [1]: http://example.tld
@@ -12,3 +12,4 @@
12
12
 
13
13
  <p>No id: <img src="other.png" alt="imgo" title="Title" /></p>
14
14
 
15
+ <p>With escaped pipe: <img src="other.png" alt="an | pipe" /></p>
@@ -14,3 +14,5 @@ No id: ![imgo]
14
14
 
15
15
  [img]: other.png
16
16
  [imgo]: other.png "Title"
17
+
18
+ With escaped pipe: ![an \| pipe](other.png)
@@ -39,7 +39,7 @@ on line</a></p>
39
39
 
40
40
  <p>bad [URL with parens](something(new.html)</p>
41
41
 
42
- <p>bad [URL with empty title](something.html &#8216;&#8217;)</p>
42
+ <p>bad [URL with empty title](something.html ‘’)</p>
43
43
 
44
44
  <p>bad [URL](</p>
45
45
 
@@ -0,0 +1,6 @@
1
+ \href{https://example.com/~tilde/}{https://example.com/\ensuremath{\sim}tilde/}
2
+
3
+ \href{http://example.com/percent\%20percent}{http://example.com/percent\%20percent}
4
+
5
+ \href{http://example.com/hash#hash}{http://example.com/hash\#hash}
6
+
@@ -0,0 +1,5 @@
1
+ <https://example.com/~tilde/>
2
+
3
+ <http://example.com/percent%20percent>
4
+
5
+ <http://example.com/hash#hash>
@@ -6,4 +6,4 @@
6
6
 
7
7
  <p>Points to <a href="one.url">1</a> and <a href="two.url">2</a> and <a href="three.url">3</a> but not [4]</p>
8
8
 
9
- <p>Points to <a href="http://example.com">_.:,;!?-</a></p>
9
+ <p>Points to <a href="http://example.com">_.:,;!?-</a> and <a href="test.html#'test'" title="title">otherid8</a></p>
@@ -9,6 +9,7 @@ This is a para.
9
9
  [otherid6]: some spaces.html 'title'
10
10
  [otherid7]: some spaces
11
11
  "title"
12
+ [otherid8]:test.html#'test' 'title'
12
13
 
13
14
  [break]: http://www.example.com/test/asdf.html
14
15
  'Another title'
@@ -23,4 +24,4 @@ Points to [1] and [2] and [3] but not [4]
23
24
 
24
25
  [_.:,;!?-]: http://example.com
25
26
 
26
- Points to [_.:,;!?-]
27
+ Points to [_.:,;!?-] and [otherid8]
@@ -0,0 +1,4 @@
1
+ <p>Link def with <a hreflang="en" class="test" href="http://example.com" title="title">attr</a> and <a hreflang="en" class="test" href="http://example.com" title="title">attr 2</a> and <a class="test" href="http://example.com">attr 3</a> and <a hreflang="en" class="test" href="http://example.com">attr before</a></p>
2
+
3
+ <p>test</p>
4
+
@@ -0,0 +1,16 @@
1
+ Link def with [attr] and [attr 2] and [attr 3] and [attr before]
2
+
3
+ [attr]: http://example.com 'title'
4
+ {: hreflang="en" .test}
5
+
6
+ [attr 2]: http://example.com 'title'
7
+ {: hreflang="en"}
8
+ {: .test}
9
+
10
+ [attr 3]: http://example.com
11
+ {: .test}
12
+ test
13
+
14
+ {: hreflang="en"}
15
+ {: .test}
16
+ [attr before]: http://example.com
@@ -23,15 +23,15 @@ the text</a></p>
23
23
  <p>[no url] invalid.html
24
24
  [no url]:</p>
25
25
 
26
- <p>&#8220;title&#8221;</p>
26
+ <p>“title”</p>
27
27
 
28
28
  <p>test <a href="invalid.html">url but no title</a>
29
29
  test [urldef]</p>
30
30
 
31
- <p>[urldef]: some.url &#8216;title&#8221;</p>
31
+ <p>[urldef]: some.url title”</p>
32
32
 
33
33
  <p>some <a href="with spaces.html" title="title">with spaces</a></p>
34
34
 
35
- <p>this <a href="occasion.html">is a &#8216;special&#8217; occasion for /all/ of us</a></p>
35
+ <p>this <a href="occasion.html">is a special occasion for /all/ of us</a></p>
36
36
 
37
37
  <p>this is <a href="predefined.html">predefined</a> for <a href="uri.html" title="My URI">URI</a></p>
@@ -31,6 +31,9 @@
31
31
  <li>__a__b</li>
32
32
  <li>a__b__</li>
33
33
  <li>a__b__c</li>
34
+ <li>a__2__c</li>
35
+ <li>a__2__3</li>
36
+ <li>1__2__3</li>
34
37
  </ul>
35
38
  <ul>
36
39
  <li><em>a _b_ c</em></li>
@@ -21,13 +21,16 @@
21
21
  - **a**b
22
22
  - a**b**
23
23
  - a**b**c
24
- ^
24
+ ^
25
25
  - _a_b
26
26
  - a_b_
27
27
  - a_b_c
28
28
  - __a__b
29
29
  - a__b__
30
30
  - a__b__c
31
+ - a__2__c
32
+ - a__2__3
33
+ - 1__2__3
31
34
  ^
32
35
  - *a _b_ c*
33
36
  - **a __b__ c**
@@ -44,3 +44,22 @@ At <em>end</em></p>
44
44
  Or this *<em>this</em>* way
45
45
  Or that <em>*that</em>* way
46
46
  Or that *<em>that*</em> way</p>
47
+
48
+ <p><a href="http://blah.com/blah_%28">http://blah.com/blah_%28</a></p>
49
+
50
+ <p><a href="A_-B">A-_B</a></p>
51
+
52
+ <ul>
53
+ <li><em>test</em></li>
54
+ <li>&#8216;<em>test</em>&#8217;</li>
55
+ <li>&#8220;<em>test</em>&#8221;</li>
56
+ <li>(&#8220;<em>test</em>&#8221;)</li>
57
+ <li>(<em>test</em>)</li>
58
+ <li>“<em>test</em>”</li>
59
+ <li>`<em>test</em>&#8217;</li>
60
+ <li>„<em>test</em>“</li>
61
+ </ul>
62
+
63
+ <p>it&#8211;by design&#8211;<em>cannot have side-effects</em>.</p>
64
+
65
+ <p>it&#8212;by design&#8212;<em>cannot have side-effects</em>.</p>
@@ -0,0 +1 @@
1
+ :entity_output: :numeric
@@ -44,3 +44,20 @@ Do it *\*this\** way
44
44
  Or this \**this*\* way
45
45
  Or that *\*that*\* way
46
46
  Or that \**that\** way
47
+
48
+ [http://blah.com/blah_%28](http://blah.com/blah_%28)
49
+
50
+ [A-_B](A_-B)
51
+
52
+ - _test_
53
+ - '_test_'
54
+ - "_test_"
55
+ - ("_test_")
56
+ - (_test_)
57
+ - “_test_”
58
+ - \`_test_'
59
+ - „_test_“
60
+
61
+ it--by design--_cannot have side-effects_.
62
+
63
+ it---by design---_cannot have side-effects_.
@@ -0,0 +1,2 @@
1
+ You can say \mintinline{ruby}{x = Class.new}, for example.
2
+
@@ -0,0 +1 @@
1
+ :syntax_highlighter: minted
@@ -0,0 +1 @@
1
+ You can say `x = Class.new`{:.language-ruby}, for example.
@@ -1 +1 @@
1
- <p>You can say <code class="language-ruby"><span class="CodeRay">x = <span style="color:#036;font-weight:bold">Class</span>.new</span></code>, for example.</p>
1
+ <p>You can say <code class="language-ruby highlighter-rouge"><span class="n">x</span> <span class="o">=</span> <span class="no">Class</span><span class="p">.</span><span class="nf">new</span></code>, for example.</p>
@@ -0,0 +1 @@
1
+ <p>This is a <code class="highlighter-rouge">code-span</code></p>
@@ -0,0 +1,2 @@
1
+ :syntax_highlighter_opts:
2
+ guess_lang: true
@@ -0,0 +1 @@
1
+ This is a `code-span`
@@ -0,0 +1 @@
1
+ <p>You can say <code class="language-ruby">Class</code>.</p>
@@ -0,0 +1,4 @@
1
+ :syntax_highlighter: rouge
2
+ :syntax_highlighter_opts:
3
+ span:
4
+ disable: true
@@ -0,0 +1 @@
1
+ You can say `Class`{:.language-ruby}.
@@ -0,0 +1 @@
1
+ <p>You can say <code class="language-ruby highlighter-rouge"><span class="n">x</span> <span class="o">=</span> <span class="no">Class</span><span class="p">.</span><span class="nf">new</span></code>, for example.</p>
@@ -0,0 +1 @@
1
+ :syntax_highlighter: rouge
@@ -0,0 +1 @@
1
+ You can say `x = Class.new`{:.language-ruby}, for example.
@@ -0,0 +1,79 @@
1
+ <p>This is <sup id="fnref:paragraph" role="doc-noteref"><a href="#fn:paragraph" class="footnote">1</a></sup><sup id="fnref:header" role="doc-noteref"><a href="#fn:header" class="footnote">2</a></sup><sup id="fnref:blockquote" role="doc-noteref"><a href="#fn:blockquote" class="footnote">3</a></sup><sup id="fnref:codeblock" role="doc-noteref"><a href="#fn:codeblock" class="footnote">4</a></sup><sup id="fnref:list" role="doc-noteref"><a href="#fn:list" class="footnote">5</a></sup><sup id="fnref:table" role="doc-noteref"><a href="#fn:table" class="footnote">6</a></sup><sup id="fnref:hrule" role="doc-noteref"><a href="#fn:hrule" class="footnote">7</a></sup><sup id="fnref:mathblock" role="doc-noteref"><a href="#fn:mathblock" class="footnote">8</a></sup><sup id="fnref:html" role="doc-noteref"><a href="#fn:html" class="footnote">9</a></sup></p>
2
+
3
+ <div class="footnotes" role="doc-endnotes">
4
+ <ol>
5
+ <li id="fn:paragraph" role="doc-endnote">
6
+
7
+ <p>A paragraph <a href="#fnref:paragraph" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
8
+ </li>
9
+ <li id="fn:header" role="doc-endnote">
10
+
11
+ <h1 id="a-header">A header <a href="#fnref:header" class="reversefootnote" role="doc-backlink">&#8617;</a></h1>
12
+ </li>
13
+ <li id="fn:blockquote" role="doc-endnote">
14
+
15
+ <blockquote>
16
+ <p>blockquote</p>
17
+
18
+ <p>paragraph <a href="#fnref:blockquote" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
19
+ </blockquote>
20
+ </li>
21
+ <li id="fn:codeblock" role="doc-endnote">
22
+
23
+ <pre><code>codeblock
24
+ </code></pre>
25
+ <p><a href="#fnref:codeblock" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
26
+ </li>
27
+ <li id="fn:list" role="doc-endnote">
28
+
29
+ <ul>
30
+ <li>item 1</li>
31
+ <li>item 2
32
+ <ul>
33
+ <li>
34
+ <p>sub item</p>
35
+
36
+ <blockquote>
37
+ <p>blockquote</p>
38
+
39
+ <h1 id="header">header <a href="#fnref:list" class="reversefootnote" role="doc-backlink">&#8617;</a></h1>
40
+ </blockquote>
41
+ </li>
42
+ </ul>
43
+ </li>
44
+ </ul>
45
+ </li>
46
+ <li id="fn:table" role="doc-endnote">
47
+
48
+ <table>
49
+ <tbody>
50
+ <tr>
51
+ <td>a</td>
52
+ <td>b</td>
53
+ </tr>
54
+ <tr>
55
+ <td>c</td>
56
+ <td>d</td>
57
+ </tr>
58
+ </tbody>
59
+ </table>
60
+ <p><a href="#fnref:table" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
61
+ </li>
62
+ <li id="fn:hrule" role="doc-endnote">
63
+
64
+ <hr />
65
+ <p><a href="#fnref:hrule" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
66
+ </li>
67
+ <li id="fn:mathblock" role="doc-endnote">
68
+
69
+ \[x + 2\]
70
+ <p><a href="#fnref:mathblock" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
71
+ </li>
72
+ <li id="fn:html" role="doc-endnote">
73
+
74
+ <div>test
75
+ </div>
76
+ <p><a href="#fnref:html" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
77
+ </li>
78
+ </ol>
79
+ </div>
@@ -0,0 +1 @@
1
+ footnote_backlink_inline: true
@@ -0,0 +1,38 @@
1
+ This is [^paragraph][^header][^blockquote][^codeblock][^list][^table][^hrule][^mathblock][^html]
2
+
3
+ [^paragraph]:
4
+ A paragraph
5
+
6
+ [^header]:
7
+ # A header
8
+
9
+ [^blockquote]:
10
+ > blockquote
11
+ >
12
+ > paragraph
13
+
14
+ [^codeblock]:
15
+ codeblock
16
+
17
+ [^list]:
18
+ * item 1
19
+ * item 2
20
+ * sub item
21
+
22
+ > blockquote
23
+ >
24
+ > # header
25
+
26
+ [^table]:
27
+ | a | b |
28
+ | c | d |
29
+
30
+ [^hrule]:
31
+ ***
32
+
33
+ [^mathblock]:
34
+ $$x + 2$$
35
+
36
+ [^html]:
37
+ <div>test
38
+ </div>
@@ -0,0 +1,9 @@
1
+ <p>Some footnote here<sup id="fnref:fn" role="doc-noteref"><a href="#fn:fn" class="footnote">1</a></sup></p>
2
+
3
+ <div class="footnotes" role="doc-endnotes">
4
+ <ol>
5
+ <li id="fn:fn" role="doc-endnote">
6
+ <p>Some text here <a href="#fnref:fn" class="reversefootnote" role="doc-backlink">text &8617; &lt;img /&gt;</a></p>
7
+ </li>
8
+ </ol>
9
+ </div>
@@ -0,0 +1 @@
1
+ :footnote_backlink: 'text &8617; <img />'
@@ -0,0 +1,3 @@
1
+ Some footnote here[^fn]
2
+
3
+ [^fn]: Some text here
@@ -5,12 +5,12 @@ blockquote
5
5
  \end{quote}
6
6
 
7
7
  \begin{itemize}
8
- \item a list
8
+ \item{} a list
9
9
  with some text
10
10
  \end{itemize}
11
11
 
12
12
  \begin{itemize}
13
- \item other list
13
+ \item{} other list
14
14
  \end{itemize}
15
15
  \begin{verbatim}code
16
16
  \end{verbatim}
@@ -1,12 +1,12 @@
1
- <p>This is a footnote<sup id="fnref:ab"><a href="#fn:ab" rel="footnote">35</a></sup>. And another<sup id="fnref:bc"><a href="#fn:bc" rel="footnote">36</a></sup>.</p>
1
+ <p>This is a footnote<sup id="fnref:ab" role="doc-noteref"><a href="#fn:ab" class="footnote">35</a></sup>. And another<sup id="fnref:bc" role="doc-noteref"><a href="#fn:bc" class="footnote">36</a></sup>.</p>
2
2
 
3
- <div class="footnotes">
3
+ <div class="footnotes" role="doc-endnotes">
4
4
  <ol start="35">
5
- <li id="fn:ab">
6
- <p>Some text.<a href="#fnref:ab" rel="reference">&#8617;</a></p>
5
+ <li id="fn:ab" role="doc-endnote">
6
+ <p>Some text. <a href="#fnref:ab" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
7
7
  </li>
8
- <li id="fn:bc">
9
- <p>Some other text.<a href="#fnref:bc" rel="reference">&#8617;</a></p>
8
+ <li id="fn:bc" role="doc-endnote">
9
+ <p>Some other text. <a href="#fnref:bc" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
10
10
  </li>
11
11
  </ol>
12
12
  </div>