mega-sharp-mod 0.0.1

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 (576) hide show
  1. checksums.yaml +7 -0
  2. data/kramdown-2.5.2/AUTHORS +1 -0
  3. data/kramdown-2.5.2/CONTRIBUTERS +93 -0
  4. data/kramdown-2.5.2/COPYING +30 -0
  5. data/kramdown-2.5.2/README.md +77 -0
  6. data/kramdown-2.5.2/VERSION +1 -0
  7. data/kramdown-2.5.2/bin/kramdown +135 -0
  8. data/kramdown-2.5.2/data/kramdown/document.html +22 -0
  9. data/kramdown-2.5.2/data/kramdown/document.latex +50 -0
  10. data/kramdown-2.5.2/lib/kramdown/converter/base.rb +257 -0
  11. data/kramdown-2.5.2/lib/kramdown/converter/hash_ast.rb +38 -0
  12. data/kramdown-2.5.2/lib/kramdown/converter/html.rb +545 -0
  13. data/kramdown-2.5.2/lib/kramdown/converter/kramdown.rb +458 -0
  14. data/kramdown-2.5.2/lib/kramdown/converter/latex.rb +626 -0
  15. data/kramdown-2.5.2/lib/kramdown/converter/man.rb +300 -0
  16. data/kramdown-2.5.2/lib/kramdown/converter/math_engine/mathjax.rb +32 -0
  17. data/kramdown-2.5.2/lib/kramdown/converter/remove_html_tags.rb +58 -0
  18. data/kramdown-2.5.2/lib/kramdown/converter/syntax_highlighter/minted.rb +35 -0
  19. data/kramdown-2.5.2/lib/kramdown/converter/syntax_highlighter/rouge.rb +85 -0
  20. data/kramdown-2.5.2/lib/kramdown/converter/syntax_highlighter.rb +56 -0
  21. data/kramdown-2.5.2/lib/kramdown/converter/toc.rb +69 -0
  22. data/kramdown-2.5.2/lib/kramdown/converter.rb +68 -0
  23. data/kramdown-2.5.2/lib/kramdown/document.rb +139 -0
  24. data/kramdown-2.5.2/lib/kramdown/element.rb +551 -0
  25. data/kramdown-2.5.2/lib/kramdown/error.rb +17 -0
  26. data/kramdown-2.5.2/lib/kramdown/options.rb +645 -0
  27. data/kramdown-2.5.2/lib/kramdown/parser/base.rb +137 -0
  28. data/kramdown-2.5.2/lib/kramdown/parser/html.rb +621 -0
  29. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/abbreviation.rb +80 -0
  30. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/autolink.rb +31 -0
  31. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/blank_line.rb +30 -0
  32. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/block_boundary.rb +34 -0
  33. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/blockquote.rb +38 -0
  34. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/codeblock.rb +57 -0
  35. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/codespan.rb +58 -0
  36. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/emphasis.rb +66 -0
  37. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/eob.rb +26 -0
  38. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/escaped_chars.rb +25 -0
  39. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/extensions.rb +214 -0
  40. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/footnote.rb +64 -0
  41. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/header.rb +70 -0
  42. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/horizontal_rule.rb +27 -0
  43. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/html.rb +165 -0
  44. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/html_entity.rb +34 -0
  45. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/line_break.rb +25 -0
  46. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/link.rb +149 -0
  47. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/list.rb +286 -0
  48. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/math.rb +53 -0
  49. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/paragraph.rb +62 -0
  50. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/smart_quotes.rb +174 -0
  51. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/table.rb +171 -0
  52. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/typographic_symbol.rb +44 -0
  53. data/kramdown-2.5.2/lib/kramdown/parser/kramdown.rb +377 -0
  54. data/kramdown-2.5.2/lib/kramdown/parser/markdown.rb +57 -0
  55. data/kramdown-2.5.2/lib/kramdown/parser.rb +26 -0
  56. data/kramdown-2.5.2/lib/kramdown/utils/configurable.rb +45 -0
  57. data/kramdown-2.5.2/lib/kramdown/utils/entities.rb +1000 -0
  58. data/kramdown-2.5.2/lib/kramdown/utils/html.rb +84 -0
  59. data/kramdown-2.5.2/lib/kramdown/utils/lru_cache.rb +41 -0
  60. data/kramdown-2.5.2/lib/kramdown/utils/string_scanner.rb +81 -0
  61. data/kramdown-2.5.2/lib/kramdown/utils/unidecoder.rb +46 -0
  62. data/kramdown-2.5.2/lib/kramdown/utils.rb +45 -0
  63. data/kramdown-2.5.2/lib/kramdown/version.rb +15 -0
  64. data/kramdown-2.5.2/lib/kramdown.rb +10 -0
  65. data/kramdown-2.5.2/man/man1/kramdown.1 +373 -0
  66. data/kramdown-2.5.2/test/run_tests.rb +46 -0
  67. data/kramdown-2.5.2/test/test_files.rb +313 -0
  68. data/kramdown-2.5.2/test/test_location.rb +216 -0
  69. data/kramdown-2.5.2/test/test_string_scanner_kramdown.rb +27 -0
  70. data/kramdown-2.5.2/test/testcases/block/01_blank_line/spaces.html +1 -0
  71. data/kramdown-2.5.2/test/testcases/block/01_blank_line/spaces.text +3 -0
  72. data/kramdown-2.5.2/test/testcases/block/01_blank_line/tabs.html +1 -0
  73. data/kramdown-2.5.2/test/testcases/block/01_blank_line/tabs.text +6 -0
  74. data/kramdown-2.5.2/test/testcases/block/02_eob/beginning.html +1 -0
  75. data/kramdown-2.5.2/test/testcases/block/02_eob/beginning.text +3 -0
  76. data/kramdown-2.5.2/test/testcases/block/02_eob/end.html +1 -0
  77. data/kramdown-2.5.2/test/testcases/block/02_eob/end.text +3 -0
  78. data/kramdown-2.5.2/test/testcases/block/02_eob/middle.html +1 -0
  79. data/kramdown-2.5.2/test/testcases/block/02_eob/middle.text +5 -0
  80. data/kramdown-2.5.2/test/testcases/block/03_paragraph/indented.html +18 -0
  81. data/kramdown-2.5.2/test/testcases/block/03_paragraph/indented.html.gfm +18 -0
  82. data/kramdown-2.5.2/test/testcases/block/03_paragraph/indented.text +19 -0
  83. data/kramdown-2.5.2/test/testcases/block/03_paragraph/line_break_last_line.html +9 -0
  84. data/kramdown-2.5.2/test/testcases/block/03_paragraph/line_break_last_line.text +9 -0
  85. data/kramdown-2.5.2/test/testcases/block/03_paragraph/no_newline_at_end.html +5 -0
  86. data/kramdown-2.5.2/test/testcases/block/03_paragraph/no_newline_at_end.text +5 -0
  87. data/kramdown-2.5.2/test/testcases/block/03_paragraph/one_para.html +1 -0
  88. data/kramdown-2.5.2/test/testcases/block/03_paragraph/one_para.text +1 -0
  89. data/kramdown-2.5.2/test/testcases/block/03_paragraph/standalone_image.html +13 -0
  90. data/kramdown-2.5.2/test/testcases/block/03_paragraph/standalone_image.text +9 -0
  91. data/kramdown-2.5.2/test/testcases/block/03_paragraph/to_kramdown.kramdown +7 -0
  92. data/kramdown-2.5.2/test/testcases/block/03_paragraph/to_kramdown.text +5 -0
  93. data/kramdown-2.5.2/test/testcases/block/03_paragraph/two_para.html +4 -0
  94. data/kramdown-2.5.2/test/testcases/block/03_paragraph/two_para.text +4 -0
  95. data/kramdown-2.5.2/test/testcases/block/03_paragraph/with_html_to_native.html +1 -0
  96. data/kramdown-2.5.2/test/testcases/block/03_paragraph/with_html_to_native.options +1 -0
  97. data/kramdown-2.5.2/test/testcases/block/03_paragraph/with_html_to_native.text +1 -0
  98. data/kramdown-2.5.2/test/testcases/block/04_header/atx_header.html +57 -0
  99. data/kramdown-2.5.2/test/testcases/block/04_header/atx_header.text +54 -0
  100. data/kramdown-2.5.2/test/testcases/block/04_header/atx_header_no_newline_at_end.html +1 -0
  101. data/kramdown-2.5.2/test/testcases/block/04_header/atx_header_no_newline_at_end.text +1 -0
  102. data/kramdown-2.5.2/test/testcases/block/04_header/header_type_offset.html +11 -0
  103. data/kramdown-2.5.2/test/testcases/block/04_header/header_type_offset.kramdown +12 -0
  104. data/kramdown-2.5.2/test/testcases/block/04_header/header_type_offset.latex +12 -0
  105. data/kramdown-2.5.2/test/testcases/block/04_header/header_type_offset.options +2 -0
  106. data/kramdown-2.5.2/test/testcases/block/04_header/header_type_offset.text +13 -0
  107. data/kramdown-2.5.2/test/testcases/block/04_header/setext_header.html +32 -0
  108. data/kramdown-2.5.2/test/testcases/block/04_header/setext_header.text +39 -0
  109. data/kramdown-2.5.2/test/testcases/block/04_header/setext_header_no_newline_at_end.html +1 -0
  110. data/kramdown-2.5.2/test/testcases/block/04_header/setext_header_no_newline_at_end.text +2 -0
  111. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_id_prefix.html +3 -0
  112. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_id_prefix.options +2 -0
  113. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_id_prefix.text +3 -0
  114. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_id_stripping.html +1 -0
  115. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_id_stripping.options +1 -0
  116. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_id_stripping.text +1 -0
  117. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_ids.html +21 -0
  118. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_ids.options +2 -0
  119. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_ids.text +24 -0
  120. data/kramdown-2.5.2/test/testcases/block/04_header/with_header_links.html +7 -0
  121. data/kramdown-2.5.2/test/testcases/block/04_header/with_header_links.options +2 -0
  122. data/kramdown-2.5.2/test/testcases/block/04_header/with_header_links.text +8 -0
  123. data/kramdown-2.5.2/test/testcases/block/04_header/with_line_break.html +1 -0
  124. data/kramdown-2.5.2/test/testcases/block/04_header/with_line_break.text +1 -0
  125. data/kramdown-2.5.2/test/testcases/block/05_blockquote/indented.html +25 -0
  126. data/kramdown-2.5.2/test/testcases/block/05_blockquote/indented.text +14 -0
  127. data/kramdown-2.5.2/test/testcases/block/05_blockquote/lazy.html +34 -0
  128. data/kramdown-2.5.2/test/testcases/block/05_blockquote/lazy.text +20 -0
  129. data/kramdown-2.5.2/test/testcases/block/05_blockquote/nested.html +10 -0
  130. data/kramdown-2.5.2/test/testcases/block/05_blockquote/nested.text +6 -0
  131. data/kramdown-2.5.2/test/testcases/block/05_blockquote/no_newline_at_end.html +4 -0
  132. data/kramdown-2.5.2/test/testcases/block/05_blockquote/no_newline_at_end.text +2 -0
  133. data/kramdown-2.5.2/test/testcases/block/05_blockquote/very_long_line.html +3 -0
  134. data/kramdown-2.5.2/test/testcases/block/05_blockquote/very_long_line.text +1 -0
  135. data/kramdown-2.5.2/test/testcases/block/05_blockquote/with_code_blocks.html +15 -0
  136. data/kramdown-2.5.2/test/testcases/block/05_blockquote/with_code_blocks.text +11 -0
  137. data/kramdown-2.5.2/test/testcases/block/06_codeblock/disable-highlighting.html +4 -0
  138. data/kramdown-2.5.2/test/testcases/block/06_codeblock/disable-highlighting.options +1 -0
  139. data/kramdown-2.5.2/test/testcases/block/06_codeblock/disable-highlighting.text +4 -0
  140. data/kramdown-2.5.2/test/testcases/block/06_codeblock/error.html +4 -0
  141. data/kramdown-2.5.2/test/testcases/block/06_codeblock/error.text +4 -0
  142. data/kramdown-2.5.2/test/testcases/block/06_codeblock/guess_lang_css_class.html +15 -0
  143. data/kramdown-2.5.2/test/testcases/block/06_codeblock/guess_lang_css_class.options +2 -0
  144. data/kramdown-2.5.2/test/testcases/block/06_codeblock/guess_lang_css_class.text +13 -0
  145. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.latex +9 -0
  146. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.options +4 -0
  147. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.text +5 -0
  148. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-minted.latex +8 -0
  149. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-minted.options +3 -0
  150. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-minted.text +4 -0
  151. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-opts.html +6 -0
  152. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-opts.options +7 -0
  153. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-opts.text +4 -0
  154. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting.html +5 -0
  155. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting.options +5 -0
  156. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting.text +4 -0
  157. data/kramdown-2.5.2/test/testcases/block/06_codeblock/issue_gh45.html +164 -0
  158. data/kramdown-2.5.2/test/testcases/block/06_codeblock/issue_gh45.test +188 -0
  159. data/kramdown-2.5.2/test/testcases/block/06_codeblock/lazy.html +4 -0
  160. data/kramdown-2.5.2/test/testcases/block/06_codeblock/lazy.text +5 -0
  161. data/kramdown-2.5.2/test/testcases/block/06_codeblock/no_newline_at_end.html +2 -0
  162. data/kramdown-2.5.2/test/testcases/block/06_codeblock/no_newline_at_end.text +1 -0
  163. data/kramdown-2.5.2/test/testcases/block/06_codeblock/no_newline_at_end_1.html +2 -0
  164. data/kramdown-2.5.2/test/testcases/block/06_codeblock/no_newline_at_end_1.text +2 -0
  165. data/kramdown-2.5.2/test/testcases/block/06_codeblock/normal.html +13 -0
  166. data/kramdown-2.5.2/test/testcases/block/06_codeblock/normal.text +10 -0
  167. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/disabled.html +2 -0
  168. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/disabled.options +4 -0
  169. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/disabled.text +1 -0
  170. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/multiple.html +11 -0
  171. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/multiple.options +4 -0
  172. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/multiple.text +11 -0
  173. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/simple.html +10 -0
  174. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/simple.options +3 -0
  175. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/simple.text +9 -0
  176. data/kramdown-2.5.2/test/testcases/block/06_codeblock/tilde_syntax.html +7 -0
  177. data/kramdown-2.5.2/test/testcases/block/06_codeblock/tilde_syntax.text +9 -0
  178. data/kramdown-2.5.2/test/testcases/block/06_codeblock/whitespace.html +3 -0
  179. data/kramdown-2.5.2/test/testcases/block/06_codeblock/whitespace.text +3 -0
  180. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_blank_line.html +13 -0
  181. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_blank_line.text +12 -0
  182. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_eob_marker.html +6 -0
  183. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_eob_marker.text +5 -0
  184. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_ial.html +6 -0
  185. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_ial.text +5 -0
  186. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.html +24 -0
  187. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.options +2 -0
  188. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.text +33 -0
  189. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.html +8 -0
  190. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.options +2 -0
  191. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.text +11 -0
  192. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.html +3 -0
  193. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.options +2 -0
  194. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.text +4 -0
  195. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/error.html +7 -0
  196. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/error.text +7 -0
  197. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/normal.html +19 -0
  198. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/normal.text +20 -0
  199. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/sepspaces.html +3 -0
  200. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/sepspaces.text +3 -0
  201. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/septabs.html +3 -0
  202. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/septabs.text +3 -0
  203. data/kramdown-2.5.2/test/testcases/block/08_list/brackets_in_item.latex +3 -0
  204. data/kramdown-2.5.2/test/testcases/block/08_list/brackets_in_item.text +1 -0
  205. data/kramdown-2.5.2/test/testcases/block/08_list/escaping.html +21 -0
  206. data/kramdown-2.5.2/test/testcases/block/08_list/escaping.text +21 -0
  207. data/kramdown-2.5.2/test/testcases/block/08_list/item_ial.html +10 -0
  208. data/kramdown-2.5.2/test/testcases/block/08_list/item_ial.text +8 -0
  209. data/kramdown-2.5.2/test/testcases/block/08_list/lazy.html +39 -0
  210. data/kramdown-2.5.2/test/testcases/block/08_list/lazy.text +29 -0
  211. data/kramdown-2.5.2/test/testcases/block/08_list/lazy_and_nested.html +9 -0
  212. data/kramdown-2.5.2/test/testcases/block/08_list/lazy_and_nested.text +4 -0
  213. data/kramdown-2.5.2/test/testcases/block/08_list/list_and_hr.html +9 -0
  214. data/kramdown-2.5.2/test/testcases/block/08_list/list_and_hr.text +5 -0
  215. data/kramdown-2.5.2/test/testcases/block/08_list/list_and_others.html +40 -0
  216. data/kramdown-2.5.2/test/testcases/block/08_list/list_and_others.text +26 -0
  217. data/kramdown-2.5.2/test/testcases/block/08_list/mixed.html +117 -0
  218. data/kramdown-2.5.2/test/testcases/block/08_list/mixed.text +66 -0
  219. data/kramdown-2.5.2/test/testcases/block/08_list/nested.html +17 -0
  220. data/kramdown-2.5.2/test/testcases/block/08_list/nested.text +7 -0
  221. data/kramdown-2.5.2/test/testcases/block/08_list/nested_compact.kramdown +7 -0
  222. data/kramdown-2.5.2/test/testcases/block/08_list/nested_compact.text +6 -0
  223. data/kramdown-2.5.2/test/testcases/block/08_list/other_first_element.html +39 -0
  224. data/kramdown-2.5.2/test/testcases/block/08_list/other_first_element.text +18 -0
  225. data/kramdown-2.5.2/test/testcases/block/08_list/simple_ol.html +19 -0
  226. data/kramdown-2.5.2/test/testcases/block/08_list/simple_ol.text +13 -0
  227. data/kramdown-2.5.2/test/testcases/block/08_list/simple_ul.html +48 -0
  228. data/kramdown-2.5.2/test/testcases/block/08_list/simple_ul.text +36 -0
  229. data/kramdown-2.5.2/test/testcases/block/08_list/single_item.html +3 -0
  230. data/kramdown-2.5.2/test/testcases/block/08_list/single_item.text +1 -0
  231. data/kramdown-2.5.2/test/testcases/block/08_list/special_cases.html +72 -0
  232. data/kramdown-2.5.2/test/testcases/block/08_list/special_cases.text +49 -0
  233. data/kramdown-2.5.2/test/testcases/block/09_html/cdata_section.html +10 -0
  234. data/kramdown-2.5.2/test/testcases/block/09_html/cdata_section.text +10 -0
  235. data/kramdown-2.5.2/test/testcases/block/09_html/comment.html +18 -0
  236. data/kramdown-2.5.2/test/testcases/block/09_html/comment.text +15 -0
  237. data/kramdown-2.5.2/test/testcases/block/09_html/content_model/deflists.html +6 -0
  238. data/kramdown-2.5.2/test/testcases/block/09_html/content_model/deflists.options +1 -0
  239. data/kramdown-2.5.2/test/testcases/block/09_html/content_model/deflists.text +6 -0
  240. data/kramdown-2.5.2/test/testcases/block/09_html/content_model/tables.html +14 -0
  241. data/kramdown-2.5.2/test/testcases/block/09_html/content_model/tables.options +1 -0
  242. data/kramdown-2.5.2/test/testcases/block/09_html/content_model/tables.text +14 -0
  243. data/kramdown-2.5.2/test/testcases/block/09_html/html5_attributes.html +15 -0
  244. data/kramdown-2.5.2/test/testcases/block/09_html/html5_attributes.text +15 -0
  245. data/kramdown-2.5.2/test/testcases/block/09_html/html_after_block.html +7 -0
  246. data/kramdown-2.5.2/test/testcases/block/09_html/html_after_block.text +5 -0
  247. data/kramdown-2.5.2/test/testcases/block/09_html/html_and_codeblocks.html +15 -0
  248. data/kramdown-2.5.2/test/testcases/block/09_html/html_and_codeblocks.options +1 -0
  249. data/kramdown-2.5.2/test/testcases/block/09_html/html_and_codeblocks.text +13 -0
  250. data/kramdown-2.5.2/test/testcases/block/09_html/html_and_headers.html +5 -0
  251. data/kramdown-2.5.2/test/testcases/block/09_html/html_and_headers.text +6 -0
  252. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/code.html +10 -0
  253. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/code.text +9 -0
  254. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/comment.html +7 -0
  255. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/comment.text +8 -0
  256. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/emphasis.html +6 -0
  257. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/emphasis.text +6 -0
  258. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/entity.html +1 -0
  259. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/entity.text +1 -0
  260. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/header.html +6 -0
  261. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/header.options +2 -0
  262. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/header.text +6 -0
  263. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/list_dl.html +8 -0
  264. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/list_dl.text +8 -0
  265. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/list_ol.html +15 -0
  266. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/list_ol.text +17 -0
  267. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/list_ul.html +19 -0
  268. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/list_ul.text +22 -0
  269. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/options +1 -0
  270. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/paragraph.html +3 -0
  271. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/paragraph.text +4 -0
  272. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/table_normal.html +12 -0
  273. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/table_normal.text +12 -0
  274. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/table_simple.html +64 -0
  275. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/table_simple.text +74 -0
  276. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/typography.html +1 -0
  277. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/typography.text +1 -0
  278. data/kramdown-2.5.2/test/testcases/block/09_html/invalid_html_1.html +5 -0
  279. data/kramdown-2.5.2/test/testcases/block/09_html/invalid_html_1.text +5 -0
  280. data/kramdown-2.5.2/test/testcases/block/09_html/invalid_html_2.html +5 -0
  281. data/kramdown-2.5.2/test/testcases/block/09_html/invalid_html_2.text +5 -0
  282. data/kramdown-2.5.2/test/testcases/block/09_html/markdown_attr.html +38 -0
  283. data/kramdown-2.5.2/test/testcases/block/09_html/markdown_attr.text +38 -0
  284. data/kramdown-2.5.2/test/testcases/block/09_html/not_parsed.html +24 -0
  285. data/kramdown-2.5.2/test/testcases/block/09_html/not_parsed.text +24 -0
  286. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_raw.html +35 -0
  287. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_raw.htmlinput +34 -0
  288. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_raw.options +1 -0
  289. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_raw.text +33 -0
  290. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_span.html +12 -0
  291. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_span.htmlinput +12 -0
  292. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_span.options +1 -0
  293. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_span.text +9 -0
  294. data/kramdown-2.5.2/test/testcases/block/09_html/parse_block_html.html +21 -0
  295. data/kramdown-2.5.2/test/testcases/block/09_html/parse_block_html.options +1 -0
  296. data/kramdown-2.5.2/test/testcases/block/09_html/parse_block_html.text +17 -0
  297. data/kramdown-2.5.2/test/testcases/block/09_html/processing_instruction.html +12 -0
  298. data/kramdown-2.5.2/test/testcases/block/09_html/processing_instruction.text +12 -0
  299. data/kramdown-2.5.2/test/testcases/block/09_html/simple.html +60 -0
  300. data/kramdown-2.5.2/test/testcases/block/09_html/simple.options +1 -0
  301. data/kramdown-2.5.2/test/testcases/block/09_html/simple.text +55 -0
  302. data/kramdown-2.5.2/test/testcases/block/09_html/standalone_image_in_div.htmlinput +7 -0
  303. data/kramdown-2.5.2/test/testcases/block/09_html/standalone_image_in_div.text +8 -0
  304. data/kramdown-2.5.2/test/testcases/block/09_html/table.kramdown +8 -0
  305. data/kramdown-2.5.2/test/testcases/block/09_html/table.text +7 -0
  306. data/kramdown-2.5.2/test/testcases/block/09_html/textarea.html +8 -0
  307. data/kramdown-2.5.2/test/testcases/block/09_html/textarea.text +8 -0
  308. data/kramdown-2.5.2/test/testcases/block/09_html/xml.html +8 -0
  309. data/kramdown-2.5.2/test/testcases/block/09_html/xml.text +7 -0
  310. data/kramdown-2.5.2/test/testcases/block/10_ald/simple.html +2 -0
  311. data/kramdown-2.5.2/test/testcases/block/10_ald/simple.text +8 -0
  312. data/kramdown-2.5.2/test/testcases/block/11_ial/auto_id_and_ial.html +1 -0
  313. data/kramdown-2.5.2/test/testcases/block/11_ial/auto_id_and_ial.options +1 -0
  314. data/kramdown-2.5.2/test/testcases/block/11_ial/auto_id_and_ial.text +2 -0
  315. data/kramdown-2.5.2/test/testcases/block/11_ial/nested.html +11 -0
  316. data/kramdown-2.5.2/test/testcases/block/11_ial/nested.text +15 -0
  317. data/kramdown-2.5.2/test/testcases/block/11_ial/simple.html +29 -0
  318. data/kramdown-2.5.2/test/testcases/block/11_ial/simple.text +41 -0
  319. data/kramdown-2.5.2/test/testcases/block/12_extension/comment.html +8 -0
  320. data/kramdown-2.5.2/test/testcases/block/12_extension/comment.text +12 -0
  321. data/kramdown-2.5.2/test/testcases/block/12_extension/ignored.html +8 -0
  322. data/kramdown-2.5.2/test/testcases/block/12_extension/ignored.text +8 -0
  323. data/kramdown-2.5.2/test/testcases/block/12_extension/nomarkdown.html +10 -0
  324. data/kramdown-2.5.2/test/testcases/block/12_extension/nomarkdown.kramdown +20 -0
  325. data/kramdown-2.5.2/test/testcases/block/12_extension/nomarkdown.latex +13 -0
  326. data/kramdown-2.5.2/test/testcases/block/12_extension/nomarkdown.text +21 -0
  327. data/kramdown-2.5.2/test/testcases/block/12_extension/options.html +21 -0
  328. data/kramdown-2.5.2/test/testcases/block/12_extension/options.text +23 -0
  329. data/kramdown-2.5.2/test/testcases/block/12_extension/options2.html +10 -0
  330. data/kramdown-2.5.2/test/testcases/block/12_extension/options2.text +5 -0
  331. data/kramdown-2.5.2/test/testcases/block/12_extension/options3.html +8 -0
  332. data/kramdown-2.5.2/test/testcases/block/12_extension/options3.text +7 -0
  333. data/kramdown-2.5.2/test/testcases/block/13_definition_list/auto_ids.html +15 -0
  334. data/kramdown-2.5.2/test/testcases/block/13_definition_list/auto_ids.text +18 -0
  335. data/kramdown-2.5.2/test/testcases/block/13_definition_list/definition_at_beginning.html +1 -0
  336. data/kramdown-2.5.2/test/testcases/block/13_definition_list/definition_at_beginning.text +1 -0
  337. data/kramdown-2.5.2/test/testcases/block/13_definition_list/deflist_ial.html +4 -0
  338. data/kramdown-2.5.2/test/testcases/block/13_definition_list/deflist_ial.text +4 -0
  339. data/kramdown-2.5.2/test/testcases/block/13_definition_list/item_ial.html +17 -0
  340. data/kramdown-2.5.2/test/testcases/block/13_definition_list/item_ial.text +16 -0
  341. data/kramdown-2.5.2/test/testcases/block/13_definition_list/multiple_terms.html +13 -0
  342. data/kramdown-2.5.2/test/testcases/block/13_definition_list/multiple_terms.text +10 -0
  343. data/kramdown-2.5.2/test/testcases/block/13_definition_list/no_def_list.html +2 -0
  344. data/kramdown-2.5.2/test/testcases/block/13_definition_list/no_def_list.text +2 -0
  345. data/kramdown-2.5.2/test/testcases/block/13_definition_list/para_wrapping.html +10 -0
  346. data/kramdown-2.5.2/test/testcases/block/13_definition_list/para_wrapping.text +6 -0
  347. data/kramdown-2.5.2/test/testcases/block/13_definition_list/separated_by_eob.html +8 -0
  348. data/kramdown-2.5.2/test/testcases/block/13_definition_list/separated_by_eob.text +5 -0
  349. data/kramdown-2.5.2/test/testcases/block/13_definition_list/simple.html +10 -0
  350. data/kramdown-2.5.2/test/testcases/block/13_definition_list/simple.text +10 -0
  351. data/kramdown-2.5.2/test/testcases/block/13_definition_list/styled_terms.html +4 -0
  352. data/kramdown-2.5.2/test/testcases/block/13_definition_list/styled_terms.text +2 -0
  353. data/kramdown-2.5.2/test/testcases/block/13_definition_list/too_much_space.html +3 -0
  354. data/kramdown-2.5.2/test/testcases/block/13_definition_list/too_much_space.text +4 -0
  355. data/kramdown-2.5.2/test/testcases/block/13_definition_list/with_blocks.html +38 -0
  356. data/kramdown-2.5.2/test/testcases/block/13_definition_list/with_blocks.text +24 -0
  357. data/kramdown-2.5.2/test/testcases/block/14_table/empty_tag_in_cell.html +8 -0
  358. data/kramdown-2.5.2/test/testcases/block/14_table/empty_tag_in_cell.options +1 -0
  359. data/kramdown-2.5.2/test/testcases/block/14_table/empty_tag_in_cell.text +1 -0
  360. data/kramdown-2.5.2/test/testcases/block/14_table/errors.html +12 -0
  361. data/kramdown-2.5.2/test/testcases/block/14_table/errors.text +13 -0
  362. data/kramdown-2.5.2/test/testcases/block/14_table/escaping.html +52 -0
  363. data/kramdown-2.5.2/test/testcases/block/14_table/escaping.text +19 -0
  364. data/kramdown-2.5.2/test/testcases/block/14_table/footer.html +65 -0
  365. data/kramdown-2.5.2/test/testcases/block/14_table/footer.text +25 -0
  366. data/kramdown-2.5.2/test/testcases/block/14_table/header.html +117 -0
  367. data/kramdown-2.5.2/test/testcases/block/14_table/header.text +39 -0
  368. data/kramdown-2.5.2/test/testcases/block/14_table/no_table.html +3 -0
  369. data/kramdown-2.5.2/test/testcases/block/14_table/no_table.text +3 -0
  370. data/kramdown-2.5.2/test/testcases/block/14_table/simple.html +192 -0
  371. data/kramdown-2.5.2/test/testcases/block/14_table/simple.text +53 -0
  372. data/kramdown-2.5.2/test/testcases/block/14_table/table_with_footnote.html +25 -0
  373. data/kramdown-2.5.2/test/testcases/block/14_table/table_with_footnote.latex +11 -0
  374. data/kramdown-2.5.2/test/testcases/block/14_table/table_with_footnote.text +6 -0
  375. data/kramdown-2.5.2/test/testcases/block/15_math/gh_128.html +1 -0
  376. data/kramdown-2.5.2/test/testcases/block/15_math/gh_128.text +1 -0
  377. data/kramdown-2.5.2/test/testcases/block/15_math/no_engine.html +3 -0
  378. data/kramdown-2.5.2/test/testcases/block/15_math/no_engine.options +1 -0
  379. data/kramdown-2.5.2/test/testcases/block/15_math/no_engine.text +2 -0
  380. data/kramdown-2.5.2/test/testcases/block/15_math/normal.html +30 -0
  381. data/kramdown-2.5.2/test/testcases/block/15_math/normal.text +30 -0
  382. data/kramdown-2.5.2/test/testcases/block/16_toc/no_toc.html +14 -0
  383. data/kramdown-2.5.2/test/testcases/block/16_toc/no_toc.text +16 -0
  384. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_exclude.html +35 -0
  385. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_exclude.options +1 -0
  386. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_exclude.text +19 -0
  387. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_levels.html +24 -0
  388. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_levels.options +2 -0
  389. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_levels.text +16 -0
  390. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_with_footnotes.html +13 -0
  391. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_with_footnotes.options +1 -0
  392. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_with_footnotes.text +6 -0
  393. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_with_links.html +8 -0
  394. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_with_links.options +2 -0
  395. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_with_links.text +8 -0
  396. data/kramdown-2.5.2/test/testcases/cjk-line-break.html +4 -0
  397. data/kramdown-2.5.2/test/testcases/cjk-line-break.options +1 -0
  398. data/kramdown-2.5.2/test/testcases/cjk-line-break.text +12 -0
  399. data/kramdown-2.5.2/test/testcases/encoding.html +46 -0
  400. data/kramdown-2.5.2/test/testcases/encoding.text +28 -0
  401. data/kramdown-2.5.2/test/testcases/man/example.man +123 -0
  402. data/kramdown-2.5.2/test/testcases/man/example.text +85 -0
  403. data/kramdown-2.5.2/test/testcases/man/heading-name-dash-description.man +4 -0
  404. data/kramdown-2.5.2/test/testcases/man/heading-name-dash-description.text +1 -0
  405. data/kramdown-2.5.2/test/testcases/man/heading-name-description.man +4 -0
  406. data/kramdown-2.5.2/test/testcases/man/heading-name-description.text +2 -0
  407. data/kramdown-2.5.2/test/testcases/man/heading-name-section-description.man +4 -0
  408. data/kramdown-2.5.2/test/testcases/man/heading-name-section-description.text +1 -0
  409. data/kramdown-2.5.2/test/testcases/man/heading-name-section.man +2 -0
  410. data/kramdown-2.5.2/test/testcases/man/heading-name-section.text +1 -0
  411. data/kramdown-2.5.2/test/testcases/man/heading-name.man +2 -0
  412. data/kramdown-2.5.2/test/testcases/man/heading-name.text +1 -0
  413. data/kramdown-2.5.2/test/testcases/man/sections.man +4 -0
  414. data/kramdown-2.5.2/test/testcases/man/sections.text +11 -0
  415. data/kramdown-2.5.2/test/testcases/man/text-escaping.man +8 -0
  416. data/kramdown-2.5.2/test/testcases/man/text-escaping.text +7 -0
  417. data/kramdown-2.5.2/test/testcases/span/01_link/empty.html +5 -0
  418. data/kramdown-2.5.2/test/testcases/span/01_link/empty.text +5 -0
  419. data/kramdown-2.5.2/test/testcases/span/01_link/empty_title.htmlinput +3 -0
  420. data/kramdown-2.5.2/test/testcases/span/01_link/empty_title.text +7 -0
  421. data/kramdown-2.5.2/test/testcases/span/01_link/image_in_a.html +5 -0
  422. data/kramdown-2.5.2/test/testcases/span/01_link/image_in_a.text +5 -0
  423. data/kramdown-2.5.2/test/testcases/span/01_link/imagelinks.html +15 -0
  424. data/kramdown-2.5.2/test/testcases/span/01_link/imagelinks.text +18 -0
  425. data/kramdown-2.5.2/test/testcases/span/01_link/inline.html +46 -0
  426. data/kramdown-2.5.2/test/testcases/span/01_link/inline.text +48 -0
  427. data/kramdown-2.5.2/test/testcases/span/01_link/latex_escaping.latex +6 -0
  428. data/kramdown-2.5.2/test/testcases/span/01_link/latex_escaping.text +5 -0
  429. data/kramdown-2.5.2/test/testcases/span/01_link/link_defs.html +9 -0
  430. data/kramdown-2.5.2/test/testcases/span/01_link/link_defs.text +27 -0
  431. data/kramdown-2.5.2/test/testcases/span/01_link/link_defs_with_ial.html +4 -0
  432. data/kramdown-2.5.2/test/testcases/span/01_link/link_defs_with_ial.text +16 -0
  433. data/kramdown-2.5.2/test/testcases/span/01_link/links_with_angle_brackets.html +3 -0
  434. data/kramdown-2.5.2/test/testcases/span/01_link/links_with_angle_brackets.text +3 -0
  435. data/kramdown-2.5.2/test/testcases/span/01_link/reference.html +37 -0
  436. data/kramdown-2.5.2/test/testcases/span/01_link/reference.options +3 -0
  437. data/kramdown-2.5.2/test/testcases/span/01_link/reference.text +53 -0
  438. data/kramdown-2.5.2/test/testcases/span/02_emphasis/empty.html +3 -0
  439. data/kramdown-2.5.2/test/testcases/span/02_emphasis/empty.text +3 -0
  440. data/kramdown-2.5.2/test/testcases/span/02_emphasis/errors.html +9 -0
  441. data/kramdown-2.5.2/test/testcases/span/02_emphasis/errors.text +9 -0
  442. data/kramdown-2.5.2/test/testcases/span/02_emphasis/nesting.html +41 -0
  443. data/kramdown-2.5.2/test/testcases/span/02_emphasis/nesting.text +36 -0
  444. data/kramdown-2.5.2/test/testcases/span/02_emphasis/normal.html +70 -0
  445. data/kramdown-2.5.2/test/testcases/span/02_emphasis/normal.options +1 -0
  446. data/kramdown-2.5.2/test/testcases/span/02_emphasis/normal.text +68 -0
  447. data/kramdown-2.5.2/test/testcases/span/03_codespan/empty.html +5 -0
  448. data/kramdown-2.5.2/test/testcases/span/03_codespan/empty.text +5 -0
  449. data/kramdown-2.5.2/test/testcases/span/03_codespan/errors.html +1 -0
  450. data/kramdown-2.5.2/test/testcases/span/03_codespan/errors.text +1 -0
  451. data/kramdown-2.5.2/test/testcases/span/03_codespan/highlighting-minted.latex +2 -0
  452. data/kramdown-2.5.2/test/testcases/span/03_codespan/highlighting-minted.options +1 -0
  453. data/kramdown-2.5.2/test/testcases/span/03_codespan/highlighting-minted.text +1 -0
  454. data/kramdown-2.5.2/test/testcases/span/03_codespan/highlighting.html +1 -0
  455. data/kramdown-2.5.2/test/testcases/span/03_codespan/highlighting.text +1 -0
  456. data/kramdown-2.5.2/test/testcases/span/03_codespan/normal-css-class.html +1 -0
  457. data/kramdown-2.5.2/test/testcases/span/03_codespan/normal-css-class.options +2 -0
  458. data/kramdown-2.5.2/test/testcases/span/03_codespan/normal-css-class.text +1 -0
  459. data/kramdown-2.5.2/test/testcases/span/03_codespan/normal.html +20 -0
  460. data/kramdown-2.5.2/test/testcases/span/03_codespan/normal.text +20 -0
  461. data/kramdown-2.5.2/test/testcases/span/03_codespan/rouge/disabled.html +1 -0
  462. data/kramdown-2.5.2/test/testcases/span/03_codespan/rouge/disabled.options +4 -0
  463. data/kramdown-2.5.2/test/testcases/span/03_codespan/rouge/disabled.text +1 -0
  464. data/kramdown-2.5.2/test/testcases/span/03_codespan/rouge/simple.html +1 -0
  465. data/kramdown-2.5.2/test/testcases/span/03_codespan/rouge/simple.options +1 -0
  466. data/kramdown-2.5.2/test/testcases/span/03_codespan/rouge/simple.text +1 -0
  467. data/kramdown-2.5.2/test/testcases/span/04_footnote/backlink_inline.html +79 -0
  468. data/kramdown-2.5.2/test/testcases/span/04_footnote/backlink_inline.options +1 -0
  469. data/kramdown-2.5.2/test/testcases/span/04_footnote/backlink_inline.text +38 -0
  470. data/kramdown-2.5.2/test/testcases/span/04_footnote/backlink_text.html +9 -0
  471. data/kramdown-2.5.2/test/testcases/span/04_footnote/backlink_text.options +1 -0
  472. data/kramdown-2.5.2/test/testcases/span/04_footnote/backlink_text.text +3 -0
  473. data/kramdown-2.5.2/test/testcases/span/04_footnote/definitions.html +17 -0
  474. data/kramdown-2.5.2/test/testcases/span/04_footnote/definitions.latex +17 -0
  475. data/kramdown-2.5.2/test/testcases/span/04_footnote/definitions.text +24 -0
  476. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_link_text.html +12 -0
  477. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_link_text.options +1 -0
  478. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_link_text.text +4 -0
  479. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_nr.html +12 -0
  480. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_nr.latex +2 -0
  481. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_nr.options +1 -0
  482. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_nr.text +4 -0
  483. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_prefix.html +12 -0
  484. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_prefix.options +1 -0
  485. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_prefix.text +4 -0
  486. data/kramdown-2.5.2/test/testcases/span/04_footnote/inside_footnote.html +17 -0
  487. data/kramdown-2.5.2/test/testcases/span/04_footnote/inside_footnote.text +9 -0
  488. data/kramdown-2.5.2/test/testcases/span/04_footnote/markers.html +46 -0
  489. data/kramdown-2.5.2/test/testcases/span/04_footnote/markers.latex +23 -0
  490. data/kramdown-2.5.2/test/testcases/span/04_footnote/markers.options +2 -0
  491. data/kramdown-2.5.2/test/testcases/span/04_footnote/markers.text +27 -0
  492. data/kramdown-2.5.2/test/testcases/span/04_footnote/placement.html +11 -0
  493. data/kramdown-2.5.2/test/testcases/span/04_footnote/placement.options +1 -0
  494. data/kramdown-2.5.2/test/testcases/span/04_footnote/placement.text +8 -0
  495. data/kramdown-2.5.2/test/testcases/span/04_footnote/regexp_problem.html +14 -0
  496. data/kramdown-2.5.2/test/testcases/span/04_footnote/regexp_problem.options +2 -0
  497. data/kramdown-2.5.2/test/testcases/span/04_footnote/regexp_problem.text +52 -0
  498. data/kramdown-2.5.2/test/testcases/span/04_footnote/without_backlink.html +9 -0
  499. data/kramdown-2.5.2/test/testcases/span/04_footnote/without_backlink.options +1 -0
  500. data/kramdown-2.5.2/test/testcases/span/04_footnote/without_backlink.text +3 -0
  501. data/kramdown-2.5.2/test/testcases/span/05_html/across_lines.html +1 -0
  502. data/kramdown-2.5.2/test/testcases/span/05_html/across_lines.text +2 -0
  503. data/kramdown-2.5.2/test/testcases/span/05_html/button.html +7 -0
  504. data/kramdown-2.5.2/test/testcases/span/05_html/button.text +7 -0
  505. data/kramdown-2.5.2/test/testcases/span/05_html/invalid.html +1 -0
  506. data/kramdown-2.5.2/test/testcases/span/05_html/invalid.text +1 -0
  507. data/kramdown-2.5.2/test/testcases/span/05_html/link_with_mailto.html +1 -0
  508. data/kramdown-2.5.2/test/testcases/span/05_html/link_with_mailto.text +1 -0
  509. data/kramdown-2.5.2/test/testcases/span/05_html/mark_element.html +3 -0
  510. data/kramdown-2.5.2/test/testcases/span/05_html/mark_element.text +3 -0
  511. data/kramdown-2.5.2/test/testcases/span/05_html/markdown_attr.html +6 -0
  512. data/kramdown-2.5.2/test/testcases/span/05_html/markdown_attr.text +6 -0
  513. data/kramdown-2.5.2/test/testcases/span/05_html/normal.html +43 -0
  514. data/kramdown-2.5.2/test/testcases/span/05_html/normal.text +43 -0
  515. data/kramdown-2.5.2/test/testcases/span/05_html/raw_span_elements.html +2 -0
  516. data/kramdown-2.5.2/test/testcases/span/05_html/raw_span_elements.text +2 -0
  517. data/kramdown-2.5.2/test/testcases/span/05_html/xml.html +5 -0
  518. data/kramdown-2.5.2/test/testcases/span/05_html/xml.text +5 -0
  519. data/kramdown-2.5.2/test/testcases/span/abbreviations/abbrev.html +25 -0
  520. data/kramdown-2.5.2/test/testcases/span/abbreviations/abbrev.text +41 -0
  521. data/kramdown-2.5.2/test/testcases/span/abbreviations/abbrev_defs.html +2 -0
  522. data/kramdown-2.5.2/test/testcases/span/abbreviations/abbrev_defs.text +5 -0
  523. data/kramdown-2.5.2/test/testcases/span/abbreviations/abbrev_in_html.html +9 -0
  524. data/kramdown-2.5.2/test/testcases/span/abbreviations/abbrev_in_html.text +10 -0
  525. data/kramdown-2.5.2/test/testcases/span/abbreviations/in_footnote.html +9 -0
  526. data/kramdown-2.5.2/test/testcases/span/abbreviations/in_footnote.text +5 -0
  527. data/kramdown-2.5.2/test/testcases/span/autolinks/url_links.html +15 -0
  528. data/kramdown-2.5.2/test/testcases/span/autolinks/url_links.text +16 -0
  529. data/kramdown-2.5.2/test/testcases/span/escaped_chars/normal.html +47 -0
  530. data/kramdown-2.5.2/test/testcases/span/escaped_chars/normal.text +47 -0
  531. data/kramdown-2.5.2/test/testcases/span/extension/comment.html +6 -0
  532. data/kramdown-2.5.2/test/testcases/span/extension/comment.text +6 -0
  533. data/kramdown-2.5.2/test/testcases/span/extension/ignored.html +1 -0
  534. data/kramdown-2.5.2/test/testcases/span/extension/ignored.text +1 -0
  535. data/kramdown-2.5.2/test/testcases/span/extension/nomarkdown.html +1 -0
  536. data/kramdown-2.5.2/test/testcases/span/extension/nomarkdown.text +1 -0
  537. data/kramdown-2.5.2/test/testcases/span/extension/options.html +1 -0
  538. data/kramdown-2.5.2/test/testcases/span/extension/options.text +1 -0
  539. data/kramdown-2.5.2/test/testcases/span/ial/simple.html +6 -0
  540. data/kramdown-2.5.2/test/testcases/span/ial/simple.text +6 -0
  541. data/kramdown-2.5.2/test/testcases/span/line_breaks/normal.html +11 -0
  542. data/kramdown-2.5.2/test/testcases/span/line_breaks/normal.latex +12 -0
  543. data/kramdown-2.5.2/test/testcases/span/line_breaks/normal.text +11 -0
  544. data/kramdown-2.5.2/test/testcases/span/math/no_engine.html +1 -0
  545. data/kramdown-2.5.2/test/testcases/span/math/no_engine.options +1 -0
  546. data/kramdown-2.5.2/test/testcases/span/math/no_engine.text +1 -0
  547. data/kramdown-2.5.2/test/testcases/span/math/normal.html +10 -0
  548. data/kramdown-2.5.2/test/testcases/span/math/normal.text +10 -0
  549. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities.html +6 -0
  550. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities.options +1 -0
  551. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities.text +6 -0
  552. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_as_char.html +1 -0
  553. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_as_char.options +2 -0
  554. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_as_char.text +1 -0
  555. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_as_input.html +1 -0
  556. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_as_input.options +1 -0
  557. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_as_input.text +1 -0
  558. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_numeric.html +1 -0
  559. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_numeric.options +1 -0
  560. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_numeric.text +1 -0
  561. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_symbolic.html +1 -0
  562. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_symbolic.options +1 -0
  563. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_symbolic.text +1 -0
  564. data/kramdown-2.5.2/test/testcases/span/text_substitutions/greaterthan.html +1 -0
  565. data/kramdown-2.5.2/test/testcases/span/text_substitutions/greaterthan.text +1 -0
  566. data/kramdown-2.5.2/test/testcases/span/text_substitutions/lowerthan.html +1 -0
  567. data/kramdown-2.5.2/test/testcases/span/text_substitutions/lowerthan.text +1 -0
  568. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography.html +40 -0
  569. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography.options +1 -0
  570. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography.text +40 -0
  571. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography_subst.html +3 -0
  572. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography_subst.latex +4 -0
  573. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography_subst.options +8 -0
  574. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography_subst.text +3 -0
  575. data/mega-sharp-mod.gemspec +12 -0
  576. metadata +615 -0
