daqing_kramdown 2.3.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.
- checksums.yaml +7 -0
- data/AUTHORS +1 -0
- data/CONTRIBUTERS +78 -0
- data/COPYING +30 -0
- data/README.md +71 -0
- data/VERSION +1 -0
- data/bin/daqing_kramdown +132 -0
- data/data/kramdown/document.html +22 -0
- data/data/kramdown/document.latex +50 -0
- data/lib/kramdown.rb +10 -0
- data/lib/kramdown/converter.rb +68 -0
- data/lib/kramdown/converter/base.rb +261 -0
- data/lib/kramdown/converter/hash_ast.rb +38 -0
- data/lib/kramdown/converter/html.rb +535 -0
- data/lib/kramdown/converter/kramdown.rb +448 -0
- data/lib/kramdown/converter/latex.rb +625 -0
- data/lib/kramdown/converter/man.rb +300 -0
- data/lib/kramdown/converter/math_engine/mathjax.rb +32 -0
- data/lib/kramdown/converter/remove_html_tags.rb +57 -0
- data/lib/kramdown/converter/syntax_highlighter.rb +56 -0
- data/lib/kramdown/converter/syntax_highlighter/minted.rb +35 -0
- data/lib/kramdown/converter/syntax_highlighter/rouge.rb +85 -0
- data/lib/kramdown/converter/toc.rb +69 -0
- data/lib/kramdown/document.rb +139 -0
- data/lib/kramdown/element.rb +551 -0
- data/lib/kramdown/error.rb +17 -0
- data/lib/kramdown/options.rb +604 -0
- data/lib/kramdown/parser.rb +26 -0
- data/lib/kramdown/parser/base.rb +131 -0
- data/lib/kramdown/parser/html.rb +608 -0
- data/lib/kramdown/parser/kramdown.rb +376 -0
- data/lib/kramdown/parser/kramdown/abbreviation.rb +78 -0
- data/lib/kramdown/parser/kramdown/autolink.rb +31 -0
- data/lib/kramdown/parser/kramdown/blank_line.rb +30 -0
- data/lib/kramdown/parser/kramdown/block_boundary.rb +34 -0
- data/lib/kramdown/parser/kramdown/blockquote.rb +38 -0
- data/lib/kramdown/parser/kramdown/codeblock.rb +57 -0
- data/lib/kramdown/parser/kramdown/codespan.rb +54 -0
- data/lib/kramdown/parser/kramdown/emphasis.rb +61 -0
- data/lib/kramdown/parser/kramdown/eob.rb +26 -0
- data/lib/kramdown/parser/kramdown/escaped_chars.rb +25 -0
- data/lib/kramdown/parser/kramdown/extensions.rb +214 -0
- data/lib/kramdown/parser/kramdown/footnote.rb +64 -0
- data/lib/kramdown/parser/kramdown/header.rb +70 -0
- data/lib/kramdown/parser/kramdown/horizontal_rule.rb +27 -0
- data/lib/kramdown/parser/kramdown/html.rb +162 -0
- data/lib/kramdown/parser/kramdown/html_entity.rb +34 -0
- data/lib/kramdown/parser/kramdown/line_break.rb +25 -0
- data/lib/kramdown/parser/kramdown/link.rb +149 -0
- data/lib/kramdown/parser/kramdown/list.rb +284 -0
- data/lib/kramdown/parser/kramdown/math.rb +53 -0
- data/lib/kramdown/parser/kramdown/paragraph.rb +62 -0
- data/lib/kramdown/parser/kramdown/smart_quotes.rb +174 -0
- data/lib/kramdown/parser/kramdown/table.rb +171 -0
- data/lib/kramdown/parser/kramdown/typographic_symbol.rb +44 -0
- data/lib/kramdown/parser/markdown.rb +57 -0
- data/lib/kramdown/utils.rb +45 -0
- data/lib/kramdown/utils/configurable.rb +45 -0
- data/lib/kramdown/utils/entities.rb +344 -0
- data/lib/kramdown/utils/html.rb +84 -0
- data/lib/kramdown/utils/lru_cache.rb +41 -0
- data/lib/kramdown/utils/string_scanner.rb +81 -0
- data/lib/kramdown/utils/unidecoder.rb +50 -0
- data/lib/kramdown/version.rb +15 -0
- data/man/man1/kramdown.1 +0 -0
- data/test/run_tests.rb +46 -0
- data/test/test_files.rb +298 -0
- data/test/test_location.rb +216 -0
- data/test/test_string_scanner_kramdown.rb +27 -0
- data/test/testcases/block/01_blank_line/spaces.html +1 -0
- data/test/testcases/block/01_blank_line/spaces.text +3 -0
- data/test/testcases/block/01_blank_line/tabs.html +1 -0
- data/test/testcases/block/01_blank_line/tabs.text +6 -0
- data/test/testcases/block/02_eob/beginning.html +1 -0
- data/test/testcases/block/02_eob/beginning.text +3 -0
- data/test/testcases/block/02_eob/end.html +1 -0
- data/test/testcases/block/02_eob/end.text +3 -0
- data/test/testcases/block/02_eob/middle.html +1 -0
- data/test/testcases/block/02_eob/middle.text +5 -0
- data/test/testcases/block/03_paragraph/indented.html +18 -0
- data/test/testcases/block/03_paragraph/indented.html.gfm +18 -0
- data/test/testcases/block/03_paragraph/indented.text +19 -0
- data/test/testcases/block/03_paragraph/line_break_last_line.html +9 -0
- data/test/testcases/block/03_paragraph/line_break_last_line.text +9 -0
- data/test/testcases/block/03_paragraph/no_newline_at_end.html +5 -0
- data/test/testcases/block/03_paragraph/no_newline_at_end.text +5 -0
- data/test/testcases/block/03_paragraph/one_para.html +1 -0
- data/test/testcases/block/03_paragraph/one_para.text +1 -0
- data/test/testcases/block/03_paragraph/standalone_image.html +8 -0
- data/test/testcases/block/03_paragraph/standalone_image.text +6 -0
- data/test/testcases/block/03_paragraph/two_para.html +4 -0
- data/test/testcases/block/03_paragraph/two_para.text +4 -0
- data/test/testcases/block/03_paragraph/with_html_to_native.html +1 -0
- data/test/testcases/block/03_paragraph/with_html_to_native.options +1 -0
- data/test/testcases/block/03_paragraph/with_html_to_native.text +1 -0
- data/test/testcases/block/04_header/atx_header.html +57 -0
- data/test/testcases/block/04_header/atx_header.text +54 -0
- data/test/testcases/block/04_header/atx_header_no_newline_at_end.html +1 -0
- data/test/testcases/block/04_header/atx_header_no_newline_at_end.text +1 -0
- data/test/testcases/block/04_header/header_type_offset.html +11 -0
- data/test/testcases/block/04_header/header_type_offset.kramdown +12 -0
- data/test/testcases/block/04_header/header_type_offset.latex +12 -0
- data/test/testcases/block/04_header/header_type_offset.options +2 -0
- data/test/testcases/block/04_header/header_type_offset.text +13 -0
- data/test/testcases/block/04_header/setext_header.html +32 -0
- data/test/testcases/block/04_header/setext_header.text +39 -0
- data/test/testcases/block/04_header/setext_header_no_newline_at_end.html +1 -0
- data/test/testcases/block/04_header/setext_header_no_newline_at_end.text +2 -0
- data/test/testcases/block/04_header/with_auto_id_prefix.html +3 -0
- data/test/testcases/block/04_header/with_auto_id_prefix.options +2 -0
- data/test/testcases/block/04_header/with_auto_id_prefix.text +3 -0
- data/test/testcases/block/04_header/with_auto_id_stripping.html +1 -0
- data/test/testcases/block/04_header/with_auto_id_stripping.options +1 -0
- data/test/testcases/block/04_header/with_auto_id_stripping.text +1 -0
- data/test/testcases/block/04_header/with_auto_ids.html +21 -0
- data/test/testcases/block/04_header/with_auto_ids.options +2 -0
- data/test/testcases/block/04_header/with_auto_ids.text +24 -0
- data/test/testcases/block/05_blockquote/indented.html +25 -0
- data/test/testcases/block/05_blockquote/indented.text +14 -0
- data/test/testcases/block/05_blockquote/lazy.html +34 -0
- data/test/testcases/block/05_blockquote/lazy.text +20 -0
- data/test/testcases/block/05_blockquote/nested.html +10 -0
- data/test/testcases/block/05_blockquote/nested.text +6 -0
- data/test/testcases/block/05_blockquote/no_newline_at_end.html +4 -0
- data/test/testcases/block/05_blockquote/no_newline_at_end.text +2 -0
- data/test/testcases/block/05_blockquote/very_long_line.html +3 -0
- data/test/testcases/block/05_blockquote/very_long_line.text +1 -0
- data/test/testcases/block/05_blockquote/with_code_blocks.html +15 -0
- data/test/testcases/block/05_blockquote/with_code_blocks.text +11 -0
- data/test/testcases/block/06_codeblock/disable-highlighting.html +4 -0
- data/test/testcases/block/06_codeblock/disable-highlighting.options +1 -0
- data/test/testcases/block/06_codeblock/disable-highlighting.text +4 -0
- data/test/testcases/block/06_codeblock/error.html +4 -0
- data/test/testcases/block/06_codeblock/error.text +4 -0
- data/test/testcases/block/06_codeblock/guess_lang_css_class.html +15 -0
- data/test/testcases/block/06_codeblock/guess_lang_css_class.options +2 -0
- data/test/testcases/block/06_codeblock/guess_lang_css_class.text +13 -0
- data/test/testcases/block/06_codeblock/highlighting-minted-with-opts.latex +9 -0
- data/test/testcases/block/06_codeblock/highlighting-minted-with-opts.options +4 -0
- data/test/testcases/block/06_codeblock/highlighting-minted-with-opts.text +5 -0
- data/test/testcases/block/06_codeblock/highlighting-minted.latex +8 -0
- data/test/testcases/block/06_codeblock/highlighting-minted.options +3 -0
- data/test/testcases/block/06_codeblock/highlighting-minted.text +4 -0
- data/test/testcases/block/06_codeblock/highlighting-opts.html +6 -0
- data/test/testcases/block/06_codeblock/highlighting-opts.options +7 -0
- data/test/testcases/block/06_codeblock/highlighting-opts.text +4 -0
- data/test/testcases/block/06_codeblock/highlighting.html +5 -0
- data/test/testcases/block/06_codeblock/highlighting.options +5 -0
- data/test/testcases/block/06_codeblock/highlighting.text +4 -0
- data/test/testcases/block/06_codeblock/issue_gh45.html +164 -0
- data/test/testcases/block/06_codeblock/issue_gh45.test +188 -0
- data/test/testcases/block/06_codeblock/lazy.html +4 -0
- data/test/testcases/block/06_codeblock/lazy.text +5 -0
- data/test/testcases/block/06_codeblock/no_newline_at_end.html +2 -0
- data/test/testcases/block/06_codeblock/no_newline_at_end.text +1 -0
- data/test/testcases/block/06_codeblock/no_newline_at_end_1.html +2 -0
- data/test/testcases/block/06_codeblock/no_newline_at_end_1.text +2 -0
- data/test/testcases/block/06_codeblock/normal.html +13 -0
- data/test/testcases/block/06_codeblock/normal.text +10 -0
- data/test/testcases/block/06_codeblock/rouge/disabled.html +2 -0
- data/test/testcases/block/06_codeblock/rouge/disabled.options +4 -0
- data/test/testcases/block/06_codeblock/rouge/disabled.text +1 -0
- data/test/testcases/block/06_codeblock/rouge/multiple.html +11 -0
- data/test/testcases/block/06_codeblock/rouge/multiple.options +4 -0
- data/test/testcases/block/06_codeblock/rouge/multiple.text +11 -0
- data/test/testcases/block/06_codeblock/rouge/simple.html +10 -0
- data/test/testcases/block/06_codeblock/rouge/simple.options +3 -0
- data/test/testcases/block/06_codeblock/rouge/simple.text +9 -0
- data/test/testcases/block/06_codeblock/tilde_syntax.html +7 -0
- data/test/testcases/block/06_codeblock/tilde_syntax.text +9 -0
- data/test/testcases/block/06_codeblock/whitespace.html +3 -0
- data/test/testcases/block/06_codeblock/whitespace.text +3 -0
- data/test/testcases/block/06_codeblock/with_blank_line.html +13 -0
- data/test/testcases/block/06_codeblock/with_blank_line.text +12 -0
- data/test/testcases/block/06_codeblock/with_eob_marker.html +6 -0
- data/test/testcases/block/06_codeblock/with_eob_marker.text +5 -0
- data/test/testcases/block/06_codeblock/with_ial.html +6 -0
- data/test/testcases/block/06_codeblock/with_ial.text +5 -0
- data/test/testcases/block/06_codeblock/with_lang_in_fenced_block.html +24 -0
- data/test/testcases/block/06_codeblock/with_lang_in_fenced_block.options +2 -0
- data/test/testcases/block/06_codeblock/with_lang_in_fenced_block.text +33 -0
- data/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.html +8 -0
- data/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.options +2 -0
- data/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.text +11 -0
- data/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.html +3 -0
- data/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.options +2 -0
- data/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.text +4 -0
- data/test/testcases/block/07_horizontal_rule/error.html +7 -0
- data/test/testcases/block/07_horizontal_rule/error.text +7 -0
- data/test/testcases/block/07_horizontal_rule/normal.html +19 -0
- data/test/testcases/block/07_horizontal_rule/normal.text +20 -0
- data/test/testcases/block/07_horizontal_rule/sepspaces.html +3 -0
- data/test/testcases/block/07_horizontal_rule/sepspaces.text +3 -0
- data/test/testcases/block/07_horizontal_rule/septabs.html +3 -0
- data/test/testcases/block/07_horizontal_rule/septabs.text +3 -0
- data/test/testcases/block/08_list/brackets_in_item.latex +3 -0
- data/test/testcases/block/08_list/brackets_in_item.text +1 -0
- data/test/testcases/block/08_list/escaping.html +17 -0
- data/test/testcases/block/08_list/escaping.text +17 -0
- data/test/testcases/block/08_list/item_ial.html +10 -0
- data/test/testcases/block/08_list/item_ial.text +8 -0
- data/test/testcases/block/08_list/lazy.html +39 -0
- data/test/testcases/block/08_list/lazy.text +29 -0
- data/test/testcases/block/08_list/lazy_and_nested.html +9 -0
- data/test/testcases/block/08_list/lazy_and_nested.text +4 -0
- data/test/testcases/block/08_list/list_and_hr.html +9 -0
- data/test/testcases/block/08_list/list_and_hr.text +5 -0
- data/test/testcases/block/08_list/list_and_others.html +40 -0
- data/test/testcases/block/08_list/list_and_others.text +26 -0
- data/test/testcases/block/08_list/mixed.html +117 -0
- data/test/testcases/block/08_list/mixed.text +66 -0
- data/test/testcases/block/08_list/nested.html +17 -0
- data/test/testcases/block/08_list/nested.text +7 -0
- data/test/testcases/block/08_list/other_first_element.html +39 -0
- data/test/testcases/block/08_list/other_first_element.text +18 -0
- data/test/testcases/block/08_list/simple_ol.html +19 -0
- data/test/testcases/block/08_list/simple_ol.text +13 -0
- data/test/testcases/block/08_list/simple_ul.html +48 -0
- data/test/testcases/block/08_list/simple_ul.text +36 -0
- data/test/testcases/block/08_list/single_item.html +3 -0
- data/test/testcases/block/08_list/single_item.text +1 -0
- data/test/testcases/block/08_list/special_cases.html +62 -0
- data/test/testcases/block/08_list/special_cases.text +40 -0
- data/test/testcases/block/09_html/comment.html +18 -0
- data/test/testcases/block/09_html/comment.text +15 -0
- data/test/testcases/block/09_html/content_model/deflists.html +6 -0
- data/test/testcases/block/09_html/content_model/deflists.options +1 -0
- data/test/testcases/block/09_html/content_model/deflists.text +6 -0
- data/test/testcases/block/09_html/content_model/tables.html +14 -0
- data/test/testcases/block/09_html/content_model/tables.options +1 -0
- data/test/testcases/block/09_html/content_model/tables.text +14 -0
- data/test/testcases/block/09_html/html5_attributes.html +15 -0
- data/test/testcases/block/09_html/html5_attributes.text +15 -0
- data/test/testcases/block/09_html/html_after_block.html +7 -0
- data/test/testcases/block/09_html/html_after_block.text +5 -0
- data/test/testcases/block/09_html/html_and_codeblocks.html +15 -0
- data/test/testcases/block/09_html/html_and_codeblocks.options +1 -0
- data/test/testcases/block/09_html/html_and_codeblocks.text +13 -0
- data/test/testcases/block/09_html/html_and_headers.html +5 -0
- data/test/testcases/block/09_html/html_and_headers.text +6 -0
- data/test/testcases/block/09_html/html_to_native/code.html +10 -0
- data/test/testcases/block/09_html/html_to_native/code.text +9 -0
- data/test/testcases/block/09_html/html_to_native/comment.html +7 -0
- data/test/testcases/block/09_html/html_to_native/comment.text +8 -0
- data/test/testcases/block/09_html/html_to_native/emphasis.html +6 -0
- data/test/testcases/block/09_html/html_to_native/emphasis.text +6 -0
- data/test/testcases/block/09_html/html_to_native/entity.html +1 -0
- data/test/testcases/block/09_html/html_to_native/entity.text +1 -0
- data/test/testcases/block/09_html/html_to_native/header.html +6 -0
- data/test/testcases/block/09_html/html_to_native/header.options +2 -0
- data/test/testcases/block/09_html/html_to_native/header.text +6 -0
- data/test/testcases/block/09_html/html_to_native/list_dl.html +8 -0
- data/test/testcases/block/09_html/html_to_native/list_dl.text +8 -0
- data/test/testcases/block/09_html/html_to_native/list_ol.html +15 -0
- data/test/testcases/block/09_html/html_to_native/list_ol.text +17 -0
- data/test/testcases/block/09_html/html_to_native/list_ul.html +19 -0
- data/test/testcases/block/09_html/html_to_native/list_ul.text +22 -0
- data/test/testcases/block/09_html/html_to_native/options +1 -0
- data/test/testcases/block/09_html/html_to_native/paragraph.html +3 -0
- data/test/testcases/block/09_html/html_to_native/paragraph.text +4 -0
- data/test/testcases/block/09_html/html_to_native/table_normal.html +12 -0
- data/test/testcases/block/09_html/html_to_native/table_normal.text +12 -0
- data/test/testcases/block/09_html/html_to_native/table_simple.html +61 -0
- data/test/testcases/block/09_html/html_to_native/table_simple.text +71 -0
- data/test/testcases/block/09_html/html_to_native/typography.html +1 -0
- data/test/testcases/block/09_html/html_to_native/typography.text +1 -0
- data/test/testcases/block/09_html/invalid_html_1.html +5 -0
- data/test/testcases/block/09_html/invalid_html_1.text +5 -0
- data/test/testcases/block/09_html/invalid_html_2.html +5 -0
- data/test/testcases/block/09_html/invalid_html_2.text +5 -0
- data/test/testcases/block/09_html/markdown_attr.html +38 -0
- data/test/testcases/block/09_html/markdown_attr.text +38 -0
- data/test/testcases/block/09_html/not_parsed.html +24 -0
- data/test/testcases/block/09_html/not_parsed.text +24 -0
- data/test/testcases/block/09_html/parse_as_raw.html +35 -0
- data/test/testcases/block/09_html/parse_as_raw.htmlinput +34 -0
- data/test/testcases/block/09_html/parse_as_raw.options +1 -0
- data/test/testcases/block/09_html/parse_as_raw.text +33 -0
- data/test/testcases/block/09_html/parse_as_span.html +12 -0
- data/test/testcases/block/09_html/parse_as_span.htmlinput +12 -0
- data/test/testcases/block/09_html/parse_as_span.options +1 -0
- data/test/testcases/block/09_html/parse_as_span.text +9 -0
- data/test/testcases/block/09_html/parse_block_html.html +21 -0
- data/test/testcases/block/09_html/parse_block_html.options +1 -0
- data/test/testcases/block/09_html/parse_block_html.text +17 -0
- data/test/testcases/block/09_html/processing_instruction.html +12 -0
- data/test/testcases/block/09_html/processing_instruction.text +12 -0
- data/test/testcases/block/09_html/simple.html +60 -0
- data/test/testcases/block/09_html/simple.options +1 -0
- data/test/testcases/block/09_html/simple.text +55 -0
- data/test/testcases/block/09_html/standalone_image_in_div.htmlinput +7 -0
- data/test/testcases/block/09_html/standalone_image_in_div.text +8 -0
- data/test/testcases/block/09_html/textarea.html +8 -0
- data/test/testcases/block/09_html/textarea.text +8 -0
- data/test/testcases/block/09_html/xml.html +8 -0
- data/test/testcases/block/09_html/xml.text +7 -0
- data/test/testcases/block/10_ald/simple.html +2 -0
- data/test/testcases/block/10_ald/simple.text +8 -0
- data/test/testcases/block/11_ial/auto_id_and_ial.html +1 -0
- data/test/testcases/block/11_ial/auto_id_and_ial.options +1 -0
- data/test/testcases/block/11_ial/auto_id_and_ial.text +2 -0
- data/test/testcases/block/11_ial/nested.html +11 -0
- data/test/testcases/block/11_ial/nested.text +15 -0
- data/test/testcases/block/11_ial/simple.html +29 -0
- data/test/testcases/block/11_ial/simple.text +41 -0
- data/test/testcases/block/12_extension/comment.html +8 -0
- data/test/testcases/block/12_extension/comment.text +12 -0
- data/test/testcases/block/12_extension/ignored.html +8 -0
- data/test/testcases/block/12_extension/ignored.text +8 -0
- data/test/testcases/block/12_extension/nomarkdown.html +10 -0
- data/test/testcases/block/12_extension/nomarkdown.kramdown +20 -0
- data/test/testcases/block/12_extension/nomarkdown.latex +13 -0
- data/test/testcases/block/12_extension/nomarkdown.text +21 -0
- data/test/testcases/block/12_extension/options.html +21 -0
- data/test/testcases/block/12_extension/options.text +23 -0
- data/test/testcases/block/12_extension/options2.html +10 -0
- data/test/testcases/block/12_extension/options2.text +5 -0
- data/test/testcases/block/12_extension/options3.html +8 -0
- data/test/testcases/block/12_extension/options3.text +7 -0
- data/test/testcases/block/13_definition_list/auto_ids.html +15 -0
- data/test/testcases/block/13_definition_list/auto_ids.text +18 -0
- data/test/testcases/block/13_definition_list/definition_at_beginning.html +1 -0
- data/test/testcases/block/13_definition_list/definition_at_beginning.text +1 -0
- data/test/testcases/block/13_definition_list/deflist_ial.html +4 -0
- data/test/testcases/block/13_definition_list/deflist_ial.text +4 -0
- data/test/testcases/block/13_definition_list/item_ial.html +17 -0
- data/test/testcases/block/13_definition_list/item_ial.text +16 -0
- data/test/testcases/block/13_definition_list/multiple_terms.html +13 -0
- data/test/testcases/block/13_definition_list/multiple_terms.text +10 -0
- data/test/testcases/block/13_definition_list/no_def_list.html +2 -0
- data/test/testcases/block/13_definition_list/no_def_list.text +2 -0
- data/test/testcases/block/13_definition_list/para_wrapping.html +10 -0
- data/test/testcases/block/13_definition_list/para_wrapping.text +6 -0
- data/test/testcases/block/13_definition_list/separated_by_eob.html +8 -0
- data/test/testcases/block/13_definition_list/separated_by_eob.text +5 -0
- data/test/testcases/block/13_definition_list/simple.html +10 -0
- data/test/testcases/block/13_definition_list/simple.text +10 -0
- data/test/testcases/block/13_definition_list/styled_terms.html +4 -0
- data/test/testcases/block/13_definition_list/styled_terms.text +2 -0
- data/test/testcases/block/13_definition_list/too_much_space.html +3 -0
- data/test/testcases/block/13_definition_list/too_much_space.text +4 -0
- data/test/testcases/block/13_definition_list/with_blocks.html +38 -0
- data/test/testcases/block/13_definition_list/with_blocks.text +24 -0
- data/test/testcases/block/14_table/empty_tag_in_cell.html +8 -0
- data/test/testcases/block/14_table/empty_tag_in_cell.options +1 -0
- data/test/testcases/block/14_table/empty_tag_in_cell.text +1 -0
- data/test/testcases/block/14_table/errors.html +12 -0
- data/test/testcases/block/14_table/errors.text +13 -0
- data/test/testcases/block/14_table/escaping.html +52 -0
- data/test/testcases/block/14_table/escaping.text +19 -0
- data/test/testcases/block/14_table/footer.html +65 -0
- data/test/testcases/block/14_table/footer.text +25 -0
- data/test/testcases/block/14_table/header.html +117 -0
- data/test/testcases/block/14_table/header.text +39 -0
- data/test/testcases/block/14_table/no_table.html +3 -0
- data/test/testcases/block/14_table/no_table.text +3 -0
- data/test/testcases/block/14_table/simple.html +192 -0
- data/test/testcases/block/14_table/simple.text +53 -0
- data/test/testcases/block/14_table/table_with_footnote.html +25 -0
- data/test/testcases/block/14_table/table_with_footnote.latex +11 -0
- data/test/testcases/block/14_table/table_with_footnote.text +6 -0
- data/test/testcases/block/15_math/gh_128.html +1 -0
- data/test/testcases/block/15_math/gh_128.text +1 -0
- data/test/testcases/block/15_math/no_engine.html +3 -0
- data/test/testcases/block/15_math/no_engine.options +1 -0
- data/test/testcases/block/15_math/no_engine.text +2 -0
- data/test/testcases/block/15_math/normal.html +30 -0
- data/test/testcases/block/15_math/normal.text +30 -0
- data/test/testcases/block/16_toc/no_toc.html +14 -0
- data/test/testcases/block/16_toc/no_toc.text +16 -0
- data/test/testcases/block/16_toc/toc_exclude.html +35 -0
- data/test/testcases/block/16_toc/toc_exclude.options +1 -0
- data/test/testcases/block/16_toc/toc_exclude.text +19 -0
- data/test/testcases/block/16_toc/toc_levels.html +24 -0
- data/test/testcases/block/16_toc/toc_levels.options +2 -0
- data/test/testcases/block/16_toc/toc_levels.text +16 -0
- data/test/testcases/block/16_toc/toc_with_footnotes.html +13 -0
- data/test/testcases/block/16_toc/toc_with_footnotes.options +1 -0
- data/test/testcases/block/16_toc/toc_with_footnotes.text +6 -0
- data/test/testcases/block/16_toc/toc_with_links.html +8 -0
- data/test/testcases/block/16_toc/toc_with_links.options +2 -0
- data/test/testcases/block/16_toc/toc_with_links.text +8 -0
- data/test/testcases/cjk-line-break.html +4 -0
- data/test/testcases/cjk-line-break.options +1 -0
- data/test/testcases/cjk-line-break.text +12 -0
- data/test/testcases/encoding.html +46 -0
- data/test/testcases/encoding.text +28 -0
- data/test/testcases/man/example.man +123 -0
- data/test/testcases/man/example.text +85 -0
- data/test/testcases/man/heading-name-dash-description.man +4 -0
- data/test/testcases/man/heading-name-dash-description.text +1 -0
- data/test/testcases/man/heading-name-description.man +4 -0
- data/test/testcases/man/heading-name-description.text +2 -0
- data/test/testcases/man/heading-name-section-description.man +4 -0
- data/test/testcases/man/heading-name-section-description.text +1 -0
- data/test/testcases/man/heading-name-section.man +2 -0
- data/test/testcases/man/heading-name-section.text +1 -0
- data/test/testcases/man/heading-name.man +2 -0
- data/test/testcases/man/heading-name.text +1 -0
- data/test/testcases/man/sections.man +4 -0
- data/test/testcases/man/sections.text +11 -0
- data/test/testcases/man/text-escaping.man +8 -0
- data/test/testcases/man/text-escaping.text +7 -0
- data/test/testcases/span/01_link/empty.html +5 -0
- data/test/testcases/span/01_link/empty.text +5 -0
- data/test/testcases/span/01_link/empty_title.htmlinput +3 -0
- data/test/testcases/span/01_link/empty_title.text +7 -0
- data/test/testcases/span/01_link/image_in_a.html +5 -0
- data/test/testcases/span/01_link/image_in_a.text +5 -0
- data/test/testcases/span/01_link/imagelinks.html +15 -0
- data/test/testcases/span/01_link/imagelinks.text +18 -0
- data/test/testcases/span/01_link/inline.html +46 -0
- data/test/testcases/span/01_link/inline.text +48 -0
- data/test/testcases/span/01_link/latex_escaping.latex +6 -0
- data/test/testcases/span/01_link/latex_escaping.text +5 -0
- data/test/testcases/span/01_link/link_defs.html +9 -0
- data/test/testcases/span/01_link/link_defs.text +27 -0
- data/test/testcases/span/01_link/link_defs_with_ial.html +4 -0
- data/test/testcases/span/01_link/link_defs_with_ial.text +16 -0
- data/test/testcases/span/01_link/links_with_angle_brackets.html +3 -0
- data/test/testcases/span/01_link/links_with_angle_brackets.text +3 -0
- data/test/testcases/span/01_link/reference.html +37 -0
- data/test/testcases/span/01_link/reference.options +3 -0
- data/test/testcases/span/01_link/reference.text +53 -0
- data/test/testcases/span/02_emphasis/empty.html +3 -0
- data/test/testcases/span/02_emphasis/empty.text +3 -0
- data/test/testcases/span/02_emphasis/errors.html +9 -0
- data/test/testcases/span/02_emphasis/errors.text +9 -0
- data/test/testcases/span/02_emphasis/nesting.html +41 -0
- data/test/testcases/span/02_emphasis/nesting.text +36 -0
- data/test/testcases/span/02_emphasis/normal.html +65 -0
- data/test/testcases/span/02_emphasis/normal.options +1 -0
- data/test/testcases/span/02_emphasis/normal.text +63 -0
- data/test/testcases/span/03_codespan/empty.html +5 -0
- data/test/testcases/span/03_codespan/empty.text +5 -0
- data/test/testcases/span/03_codespan/errors.html +1 -0
- data/test/testcases/span/03_codespan/errors.text +1 -0
- data/test/testcases/span/03_codespan/highlighting-minted.latex +2 -0
- data/test/testcases/span/03_codespan/highlighting-minted.options +1 -0
- data/test/testcases/span/03_codespan/highlighting-minted.text +1 -0
- data/test/testcases/span/03_codespan/highlighting.html +1 -0
- data/test/testcases/span/03_codespan/highlighting.text +1 -0
- data/test/testcases/span/03_codespan/normal-css-class.html +1 -0
- data/test/testcases/span/03_codespan/normal-css-class.options +2 -0
- data/test/testcases/span/03_codespan/normal-css-class.text +1 -0
- data/test/testcases/span/03_codespan/normal.html +16 -0
- data/test/testcases/span/03_codespan/normal.text +16 -0
- data/test/testcases/span/03_codespan/rouge/disabled.html +1 -0
- data/test/testcases/span/03_codespan/rouge/disabled.options +4 -0
- data/test/testcases/span/03_codespan/rouge/disabled.text +1 -0
- data/test/testcases/span/03_codespan/rouge/simple.html +1 -0
- data/test/testcases/span/03_codespan/rouge/simple.options +1 -0
- data/test/testcases/span/03_codespan/rouge/simple.text +1 -0
- data/test/testcases/span/04_footnote/backlink_inline.html +79 -0
- data/test/testcases/span/04_footnote/backlink_inline.options +1 -0
- data/test/testcases/span/04_footnote/backlink_inline.text +38 -0
- data/test/testcases/span/04_footnote/backlink_text.html +9 -0
- data/test/testcases/span/04_footnote/backlink_text.options +1 -0
- data/test/testcases/span/04_footnote/backlink_text.text +3 -0
- data/test/testcases/span/04_footnote/definitions.html +17 -0
- data/test/testcases/span/04_footnote/definitions.latex +17 -0
- data/test/testcases/span/04_footnote/definitions.text +24 -0
- data/test/testcases/span/04_footnote/footnote_nr.html +12 -0
- data/test/testcases/span/04_footnote/footnote_nr.latex +2 -0
- data/test/testcases/span/04_footnote/footnote_nr.options +1 -0
- data/test/testcases/span/04_footnote/footnote_nr.text +4 -0
- data/test/testcases/span/04_footnote/footnote_prefix.html +12 -0
- data/test/testcases/span/04_footnote/footnote_prefix.options +1 -0
- data/test/testcases/span/04_footnote/footnote_prefix.text +4 -0
- data/test/testcases/span/04_footnote/inside_footnote.html +17 -0
- data/test/testcases/span/04_footnote/inside_footnote.text +9 -0
- data/test/testcases/span/04_footnote/markers.html +46 -0
- data/test/testcases/span/04_footnote/markers.latex +23 -0
- data/test/testcases/span/04_footnote/markers.options +2 -0
- data/test/testcases/span/04_footnote/markers.text +27 -0
- data/test/testcases/span/04_footnote/placement.html +11 -0
- data/test/testcases/span/04_footnote/placement.options +1 -0
- data/test/testcases/span/04_footnote/placement.text +8 -0
- data/test/testcases/span/04_footnote/regexp_problem.html +14 -0
- data/test/testcases/span/04_footnote/regexp_problem.options +2 -0
- data/test/testcases/span/04_footnote/regexp_problem.text +52 -0
- data/test/testcases/span/04_footnote/without_backlink.html +9 -0
- data/test/testcases/span/04_footnote/without_backlink.options +1 -0
- data/test/testcases/span/04_footnote/without_backlink.text +3 -0
- data/test/testcases/span/05_html/across_lines.html +1 -0
- data/test/testcases/span/05_html/across_lines.text +2 -0
- data/test/testcases/span/05_html/button.html +7 -0
- data/test/testcases/span/05_html/button.text +7 -0
- data/test/testcases/span/05_html/invalid.html +1 -0
- data/test/testcases/span/05_html/invalid.text +1 -0
- data/test/testcases/span/05_html/link_with_mailto.html +1 -0
- data/test/testcases/span/05_html/link_with_mailto.text +1 -0
- data/test/testcases/span/05_html/mark_element.html +3 -0
- data/test/testcases/span/05_html/mark_element.text +3 -0
- data/test/testcases/span/05_html/markdown_attr.html +6 -0
- data/test/testcases/span/05_html/markdown_attr.text +6 -0
- data/test/testcases/span/05_html/normal.html +43 -0
- data/test/testcases/span/05_html/normal.text +43 -0
- data/test/testcases/span/05_html/raw_span_elements.html +2 -0
- data/test/testcases/span/05_html/raw_span_elements.text +2 -0
- data/test/testcases/span/05_html/xml.html +5 -0
- data/test/testcases/span/05_html/xml.text +5 -0
- data/test/testcases/span/abbreviations/abbrev.html +21 -0
- data/test/testcases/span/abbreviations/abbrev.text +34 -0
- data/test/testcases/span/abbreviations/abbrev_defs.html +2 -0
- data/test/testcases/span/abbreviations/abbrev_defs.text +5 -0
- data/test/testcases/span/abbreviations/in_footnote.html +9 -0
- data/test/testcases/span/abbreviations/in_footnote.text +5 -0
- data/test/testcases/span/autolinks/url_links.html +15 -0
- data/test/testcases/span/autolinks/url_links.text +16 -0
- data/test/testcases/span/escaped_chars/normal.html +47 -0
- data/test/testcases/span/escaped_chars/normal.text +47 -0
- data/test/testcases/span/extension/comment.html +6 -0
- data/test/testcases/span/extension/comment.text +6 -0
- data/test/testcases/span/extension/ignored.html +1 -0
- data/test/testcases/span/extension/ignored.text +1 -0
- data/test/testcases/span/extension/nomarkdown.html +1 -0
- data/test/testcases/span/extension/nomarkdown.text +1 -0
- data/test/testcases/span/extension/options.html +1 -0
- data/test/testcases/span/extension/options.text +1 -0
- data/test/testcases/span/ial/simple.html +6 -0
- data/test/testcases/span/ial/simple.text +6 -0
- data/test/testcases/span/line_breaks/normal.html +11 -0
- data/test/testcases/span/line_breaks/normal.latex +12 -0
- data/test/testcases/span/line_breaks/normal.text +11 -0
- data/test/testcases/span/math/no_engine.html +1 -0
- data/test/testcases/span/math/no_engine.options +1 -0
- data/test/testcases/span/math/no_engine.text +1 -0
- data/test/testcases/span/math/normal.html +10 -0
- data/test/testcases/span/math/normal.text +10 -0
- data/test/testcases/span/text_substitutions/entities.html +6 -0
- data/test/testcases/span/text_substitutions/entities.options +1 -0
- data/test/testcases/span/text_substitutions/entities.text +6 -0
- data/test/testcases/span/text_substitutions/entities_as_char.html +1 -0
- data/test/testcases/span/text_substitutions/entities_as_char.options +2 -0
- data/test/testcases/span/text_substitutions/entities_as_char.text +1 -0
- data/test/testcases/span/text_substitutions/entities_as_input.html +1 -0
- data/test/testcases/span/text_substitutions/entities_as_input.options +1 -0
- data/test/testcases/span/text_substitutions/entities_as_input.text +1 -0
- data/test/testcases/span/text_substitutions/entities_numeric.html +1 -0
- data/test/testcases/span/text_substitutions/entities_numeric.options +1 -0
- data/test/testcases/span/text_substitutions/entities_numeric.text +1 -0
- data/test/testcases/span/text_substitutions/entities_symbolic.html +1 -0
- data/test/testcases/span/text_substitutions/entities_symbolic.options +1 -0
- data/test/testcases/span/text_substitutions/entities_symbolic.text +1 -0
- data/test/testcases/span/text_substitutions/greaterthan.html +1 -0
- data/test/testcases/span/text_substitutions/greaterthan.text +1 -0
- data/test/testcases/span/text_substitutions/lowerthan.html +1 -0
- data/test/testcases/span/text_substitutions/lowerthan.text +1 -0
- data/test/testcases/span/text_substitutions/typography.html +40 -0
- data/test/testcases/span/text_substitutions/typography.options +1 -0
- data/test/testcases/span/text_substitutions/typography.text +40 -0
- data/test/testcases/span/text_substitutions/typography_subst.html +3 -0
- data/test/testcases/span/text_substitutions/typography_subst.latex +4 -0
- data/test/testcases/span/text_substitutions/typography_subst.options +8 -0
- data/test/testcases/span/text_substitutions/typography_subst.text +3 -0
- metadata +659 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 83a59600e0efd976e1715d693018b84135fb9c84e4103841ba0c6db8a003dc18
|
|
4
|
+
data.tar.gz: 81337032f36a19d99ece4eb63e7ddbffa6cb864a6b9ca7fbc0825af516f6d671
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: cb8b0b25927103fdff96d1946564b6c5968d07efe044545af7dd22fc2125fb55debd9a8cdc3f72ef210ccea8bf402c596e6d1c014b7b09232ec3abdadf60368a
|
|
7
|
+
data.tar.gz: d7820fa01c3966f44306234eb04935a55c9d12f435d6f5c44f6ef88cd595ce8b37ca999f093fc42e140c36ce5ab9511d9a437bf0bd48000b7ae03cb689861955
|
data/AUTHORS
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
The author of kramdown is Thomas Leitner <t_leitner@gmx.at>.
|
data/CONTRIBUTERS
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
Count Name
|
|
2
|
+
======= ====
|
|
3
|
+
943 Thomas Leitner <t_leitner@gmx.at>
|
|
4
|
+
18 Ashwin Maroli <ashmaroli@gmail.com>
|
|
5
|
+
7 Christian Cornelssen <ccorn@1tein.de>
|
|
6
|
+
6 Gioele Barabucci <gioele@svario.it>
|
|
7
|
+
5 Gleb Mazovetskiy <glex.spb@gmail.com>
|
|
8
|
+
4 Ted Pak <powerpak006@gmail.com>
|
|
9
|
+
4 Shuanglei Tao <tsl0922@gmail.com>
|
|
10
|
+
4 Dan Allen <dan.j.allen@gmail.com>
|
|
11
|
+
4 Arne Brasseur <arne@arnebrasseur.net>
|
|
12
|
+
3 gettalong <t_leitner@gmx.at>
|
|
13
|
+
3 Henning Perl <perl@fast-sicher.de>
|
|
14
|
+
3 Brandur <brandur@mutelight.org>
|
|
15
|
+
3 Ben Armston <ben.armston@googlemail.com>
|
|
16
|
+
3 Ashwin Maroli <ashmaroli@users.noreply.github.com>
|
|
17
|
+
3 Alex Marandon <contact@alexmarandon.com>
|
|
18
|
+
2 Tom Thorogood <me+github@tomthorogood.co.uk>
|
|
19
|
+
2 Parker Moore <parkrmoore@gmail.com>
|
|
20
|
+
2 Nathanael Jones <nathanael.jones@gmail.com>
|
|
21
|
+
2 Max Meyer <dev@fedux.org>
|
|
22
|
+
2 Jo Hund <jhund@clearcove.ca>
|
|
23
|
+
2 Bran <m.versum@gmail.com>
|
|
24
|
+
1 winniehell <git@winniehell.de>
|
|
25
|
+
1 utenmiki <utenmiki@gmail.com>
|
|
26
|
+
1 tomykaira <tomykaira@gmail.com>
|
|
27
|
+
1 tom93 <tomlevy93@gmail.com>
|
|
28
|
+
1 scherr <maximilianscherr@gmail.com>
|
|
29
|
+
1 myqlarson <myqlarson@gmail.com>
|
|
30
|
+
1 milo.simpson <milo.simpson@bazaarvoice.com>
|
|
31
|
+
1 l3kn <hello@l3kn.de>
|
|
32
|
+
1 William <suttonwilliamd@gmail.com>
|
|
33
|
+
1 Uwe Kubosch <donv@users.noreply.github.com>
|
|
34
|
+
1 Trevor Wennblom <trevor@well.com>
|
|
35
|
+
1 Tim Blair <tim@bla.ir>
|
|
36
|
+
1 Tim Besard <tim.besard@gmail.com>
|
|
37
|
+
1 Tim Bates <tim@rumpuslabs.com>
|
|
38
|
+
1 Sun Yaozhu <yzyzsun@gmail.com>
|
|
39
|
+
1 Stephen Crosby <stevecrozz@gmail.com>
|
|
40
|
+
1 Stephen <stephengroat@users.noreply.github.com>
|
|
41
|
+
1 Simon Lydell <simon.lydell@gmail.com>
|
|
42
|
+
1 Simon Coffey <simon.coffey@futurelearn.com>
|
|
43
|
+
1 Shusaku NAKAZATO <cu393uc@gmail.com>
|
|
44
|
+
1 Sebastian Boehm <sebastian@sometimesfood.org>
|
|
45
|
+
1 Postmodern <postmodern.mod3@gmail.com>
|
|
46
|
+
1 Pete Michaud <michaudp@gmail.com>
|
|
47
|
+
1 Noah Doersing <doersino@gmail.com>
|
|
48
|
+
1 Michal Till <michal.till@gmail.com>
|
|
49
|
+
1 Maxime Kjaer <maxime.kjaer@gmail.com>
|
|
50
|
+
1 Matt Hickford <matt.hickford@gmail.com>
|
|
51
|
+
1 Martyn Chamberlin <martyn@perfectioncoding.com>
|
|
52
|
+
1 Marek Tuchowski <marek@tuchowski.com.pl>
|
|
53
|
+
1 Marcus Stollsteimer <sto.mar@web.de>
|
|
54
|
+
1 Luca Barbato <luca.barbato@gmail.com>
|
|
55
|
+
1 Kir Kolyshkin <kolyshkin@gmail.com>
|
|
56
|
+
1 Jun Aruga <jaruga@redhat.com>
|
|
57
|
+
1 Jonathan Hooper <jonathan.hooper@gsa.gov>
|
|
58
|
+
1 John Croisant <jacius@gmail.com>
|
|
59
|
+
1 Joe Fiorini <joe@faithfulgeek.org>
|
|
60
|
+
1 Jens Kraemer <jk@jkraemer.net>
|
|
61
|
+
1 Hirofumi Wakasugi <baenej@gmail.com>
|
|
62
|
+
1 Hector Correa <hector@hectorcorrea.com>
|
|
63
|
+
1 Florian Klampfer <f.klampfer@gmail.com>
|
|
64
|
+
1 Floreal Morandat florealm@gmail.com <florealm@gmail.com>
|
|
65
|
+
1 Fangyi Zhou <me@fangyi.io>
|
|
66
|
+
1 Diego Galeota <diegobg123@gmail.com>
|
|
67
|
+
1 David Rodríguez <deivid.rodriguez@riseup.net>
|
|
68
|
+
1 Damien Pollet <damien.pollet@gmail.com>
|
|
69
|
+
1 Cédric Boutillier <cedric.boutillier@gmail.com>
|
|
70
|
+
1 Christopher Jefferson <caj21@st-andrews.ac.uk>
|
|
71
|
+
1 Bob Lail <lail@squareup.com>
|
|
72
|
+
1 Ashe Connor <ashe@kivikakk.ee>
|
|
73
|
+
1 Antoine Cotten <hello@acotten.com>
|
|
74
|
+
1 Andrew <andrew.dale.wylie@gmail.com>
|
|
75
|
+
1 Alpha Chen <alpha.chen@gmail.com>
|
|
76
|
+
1 Alexey Vasiliev <le0pard@users.noreply.github.com>
|
|
77
|
+
1 Alex Tomlins <alex.tomlins@digital.cabinet-office.gov.uk>
|
|
78
|
+
1 284km <k.furuhashi10@gmail.com>
|
data/COPYING
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
kramdown - fast, pure-Ruby Markdown-superset converter
|
|
2
|
+
Copyright (C) 2009-2013 Thomas Leitner <t_leitner@gmx.at>
|
|
3
|
+
|
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a
|
|
5
|
+
copy of this software and associated documentation files (the
|
|
6
|
+
"Software"), to deal in the Software without restriction, including
|
|
7
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
8
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
9
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
10
|
+
the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included
|
|
13
|
+
in all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
16
|
+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
17
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
18
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
19
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
20
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
21
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
Some test cases and the benchmark files are based on test cases from
|
|
25
|
+
the MDTest test suite:
|
|
26
|
+
|
|
27
|
+
MDTest
|
|
28
|
+
Copyright (c) 2007 Michel Fortin
|
|
29
|
+
<http://www.michelf.com/>
|
|
30
|
+
|
data/README.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# kramdown
|
|
2
|
+
|
|
3
|
+
## Readme first!
|
|
4
|
+
|
|
5
|
+
kramdown was originally licensed under the GPL until the 1.0.0 release. However, due to the many
|
|
6
|
+
requests it is now released under the MIT license and therefore can easily be used in commercial
|
|
7
|
+
projects, too.
|
|
8
|
+
|
|
9
|
+
However, if you use kramdown in a commercial setting, please consider **contributing back any
|
|
10
|
+
changes** for the benefit of the community and/or
|
|
11
|
+
[**becoming a patron**](https://www.patreon.com/gettalong) - thanks!
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## Introduction
|
|
15
|
+
|
|
16
|
+
kramdown is a fast, pure Ruby Markdown superset converter, using a strict syntax definition and
|
|
17
|
+
supporting several common extensions.
|
|
18
|
+
|
|
19
|
+
The syntax definition for the kramdown syntax can be found in **doc/syntax.page** (or online at
|
|
20
|
+
<http://kramdown.gettalong.org/syntax.html>) and a quick reference is available in
|
|
21
|
+
**doc/quickref.page** or online at <http://kramdown.gettalong.org/quickref.html>.
|
|
22
|
+
|
|
23
|
+
The kramdown library is mainly written to support the kramdown-to-HTML conversion chain. However,
|
|
24
|
+
due to its flexibility (by creating an internal AST) it supports other input and output formats as
|
|
25
|
+
well. Here is a list of the supported formats:
|
|
26
|
+
|
|
27
|
+
* input formats: kramdown (a Markdown superset), Markdown, GFM, HTML
|
|
28
|
+
* output formats: HTML, kramdown, LaTeX (and therefore PDF), PDF via Prawn
|
|
29
|
+
|
|
30
|
+
All the documentation on the available input and output formats is available in the **doc/**
|
|
31
|
+
directory and online at <http://kramdown.gettalong.org>.
|
|
32
|
+
|
|
33
|
+
Starting from version 1.0.0 kramdown is using a versioning scheme with major, minor and patch parts
|
|
34
|
+
in the version number where the major number changes on backwards-incompatible changes, the minor
|
|
35
|
+
number on the introduction of new features and the patch number on everything else.
|
|
36
|
+
|
|
37
|
+
For information about changes between versions, have a look at
|
|
38
|
+
<http://kramdown.gettalong.org/news.html> or the commit history!
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## Usage
|
|
42
|
+
|
|
43
|
+
kramdown has a very simple API, so using kramdown is as easy as
|
|
44
|
+
|
|
45
|
+
```ruby
|
|
46
|
+
require 'kramdown'
|
|
47
|
+
|
|
48
|
+
Kramdown::Document.new(text).to_html
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
For detailed information have a look at the API documentation of the `Kramdown::Document` class.
|
|
52
|
+
|
|
53
|
+
The full API documentation is available at <http://kramdown.gettalong.org/rdoc/>, other sites with an
|
|
54
|
+
API documentation for kramdown probably don't provide the complete documentation!
|
|
55
|
+
|
|
56
|
+
There are also some third-party libraries that extend the functionality of kramdown -- see the
|
|
57
|
+
kramdown Wiki at <https://github.com/gettalong/kramdown/wiki>.
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
## Development
|
|
61
|
+
|
|
62
|
+
Just clone the git repository as described in **doc/installation.page** and you are good to go. You
|
|
63
|
+
probably want to install `rake` so that you can use the provided rake tasks.
|
|
64
|
+
|
|
65
|
+
If you want to run the tests, the development dependencies are needed as well as some additional
|
|
66
|
+
programs like `tidy` and `latex`. See the `.travis.yml` file for more information.
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
## License
|
|
70
|
+
|
|
71
|
+
MIT - see the **COPYING** file.
|
data/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.3.0
|
data/bin/daqing_kramdown
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
#
|
|
4
|
+
#--
|
|
5
|
+
# Copyright (C) 2009-2019 Thomas Leitner <t_leitner@gmx.at>
|
|
6
|
+
#
|
|
7
|
+
# This file is part of kramdown which is licensed under the MIT.
|
|
8
|
+
#++
|
|
9
|
+
#
|
|
10
|
+
|
|
11
|
+
require 'optparse'
|
|
12
|
+
require 'rbconfig'
|
|
13
|
+
require 'yaml'
|
|
14
|
+
require 'kramdown'
|
|
15
|
+
|
|
16
|
+
def add_kramdown_options(opts, parsed_options, banner: [], ignore: [])
|
|
17
|
+
banner_shown = false
|
|
18
|
+
defined_options = []
|
|
19
|
+
Kramdown::Options.definitions.sort.each do |n, definition|
|
|
20
|
+
next if ignore.include?(n)
|
|
21
|
+
|
|
22
|
+
unless banner_shown
|
|
23
|
+
opts.separator("")
|
|
24
|
+
banner.each {|part| opts.separator(part) }
|
|
25
|
+
opts.separator("")
|
|
26
|
+
banner_shown = true
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
defined_options << n
|
|
30
|
+
no = n.to_s.tr('_', '-')
|
|
31
|
+
if definition.type == Kramdown::Options::Boolean
|
|
32
|
+
opts.on("--[no-]#{no}") {|v| parsed_options[n] = Kramdown::Options.parse(n, v) }
|
|
33
|
+
else
|
|
34
|
+
type = definition.type
|
|
35
|
+
type = String if type == Symbol || type == Object
|
|
36
|
+
opts.on("--#{no} ARG", type) {|v| parsed_options[n] = Kramdown::Options.parse(n, v) }
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
definition.desc.split(/\n/).each do |line|
|
|
40
|
+
opts.separator opts.summary_indent + ' ' * 6 + line
|
|
41
|
+
end
|
|
42
|
+
opts.separator ''
|
|
43
|
+
end
|
|
44
|
+
defined_options
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
config_file = nil
|
|
48
|
+
begin
|
|
49
|
+
config_dir = case RbConfig::CONFIG['host_os']
|
|
50
|
+
when /bccwin|cygwin|djgpp|mingw|mswin|wince/i
|
|
51
|
+
File.expand_path((ENV['HOME'] || ENV['USERPROFILE'] || "~") + "/AppData/Local")
|
|
52
|
+
when /darwin|mac os/
|
|
53
|
+
File.expand_path("~/Library/Preferences/")
|
|
54
|
+
else
|
|
55
|
+
File.expand_path(ENV['XDG_CONFIG_HOME'] || '~/.config')
|
|
56
|
+
end
|
|
57
|
+
config_file = File.join(config_dir, "kramdownrc")
|
|
58
|
+
rescue StandardError
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
options = {}
|
|
62
|
+
format = ['html']
|
|
63
|
+
|
|
64
|
+
defined_options = []
|
|
65
|
+
OptionParser.new do |opts|
|
|
66
|
+
opts.banner = "Usage: kramdown [options] [FILE FILE ...]"
|
|
67
|
+
opts.summary_indent = ' ' * 4
|
|
68
|
+
|
|
69
|
+
opts.separator ""
|
|
70
|
+
opts.separator "Command line options:"
|
|
71
|
+
opts.separator ""
|
|
72
|
+
|
|
73
|
+
opts.on("-i", "--input ARG", "Specify the input format: kramdown (default), " \
|
|
74
|
+
"html, or markdown") {|v| options[:input] = v }
|
|
75
|
+
opts.on("-o", "--output ARG", Array, "Specify one or more output formats separated by commas: " \
|
|
76
|
+
"html (default),", "kramdown, latex, man or remove_html_tags") {|v| format = v }
|
|
77
|
+
opts.on("-x", "--extension EXT", Array, "Load one or more extensions (without the 'kramdown-' " \
|
|
78
|
+
"prefix) separated", "by commas (e.g. parser-gfm,syntax-coderay)",
|
|
79
|
+
"Note: Use this option before other options!") do |exts|
|
|
80
|
+
exts.each do |ext|
|
|
81
|
+
begin
|
|
82
|
+
require "kramdown-#{ext}"
|
|
83
|
+
new_options = add_kramdown_options(opts, options, banner: ["#{ext} options:"],
|
|
84
|
+
ignore: defined_options)
|
|
85
|
+
defined_options.concat(new_options)
|
|
86
|
+
rescue LoadError
|
|
87
|
+
$stderr.puts "Couldn't load extension #{ext}, ignoring"
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
opts.separator ""
|
|
92
|
+
opts.on("--no-config-file", "Do not read any configuration file. Default behavior is to check " \
|
|
93
|
+
"for a", "configuration file and read it if it exists.") { config_file = nil }
|
|
94
|
+
opts.on("--config-file FILE", "Specify the name of a configuration file with kramdown options " \
|
|
95
|
+
"in YAML", "format, e.g. \"auto_id_prefix: ARG\" instead of \"--auto-id-prefix ARG\"",
|
|
96
|
+
"and \"auto_ids: false\" instead of \"--no-auto-ids\".",
|
|
97
|
+
"Default: #{config_file}") {|v| config_file = v }
|
|
98
|
+
opts.separator ""
|
|
99
|
+
opts.on("-v", "--version", "Show the version of kramdown") do
|
|
100
|
+
puts Kramdown::VERSION
|
|
101
|
+
exit
|
|
102
|
+
end
|
|
103
|
+
opts.on("-h", "--help", "Show the help") do
|
|
104
|
+
puts opts.summarize('', 5, 72)
|
|
105
|
+
exit
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
new_options = add_kramdown_options(opts, options, banner: ["kramdown options:"])
|
|
109
|
+
defined_options.concat(new_options)
|
|
110
|
+
end.parse!
|
|
111
|
+
|
|
112
|
+
begin
|
|
113
|
+
if config_file && File.exist?(config_file)
|
|
114
|
+
config_file_options = YAML.safe_load(File.read(config_file), [Symbol])
|
|
115
|
+
case config_file_options
|
|
116
|
+
when nil # empty configuration file except perhaps YAML header and comments
|
|
117
|
+
# Nothing to do
|
|
118
|
+
when Hash
|
|
119
|
+
options = config_file_options.merge(options)
|
|
120
|
+
else
|
|
121
|
+
raise Kramdown::Error, "No YAML map in configuration file \"#{config_file}\""
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
doc = Kramdown::Document.new(ARGF.read, options)
|
|
125
|
+
result = ''
|
|
126
|
+
format.each {|f| result = doc.send("to_#{f}") }
|
|
127
|
+
puts result
|
|
128
|
+
doc.warnings.each {|warn| $stderr.puts "Warning: #{warn}" }
|
|
129
|
+
rescue Kramdown::Error => e
|
|
130
|
+
$stderr.puts "Error: #{e.message}"
|
|
131
|
+
exit(1)
|
|
132
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<% if @converter.root.options[:encoding] %>
|
|
5
|
+
<meta http-equiv="Content-type" content="text/html;charset=<%= @converter.root.options[:encoding] %>">
|
|
6
|
+
<% end %>
|
|
7
|
+
<%
|
|
8
|
+
extend ::Kramdown::Utils::Html
|
|
9
|
+
title = ''
|
|
10
|
+
h = @converter.root.children.find {|c| c.type == :header}
|
|
11
|
+
if h
|
|
12
|
+
collector = lambda {|c| c.children.collect {|cc| cc.type == :text ? escape_html(cc.value, :text) : collector.call(cc)}.join('')}
|
|
13
|
+
title = collector.call(h)
|
|
14
|
+
end
|
|
15
|
+
%>
|
|
16
|
+
<title><%= title %></title>
|
|
17
|
+
<meta name="generator" content="kramdown <%= ::Kramdown::VERSION %>" />
|
|
18
|
+
</head>
|
|
19
|
+
<body>
|
|
20
|
+
<%= @body %>
|
|
21
|
+
</body>
|
|
22
|
+
</html>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<%
|
|
2
|
+
encmap = {
|
|
3
|
+
'UTF-8' => 'utf8x',
|
|
4
|
+
'US-ASCII' => 'ascii',
|
|
5
|
+
'ISO-8859-1' => 'latin1',
|
|
6
|
+
'ISO-8859-2' => 'latin2',
|
|
7
|
+
'ISO-8859-3' => 'latin3',
|
|
8
|
+
'ISO-8859-4' => 'latin4',
|
|
9
|
+
'ISO-8859-5' => 'latin5',
|
|
10
|
+
'ISO-8859-9' => 'latin9',
|
|
11
|
+
'ISO-8859-10' => 'latin10',
|
|
12
|
+
'CP850' => 'cp850',
|
|
13
|
+
'CP852' => 'cp852',
|
|
14
|
+
'CP858' => 'cp858',
|
|
15
|
+
'CP437' => 'cp437',
|
|
16
|
+
'CP865' => 'cp865',
|
|
17
|
+
'CP1250' => 'cp120',
|
|
18
|
+
'CP1252' => 'cp1252',
|
|
19
|
+
'CP1257' => 'cp1257'
|
|
20
|
+
}
|
|
21
|
+
%>
|
|
22
|
+
\documentclass{scrartcl}
|
|
23
|
+
<% if RUBY_VERSION >= '1.9' %>
|
|
24
|
+
\usepackage[<%= encmap[@body.encoding.name] %>]{inputenc}
|
|
25
|
+
<% else %>
|
|
26
|
+
\usepackage[mathletters]{ucs}
|
|
27
|
+
\usepackage[utf8x]{inputenc}
|
|
28
|
+
<% end %>
|
|
29
|
+
\usepackage[T1]{fontenc}
|
|
30
|
+
\usepackage{listings}
|
|
31
|
+
<% @converter.data[:packages].each {|pkg| %>\usepackage{<%= pkg %>}
|
|
32
|
+
<% } %>
|
|
33
|
+
\usepackage{hyperref}
|
|
34
|
+
|
|
35
|
+
<% if @converter.data[:packages].include?('fancyvrb') %>
|
|
36
|
+
\VerbatimFootnotes
|
|
37
|
+
<% end %>
|
|
38
|
+
|
|
39
|
+
<% if @converter.data[:packages].include?('acronym') %>
|
|
40
|
+
<% @converter.root.options[:abbrev_defs].each_pair do |k,v| %>\acrodef{<%= @converter.normalize_abbreviation_key(k) %>}[<%= k %>]{<%= @converter.escape(v) %>}
|
|
41
|
+
<% end %>
|
|
42
|
+
<% end %>
|
|
43
|
+
|
|
44
|
+
\setcounter{footnote}{<%= @converter.options[:footnote_nr] - 1 %>}
|
|
45
|
+
|
|
46
|
+
\hypersetup{colorlinks=true,urlcolor=blue}
|
|
47
|
+
|
|
48
|
+
\begin{document}
|
|
49
|
+
<%= @body %>
|
|
50
|
+
\end{document}
|
data/lib/kramdown.rb
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# -*- coding: utf-8; frozen_string_literal: true -*-
|
|
2
|
+
#
|
|
3
|
+
#--
|
|
4
|
+
# Copyright (C) 2009-2019 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/utils'
|
|
11
|
+
|
|
12
|
+
module Kramdown
|
|
13
|
+
|
|
14
|
+
# This module contains all available converters, i.e. classes that take a root Element and convert
|
|
15
|
+
# it to a specific output format. The result is normally a string. For example, the
|
|
16
|
+
# Converter::Html module converts an element tree into valid HTML.
|
|
17
|
+
#
|
|
18
|
+
# Converters use the Base class for common functionality (like applying a template to the output)
|
|
19
|
+
# \- see its API documentation for how to create a custom converter class.
|
|
20
|
+
module Converter
|
|
21
|
+
|
|
22
|
+
autoload :Base, 'kramdown/converter/base'
|
|
23
|
+
autoload :Html, 'kramdown/converter/html'
|
|
24
|
+
autoload :Latex, 'kramdown/converter/latex'
|
|
25
|
+
autoload :Kramdown, 'kramdown/converter/kramdown'
|
|
26
|
+
autoload :Toc, 'kramdown/converter/toc'
|
|
27
|
+
autoload :RemoveHtmlTags, 'kramdown/converter/remove_html_tags'
|
|
28
|
+
autoload :HashAST, 'kramdown/converter/hash_ast'
|
|
29
|
+
autoload :HashAst, 'kramdown/converter/hash_ast'
|
|
30
|
+
autoload :Man, 'kramdown/converter/man'
|
|
31
|
+
|
|
32
|
+
extend ::Kramdown::Utils::Configurable
|
|
33
|
+
|
|
34
|
+
configurable(:syntax_highlighter)
|
|
35
|
+
|
|
36
|
+
['Minted', "Rouge"].each do |klass_name|
|
|
37
|
+
kn_down = klass_name.downcase.intern
|
|
38
|
+
add_syntax_highlighter(kn_down) do |converter, text, lang, type, opts|
|
|
39
|
+
require "kramdown/converter/syntax_highlighter/#{kn_down}"
|
|
40
|
+
klass = ::Kramdown::Utils.deep_const_get("::Kramdown::Converter::SyntaxHighlighter::#{klass_name}")
|
|
41
|
+
if !klass.const_defined?(:AVAILABLE) || klass::AVAILABLE
|
|
42
|
+
add_syntax_highlighter(kn_down, klass)
|
|
43
|
+
else
|
|
44
|
+
add_syntax_highlighter(kn_down) { nil }
|
|
45
|
+
end
|
|
46
|
+
syntax_highlighter(kn_down).call(converter, text, lang, type, opts)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
configurable(:math_engine)
|
|
51
|
+
|
|
52
|
+
["Mathjax"].each do |klass_name|
|
|
53
|
+
kn_down = klass_name.downcase.intern
|
|
54
|
+
add_math_engine(kn_down) do |converter, el, opts|
|
|
55
|
+
require "kramdown/converter/math_engine/#{kn_down}"
|
|
56
|
+
klass = ::Kramdown::Utils.deep_const_get("::Kramdown::Converter::MathEngine::#{klass_name}")
|
|
57
|
+
if !klass.const_defined?(:AVAILABLE) || klass::AVAILABLE
|
|
58
|
+
add_math_engine(kn_down, klass)
|
|
59
|
+
else
|
|
60
|
+
add_math_engine(kn_down) { nil }
|
|
61
|
+
end
|
|
62
|
+
math_engine(kn_down).call(converter, el, opts)
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
end
|