@@ -0,0 +1,286 @@
1
+ # -*- coding: utf-8; frozen_string_literal: true -*-
2
+ #
3
+ #--
4
+ # Copyright (C) 2009-2026 Thomas Leitner <t_leitner@gmx.at>
5
+ #
6
+ # This file is part of kramdown which is licensed under the MIT.
7
+ #++
8
+ #
9
+
10
+ require 'kramdown/parser/kramdown/blank_line'
11
+ require 'kramdown/parser/kramdown/eob'
12
+ require 'kramdown/parser/kramdown/horizontal_rule'
13
+ require 'kramdown/parser/kramdown/extensions'
14
+
15
+ module Kramdown
16
+ module Parser
17
+ class Kramdown
18
+
19
+ LIST_ITEM_IAL = /^\s*(?:\{:(?!(?:#{ALD_ID_NAME})?:|\/)(#{ALD_ANY_CHARS}+)\})\s*/
20
+ LIST_ITEM_IAL_CHECK = /^#{LIST_ITEM_IAL}?\s*\n/
21
+
22
+ PARSE_FIRST_LIST_LINE_REGEXP_CACHE = Hash.new do |h, indentation|
23
+ indent_re = /^ {#{indentation}}/
24
+ content_re = /^(?:(?:\t| {4}){#{indentation / 4}} {#{indentation % 4}}|(?:\t| {4}){#{indentation / 4 + 1}}).*\S.*\n/
25
+ lazy_re = /(?!^ {0,#{[indentation, 3].min}}(?:#{IAL_BLOCK}|#{LAZY_END_HTML_STOP}|#{LAZY_END_HTML_START})).*\S.*\n/
26
+
27
+ h[indentation] = [content_re, lazy_re, indent_re]
28
+ end
29
+
30
+ # Used for parsing the first line of a list item or a definition, i.e. the line with list item
31
+ # marker or the definition marker.
32
+ def parse_first_list_line(indentation, content)
33
+ if content.match?(self.class::LIST_ITEM_IAL_CHECK)
34
+ indentation = 4
35
+ else
36
+ while content.match?(/^ *\t/)
37
+ temp = content.scan(/^ */).first.length + indentation
38
+ content.sub!(/^( *)(\t+)/) { $1 << " " * (4 - (temp % 4) + ($2.length - 1) * 4) }
39
+ end
40
+ indentation += content[/^ */].length
41
+ end
42
+ content.sub!(/^\s*/, '')
43
+
44
+ [content, indentation, *PARSE_FIRST_LIST_LINE_REGEXP_CACHE[indentation]]
45
+ end
46
+
47
+ PATTERN_TAIL = /[\t| ].*?\n/
48
+
49
+ LIST_START_UL = /^(#{OPT_SPACE}[+*-])(#{PATTERN_TAIL})/
50
+ LIST_START_OL = /^(#{OPT_SPACE}\d+\.)(#{PATTERN_TAIL})/
51
+ LIST_START = /#{LIST_START_UL}|#{LIST_START_OL}/
52
+
53
+ # Parse the ordered or unordered list at the current location.
54
+ def parse_list
55
+ start_line_number = @src.current_line_number
56
+ type, list_start_re = (@src.check(LIST_START_UL) ? [:ul, LIST_START_UL] : [:ol, LIST_START_OL])
57
+ list = new_block_el(type, nil, nil, location: start_line_number)
58
+
59
+ item = nil
60
+ content_re, lazy_re, indent_re = nil
61
+ eob_found = false
62
+ nested_list_found = false
63
+ last_is_blank = false
64
+ until @src.eos?
65
+ start_line_number = @src.current_line_number
66
+ if last_is_blank && @src.check(HR_START)
67
+ break
68
+ elsif @src.scan(EOB_MARKER)
69
+ eob_found = true
70
+ break
71
+ elsif @src.scan(list_start_re)
72
+ list.options[:first_list_marker] ||= @src[1].strip
73
+ item = Element.new(:li, nil, nil, location: start_line_number)
74
+ item.value, indentation, content_re, lazy_re, indent_re =
75
+ parse_first_list_line(@src[1].length, @src[2])
76
+ list.children << item
77
+
78
+ item.value.sub!(self.class::LIST_ITEM_IAL) do
79
+ parse_attribute_list($1, item.options[:ial] ||= {})
80
+ ''
81
+ end
82
+
83
+ list_start_re = fetch_pattern(type, indentation)
84
+ nested_list_found = (item.value =~ LIST_START)
85
+ last_is_blank = false
86
+ item.value = [item.value]
87
+ elsif (result = @src.scan(content_re)) || (!last_is_blank && (result = @src.scan(lazy_re)))
88
+ result.sub!(/^(\t+)/) { " " * 4 * $1.length }
89
+ indentation_found = result.sub!(indent_re, '')
90
+ if !nested_list_found && indentation_found && result =~ LIST_START
91
+ item.value << +''
92
+ nested_list_found = true
93
+ elsif nested_list_found && !indentation_found && result =~ LIST_START
94
+ result = " " * (indentation + 4) << result
95
+ end
96
+ item.value.last << result
97
+ last_is_blank = false
98
+ elsif (result = @src.scan(BLANK_LINE))
99
+ nested_list_found = true
100
+ last_is_blank = true
101
+ item.value.last << result
102
+ else
103
+ break
104
+ end
105
+ end
106
+
107
+ @tree.children << list
108
+
109
+ last = nil
110
+ list.children.each do |it|
111
+ temp = Element.new(:temp, nil, nil, location: it.options[:location])
112
+
113
+ env = save_env
114
+ location = it.options[:location]
115
+ it.value.each do |val|
116
+ @src = ::Kramdown::Utils::StringScanner.new(val, location)
117
+ parse_blocks(temp)
118
+ location = @src.current_line_number
119
+ end
120
+ restore_env(env)
121
+
122
+ it.children = temp.children
123
+ it.value = nil
124
+
125
+ it_children = it.children
126
+ next if it_children.empty?
127
+
128
+ # Handle the case where an EOB marker is inserted by a block IAL for the first paragraph
129
+ it_children.delete_at(1) if it_children.first.type == :p &&
130
+ it_children.length >= 2 && it_children[1].type == :eob && it_children.first.options[:ial]
131
+
132
+ if it_children.first.type == :p &&
133
+ (it_children.length < 2 || it_children[1].type != :blank ||
134
+ (it == list.children.last && it_children.length == 2 && !eob_found)) &&
135
+ (list.children.last != it || list.children.size == 1 ||
136
+ list.children[0..-2].any? {|cit| !cit.children.first || cit.children.first.type != :p || cit.children.first.options[:transparent] })
137
+ it_children.first.children.first.value << "\n" if it_children.size > 1 && it_children[1].type != :blank
138
+ it_children.first.options[:transparent] = true
139
+ end
140
+
141
+ last = (it_children.last.type == :blank ? it_children.pop : nil)
142
+ end
143
+
144
+ @tree.children << last if !last.nil? && !eob_found
145
+
146
+ true
147
+ end
148
+ define_parser(:list, LIST_START)
149
+
150
+ DEFINITION_LIST_START = /^(#{OPT_SPACE}:)(#{PATTERN_TAIL})/
151
+
152
+ # Parse the ordered or unordered list at the current location.
153
+ def parse_definition_list
154
+ children = @tree.children
155
+ if !children.last || (children.length == 1 && children.last.type != :p) ||
156
+ (children.length >= 2 && children[-1].type != :p &&
157
+ (children[-1].type != :blank || children[-1].value != "\n" || children[-2].type != :p))
158
+ return false
159
+ end
160
+
161
+ first_as_para = false
162
+ deflist = new_block_el(:dl)
163
+ para = @tree.children.pop
164
+ if para.type == :blank
165
+ para = @tree.children.pop
166
+ first_as_para = true
167
+ end
168
+ # take location from preceding para which is the first definition term
169
+ deflist.options[:location] = para.options[:location]
170
+ para.children.first.value.split("\n").each do |term|
171
+ el = Element.new(:dt, nil, nil, location: @src.current_line_number)
172
+ term.sub!(self.class::LIST_ITEM_IAL) do
173
+ parse_attribute_list($1, el.options[:ial] ||= {})
174
+ ''
175
+ end
176
+ el.options[:raw_text] = term
177
+ el.children << Element.new(:raw_text, term)
178
+ deflist.children << el
179
+ end
180
+ deflist.options[:ial] = para.options[:ial]
181
+
182
+ item = nil
183
+ content_re, lazy_re, indent_re = nil
184
+ def_start_re = DEFINITION_LIST_START
185
+ last_is_blank = false
186
+ until @src.eos?
187
+ start_line_number = @src.current_line_number
188
+ if @src.scan(def_start_re)
189
+ item = Element.new(:dd, nil, nil, location: start_line_number)
190
+ item.options[:first_as_para] = first_as_para
191
+ item.value, indentation, content_re, lazy_re, indent_re =
192
+ parse_first_list_line(@src[1].length, @src[2])
193
+ deflist.children << item
194
+
195
+ item.value.sub!(self.class::LIST_ITEM_IAL) do |_match|
196
+ parse_attribute_list($1, item.options[:ial] ||= {})
197
+ ''
198
+ end
199
+
200
+ def_start_re = fetch_pattern(:dl, indentation)
201
+ first_as_para = false
202
+ last_is_blank = false
203
+ elsif @src.check(EOB_MARKER)
204
+ break
205
+ elsif (result = @src.scan(content_re)) || (!last_is_blank && (result = @src.scan(lazy_re)))
206
+ result.sub!(/^(\t+)/) { " " * ($1 ? 4 * $1.length : 0) }
207
+ result.sub!(indent_re, '')
208
+ item.value << result
209
+ first_as_para = false
210
+ last_is_blank = false
211
+ elsif (result = @src.scan(BLANK_LINE))
212
+ first_as_para = true
213
+ item.value << result
214
+ last_is_blank = true
215
+ else
216
+ break
217
+ end
218
+ end
219
+
220
+ last = nil
221
+ deflist.children.each do |it|
222
+ next if it.type == :dt
223
+
224
+ parse_blocks(it, it.value)
225
+ it.value = nil
226
+ it_children = it.children
227
+ next if it_children.empty?
228
+
229
+ last = (it_children.last.type == :blank ? it_children.pop : nil)
230
+
231
+ if it_children.first && it_children.first.type == :p && !it.options.delete(:first_as_para)
232
+ it_children.first.children.first.value << "\n" if it_children.size > 1
233
+ it_children.first.options[:transparent] = true
234
+ end
235
+ end
236
+
237
+ children = @tree.children
238
+ if children.length >= 1 && children.last.type == :dl
239
+ children[-1].children.concat(deflist.children)
240
+ elsif children.length >= 2 && children[-1].type == :blank &&
241
+ children[-2].type == :dl
242
+ children.pop
243
+ children[-1].children.concat(deflist.children)
244
+ else
245
+ children << deflist
246
+ end
247
+
248
+ children << last if last
249
+
250
+ true
251
+ end
252
+ define_parser(:definition_list, DEFINITION_LIST_START)
253
+
254
+ private
255
+
256
+ # precomputed patterns for indentations 1..4 and fallback expression
257
+ # to compute pattern when indentation is outside the 1..4 range.
258
+ def fetch_pattern(type, indentation)
259
+ case type
260
+ when :ul
261
+ case indentation
262
+ when 1 then /^( {0}[+*-])(#{PATTERN_TAIL})/o
263
+ when 2 then /^( {0,1}[+*-])(#{PATTERN_TAIL})/o
264
+ when 3 then /^( {0,2}[+*-])(#{PATTERN_TAIL})/o
265
+ else /^( {0,3}[+*-])(#{PATTERN_TAIL})/o
266
+ end
267
+ when :ol
268
+ case indentation
269
+ when 1 then /^( {0}\d+\.)(#{PATTERN_TAIL})/o
270
+ when 2 then /^( {0,1}\d+\.)(#{PATTERN_TAIL})/o
271
+ when 3 then /^( {0,2}\d+\.)(#{PATTERN_TAIL})/o
272
+ else /^( {0,3}\d+\.)(#{PATTERN_TAIL})/o
273
+ end
274
+ when :dl
275
+ case indentation
276
+ when 1 then /^( {0}:)(#{PATTERN_TAIL})/o
277
+ when 2 then /^( {0,1}:)(#{PATTERN_TAIL})/o
278
+ when 3 then /^( {0,2}:)(#{PATTERN_TAIL})/o
279
+ else /^( {0,3}:)(#{PATTERN_TAIL})/o
280
+ end
281
+ end
282
+ end
283
+
284
+ end
285
+ end
286
+ end
@@ -0,0 +1,53 @@
1
+ # -*- coding: utf-8; frozen_string_literal: true -*-
2
+ #
3
+ #--
4
+ # Copyright (C) 2009-2026 Thomas Leitner <t_leitner@gmx.at>
5
+ #
6
+ # This file is part of kramdown which is licensed under the MIT.
7
+ #++
8
+ #
9
+
10
+ require 'kramdown/parser/kramdown/block_boundary'
11
+
12
+ module Kramdown
13
+ module Parser
14
+ class Kramdown
15
+
16
+ BLOCK_MATH_START = /^#{OPT_SPACE}(\\)?\$\$(.*?)\$\$(\s*?\n)?/m
17
+
18
+ # Parse the math block at the current location.
19
+ def parse_block_math
20
+ start_line_number = @src.current_line_number
21
+ if !after_block_boundary?
22
+ return false
23
+ elsif @src[1]
24
+ @src.scan(/^#{OPT_SPACE}\\/o) if @src[3]
25
+ return false
26
+ end
27
+
28
+ saved_pos = @src.save_pos
29
+ @src.pos += @src.matched_size
30
+ data = @src[2].strip
31
+ if before_block_boundary?
32
+ @tree.children << new_block_el(:math, data, nil, category: :block, location: start_line_number)
33
+ true
34
+ else
35
+ @src.revert_pos(saved_pos)
36
+ false
37
+ end
38
+ end
39
+ define_parser(:block_math, BLOCK_MATH_START)
40
+
41
+ INLINE_MATH_START = /\$\$(.*?)\$\$/m
42
+
43
+ # Parse the inline math at the current location.
44
+ def parse_inline_math
45
+ start_line_number = @src.current_line_number
46
+ @src.pos += @src.matched_size
47
+ @tree.children << Element.new(:math, @src[1].strip, nil, category: :span, location: start_line_number)
48
+ end
49
+ define_parser(:inline_math, INLINE_MATH_START, '\$')
50
+
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,62 @@
1
+ # -*- coding: utf-8; frozen_string_literal: true -*-
2
+ #
3
+ #--
4
+ # Copyright (C) 2009-2026 Thomas Leitner <t_leitner@gmx.at>
5
+ #
6
+ # This file is part of kramdown which is licensed under the MIT.
7
+ #++
8
+ #
9
+
10
+ require 'kramdown/parser/kramdown/blank_line'
11
+ require 'kramdown/parser/kramdown/extensions'
12
+ require 'kramdown/parser/kramdown/eob'
13
+ require 'kramdown/parser/kramdown/list'
14
+ require 'kramdown/parser/kramdown/html'
15
+
16
+ module Kramdown
17
+ module Parser
18
+ class Kramdown
19
+
20
+ LAZY_END_HTML_SPAN_ELEMENTS = HTML_SPAN_ELEMENTS + %w[script]
21
+ LAZY_END_HTML_START = /<(?>(?!(?:#{LAZY_END_HTML_SPAN_ELEMENTS.join('|')})\b)#{REXML::Parsers::BaseParser::UNAME_STR})/
22
+ LAZY_END_HTML_STOP = /<\/(?!(?:#{LAZY_END_HTML_SPAN_ELEMENTS.join('|')})\b)#{REXML::Parsers::BaseParser::UNAME_STR}\s*>/m
23
+
24
+ LAZY_END = /#{BLANK_LINE}|#{IAL_BLOCK_START}|#{EOB_MARKER}|^#{OPT_SPACE}#{LAZY_END_HTML_STOP}|^#{OPT_SPACE}#{LAZY_END_HTML_START}|\Z/
25
+
26
+ PARAGRAPH_START = /^#{OPT_SPACE}[^ \t].*?\n/
27
+ PARAGRAPH_MATCH = /^.*?\n/
28
+ PARAGRAPH_END = /#{LAZY_END}|#{DEFINITION_LIST_START}/
29
+
30
+ # Parse the paragraph at the current location.
31
+ def parse_paragraph
32
+ pos = @src.pos
33
+ start_line_number = @src.current_line_number
34
+ result = @src.scan(PARAGRAPH_MATCH)
35
+ until @src.match?(paragraph_end)
36
+ result << @src.scan(PARAGRAPH_MATCH)
37
+ end
38
+ result.rstrip!
39
+ if (last_child = @tree.children.last) && last_child.type == :p
40
+ last_item_in_para = last_child.children.last
41
+ if last_item_in_para && last_item_in_para.type == @text_type
42
+ joiner = (extract_string((pos - 3)...pos, @src) == " \n" ? " \n" : "\n")
43
+ last_item_in_para.value << joiner << result
44
+ else
45
+ add_text(result, last_child)
46
+ end
47
+ else
48
+ @tree.children << new_block_el(:p, nil, nil, location: start_line_number)
49
+ result.lstrip!
50
+ add_text(result, @tree.children.last)
51
+ end
52
+ true
53
+ end
54
+ define_parser(:paragraph, PARAGRAPH_START)
55
+
56
+ def paragraph_end
57
+ self.class::PARAGRAPH_END
58
+ end
59
+
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,174 @@
1
+ # -*- coding: utf-8; frozen_string_literal: true -*-
2
+ #
3
+ #--
4
+ # Copyright (C) 2009-2026 Thomas Leitner <t_leitner@gmx.at>
5
+ #
6
+ # This file is part of kramdown which is licensed under the MIT.
7
+ #++
8
+ #
9
+ #--
10
+ # Parts of this file are based on code from RubyPants:
11
+ #
12
+ # = RubyPants -- SmartyPants ported to Ruby
13
+ #
14
+ # Ported by Christian Neukirchen <mailto:chneukirchen@gmail.com>
15
+ # Copyright (C) 2004 Christian Neukirchen
16
+ #
17
+ # Incooporates ideas, comments and documentation by Chad Miller
18
+ # Copyright (C) 2004 Chad Miller
19
+ #
20
+ # Original SmartyPants by John Gruber
21
+ # Copyright (C) 2003 John Gruber
22
+ #
23
+ #
24
+ # = RubyPants -- SmartyPants ported to Ruby
25
+ #
26
+ #
27
+ # [snip]
28
+ #
29
+ # == Authors
30
+ #
31
+ # John Gruber did all of the hard work of writing this software in
32
+ # Perl for Movable Type and almost all of this useful documentation.
33
+ # Chad Miller ported it to Python to use with Pyblosxom.
34
+ #
35
+ # Christian Neukirchen provided the Ruby port, as a general-purpose
36
+ # library that follows the *Cloth API.
37
+ #
38
+ #
39
+ # == Copyright and License
40
+ #
41
+ # === SmartyPants license:
42
+ #
43
+ # Copyright (c) 2003 John Gruber
44
+ # (http://daringfireball.net)
45
+ # All rights reserved.
46
+ #
47
+ # Redistribution and use in source and binary forms, with or without
48
+ # modification, are permitted provided that the following conditions
49
+ # are met:
50
+ #
51
+ # * Redistributions of source code must retain the above copyright
52
+ # notice, this list of conditions and the following disclaimer.
53
+ #
54
+ # * Redistributions in binary form must reproduce the above copyright
55
+ # notice, this list of conditions and the following disclaimer in
56
+ # the documentation and/or other materials provided with the
57
+ # distribution.
58
+ #
59
+ # * Neither the name "SmartyPants" nor the names of its contributors
60
+ # may be used to endorse or promote products derived from this
61
+ # software without specific prior written permission.
62
+ #
63
+ # This software is provided by the copyright holders and contributors
64
+ # "as is" and any express or implied warranties, including, but not
65
+ # limited to, the implied warranties of merchantability and fitness
66
+ # for a particular purpose are disclaimed. In no event shall the
67
+ # copyright owner or contributors be liable for any direct, indirect,
68
+ # incidental, special, exemplary, or consequential damages (including,
69
+ # but not limited to, procurement of substitute goods or services;
70
+ # loss of use, data, or profits; or business interruption) however
71
+ # caused and on any theory of liability, whether in contract, strict
72
+ # liability, or tort (including negligence or otherwise) arising in
73
+ # any way out of the use of this software, even if advised of the
74
+ # possibility of such damage.
75
+ #
76
+ # === RubyPants license
77
+ #
78
+ # RubyPants is a derivative work of SmartyPants and smartypants.py.
79
+ #
80
+ # Redistribution and use in source and binary forms, with or without
81
+ # modification, are permitted provided that the following conditions
82
+ # are met:
83
+ #
84
+ # * Redistributions of source code must retain the above copyright
85
+ # notice, this list of conditions and the following disclaimer.
86
+ #
87
+ # * Redistributions in binary form must reproduce the above copyright
88
+ # notice, this list of conditions and the following disclaimer in
89
+ # the documentation and/or other materials provided with the
90
+ # distribution.
91
+ #
92
+ # This software is provided by the copyright holders and contributors
93
+ # "as is" and any express or implied warranties, including, but not
94
+ # limited to, the implied warranties of merchantability and fitness
95
+ # for a particular purpose are disclaimed. In no event shall the
96
+ # copyright owner or contributors be liable for any direct, indirect,
97
+ # incidental, special, exemplary, or consequential damages (including,
98
+ # but not limited to, procurement of substitute goods or services;
99
+ # loss of use, data, or profits; or business interruption) however
100
+ # caused and on any theory of liability, whether in contract, strict
101
+ # liability, or tort (including negligence or otherwise) arising in
102
+ # any way out of the use of this software, even if advised of the
103
+ # possibility of such damage.
104
+ #
105
+ # == Links
106
+ #
107
+ # John Gruber:: http://daringfireball.net
108
+ # SmartyPants:: http://daringfireball.net/projects/smartypants
109
+ #
110
+ # Chad Miller:: http://web.chad.org
111
+ #
112
+ # Christian Neukirchen:: http://kronavita.de/chris
113
+ #
114
+ #++
115
+ #
116
+
117
+ module Kramdown
118
+ module Parser
119
+ class Kramdown
120
+
121
+ SQ_PUNCT = '[!"#\$\%\'()*+,\-.\/:;<=>?\@\[\\\\\]\^_`{|}~]'
122
+ SQ_CLOSE = %![^ \\\\\t\r\n\\[{(-]!
123
+
124
+ SQ_RULES = [
125
+ [/("|')(?=[_*]{1,2}\S)/, [:lquote1]],
126
+ [/("|')(?=#{SQ_PUNCT}(?!\.\.)\B)/, [:rquote1]],
127
+ # Special case for double sets of quotes, e.g.:
128
+ # <p>He said, "'Quoted' words in a larger quote."</p>
129
+ [/(\s?)"'(?=\w)/, [1, :ldquo, :lsquo]],
130
+ [/(\s?)'"(?=\w)/, [1, :lsquo, :ldquo]],
131
+ # Special case for decade abbreviations (the '80s):
132
+ [/(\s?)'(?=\d\ds)/, [1, :rsquo]],
133
+
134
+ # Get most opening single/double quotes:
135
+ [/(\s)('|")(?=\w)/, [1, :lquote2]],
136
+ # Single/double closing quotes:
137
+ [/(#{SQ_CLOSE})('|")/, [1, :rquote2]],
138
+ # Special case for e.g. "<i>Custer</i>'s Last Stand."
139
+ [/("|')(?=\s|s\b|$)/, [:rquote1]],
140
+ # Any remaining single quotes should be opening ones:
141
+ [/(.?)'/m, [1, :lsquo]],
142
+ [/(.?)"/m, [1, :ldquo]],
143
+ ] # '"
144
+
145
+ SQ_SUBSTS = {
146
+ [:rquote1, '"'] => :rdquo,
147
+ [:rquote1, "'"] => :rsquo,
148
+ [:rquote2, '"'] => :rdquo,
149
+ [:rquote2, "'"] => :rsquo,
150
+ [:lquote1, '"'] => :ldquo,
151
+ [:lquote1, "'"] => :lsquo,
152
+ [:lquote2, '"'] => :ldquo,
153
+ [:lquote2, "'"] => :lsquo,
154
+ }
155
+ SMART_QUOTES_RE = /[^\\]?["']/
156
+
157
+ # Parse the smart quotes at current location.
158
+ def parse_smart_quotes
159
+ start_line_number = @src.current_line_number
160
+ substs = SQ_RULES.find {|reg, _subst| @src.scan(reg) }[1]
161
+ substs.each do |subst|
162
+ if subst.kind_of?(Integer)
163
+ add_text(@src[subst])
164
+ else
165
+ val = SQ_SUBSTS[[subst, @src[subst.to_s[-1, 1].to_i]]] || subst
166
+ @tree.children << Element.new(:smart_quote, val, nil, location: start_line_number)
167
+ end
168
+ end
169
+ end
170
+ define_parser(:smart_quotes, SMART_QUOTES_RE, '[^\\\\]?["\']')
171
+
172
+ end
173
+ end
174
+ end