newstile 1.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.
- data/AUTHORS +1 -0
- data/CONTRIBUTERS +6 -0
- data/COPYING +24 -0
- data/ChangeLog +5489 -0
- data/GPL +674 -0
- data/README +31 -0
- data/Rakefile +342 -0
- data/VERSION +1 -0
- data/benchmark/benchmark.rb +34 -0
- data/benchmark/generate_data.rb +112 -0
- data/benchmark/historic-jruby-1.4.0.dat +7 -0
- data/benchmark/historic-ruby-1.8.6.dat +7 -0
- data/benchmark/historic-ruby-1.8.7.dat +7 -0
- data/benchmark/historic-ruby-1.9.1p243.dat +7 -0
- data/benchmark/historic-ruby-1.9.2dev.dat +7 -0
- data/benchmark/mdbasics.text +306 -0
- data/benchmark/mdsyntax.text +888 -0
- data/benchmark/static-jruby-1.4.0.dat +7 -0
- data/benchmark/static-ruby-1.8.6.dat +7 -0
- data/benchmark/static-ruby-1.8.7.dat +7 -0
- data/benchmark/static-ruby-1.9.1p243.dat +7 -0
- data/benchmark/static-ruby-1.9.2dev.dat +7 -0
- data/benchmark/testing.sh +9 -0
- data/benchmark/timing.sh +10 -0
- data/bin/newstile +82 -0
- data/data/newstile/document.html +18 -0
- data/data/newstile/document.latex +43 -0
- data/doc/default.scss.css +519 -0
- data/doc/default.template +80 -0
- data/doc/documentation.page +72 -0
- data/doc/index.page +96 -0
- data/doc/installation.page +90 -0
- data/doc/links.markdown +6 -0
- data/doc/news.feed +10 -0
- data/doc/news.page +28 -0
- data/doc/quickref.page +564 -0
- data/doc/syntax.page +1615 -0
- data/doc/tests.page +51 -0
- data/doc/virtual +2 -0
- data/lib/newstile.rb +23 -0
- data/lib/newstile/compatibility.rb +34 -0
- data/lib/newstile/converter.rb +43 -0
- data/lib/newstile/converter/base.rb +111 -0
- data/lib/newstile/converter/html.rb +405 -0
- data/lib/newstile/converter/latex.rb +577 -0
- data/lib/newstile/converter/markdown.rb +426 -0
- data/lib/newstile/converter/newstile.rb +426 -0
- data/lib/newstile/document.rb +168 -0
- data/lib/newstile/error.rb +27 -0
- data/lib/newstile/options.rb +296 -0
- data/lib/newstile/parser.rb +39 -0
- data/lib/newstile/parser/base.rb +94 -0
- data/lib/newstile/parser/html.rb +499 -0
- data/lib/newstile/parser/newstile.rb +325 -0
- data/lib/newstile/parser/newstile/abbreviation.rb +66 -0
- data/lib/newstile/parser/newstile/attribute_list.rb +111 -0
- data/lib/newstile/parser/newstile/autolink.rb +54 -0
- data/lib/newstile/parser/newstile/blank_line.rb +43 -0
- data/lib/newstile/parser/newstile/block_boundary.rb +46 -0
- data/lib/newstile/parser/newstile/blockquote.rb +63 -0
- data/lib/newstile/parser/newstile/codeblock.rb +60 -0
- data/lib/newstile/parser/newstile/codespan.rb +57 -0
- data/lib/newstile/parser/newstile/emphasis.rb +70 -0
- data/lib/newstile/parser/newstile/eob.rb +39 -0
- data/lib/newstile/parser/newstile/escaped_chars.rb +38 -0
- data/lib/newstile/parser/newstile/extension.rb +116 -0
- data/lib/newstile/parser/newstile/footnote.rb +74 -0
- data/lib/newstile/parser/newstile/header.rb +84 -0
- data/lib/newstile/parser/newstile/horizontal_rule.rb +39 -0
- data/lib/newstile/parser/newstile/html.rb +175 -0
- data/lib/newstile/parser/newstile/html_entity.rb +39 -0
- data/lib/newstile/parser/newstile/line_break.rb +38 -0
- data/lib/newstile/parser/newstile/link.rb +177 -0
- data/lib/newstile/parser/newstile/list.rb +239 -0
- data/lib/newstile/parser/newstile/math.rb +64 -0
- data/lib/newstile/parser/newstile/paragraph.rb +55 -0
- data/lib/newstile/parser/newstile/smart_quotes.rb +214 -0
- data/lib/newstile/parser/newstile/table.rb +134 -0
- data/lib/newstile/parser/newstile/typographic_symbol.rb +54 -0
- data/lib/newstile/utils.rb +37 -0
- data/lib/newstile/utils/entities.rb +336 -0
- data/lib/newstile/utils/html.rb +75 -0
- data/lib/newstile/utils/ordered_hash.rb +79 -0
- data/lib/newstile/version.rb +28 -0
- data/man/man1/newstile.1 +246 -0
- data/setup.rb +1585 -0
- data/test/run_tests.rb +59 -0
- data/test/test_files.rb +162 -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.text +19 -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/two_para.html +4 -0
- data/test/testcases/block/03_paragraph/two_para.text +4 -0
- data/test/testcases/block/04_header/atx_header.html +37 -0
- data/test/testcases/block/04_header/atx_header.text +34 -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/setext_header.html +30 -0
- data/test/testcases/block/04_header/setext_header.html.19 +30 -0
- data/test/testcases/block/04_header/setext_header.text +36 -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_ids.html +17 -0
- data/test/testcases/block/04_header/with_auto_ids.options +1 -0
- data/test/testcases/block/04_header/with_auto_ids.text +19 -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/with_code_blocks.html +15 -0
- data/test/testcases/block/05_blockquote/with_code_blocks.text +11 -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/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/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/07_horizontal_rule/error.html +7 -0
- data/test/testcases/block/07_horizontal_rule/error.html.19 +7 -0
- data/test/testcases/block/07_horizontal_rule/error.text +7 -0
- data/test/testcases/block/07_horizontal_rule/normal.html +17 -0
- data/test/testcases/block/07_horizontal_rule/normal.text +17 -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/escaping.html +17 -0
- data/test/testcases/block/08_list/escaping.text +17 -0
- data/test/testcases/block/08_list/item_ial.html +7 -0
- data/test/testcases/block/08_list/item_ial.text +5 -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/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 +55 -0
- data/test/testcases/block/08_list/special_cases.text +35 -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/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_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 +3 -0
- data/test/testcases/block/09_html/html_to_native/emphasis.text +3 -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 +14 -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 +48 -0
- data/test/testcases/block/09_html/html_to_native/table_simple.text +56 -0
- data/test/testcases/block/09_html/html_to_native/typography.html +1 -0
- data/test/testcases/block/09_html/html_to_native/typography.html.19 +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 +30 -0
- data/test/testcases/block/09_html/parse_as_raw.options +1 -0
- data/test/testcases/block/09_html/parse_as_raw.text +29 -0
- data/test/testcases/block/09_html/parse_as_span.html +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 +13 -0
- data/test/testcases/block/09_html/processing_instruction.text +12 -0
- data/test/testcases/block/09_html/simple.html +64 -0
- data/test/testcases/block/09_html/simple.html.19 +64 -0
- data/test/testcases/block/09_html/simple.options +1 -0
- data/test/testcases/block/09_html/simple.text +59 -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/simple.html +25 -0
- data/test/testcases/block/11_ial/simple.text +34 -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 +21 -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 +7 -0
- data/test/testcases/block/12_extension/options3.text +7 -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/item_ial.html +12 -0
- data/test/testcases/block/13_definition_list/item_ial.text +8 -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 +8 -0
- data/test/testcases/block/13_definition_list/simple.text +7 -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/errors.html +8 -0
- data/test/testcases/block/14_table/errors.text +9 -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 +103 -0
- data/test/testcases/block/14_table/header.text +32 -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 +139 -0
- data/test/testcases/block/14_table/simple.text +38 -0
- data/test/testcases/block/15_math/normal.html +26 -0
- data/test/testcases/block/15_math/normal.text +28 -0
- data/test/testcases/block/16_toc/no_toc_depth.html +33 -0
- data/test/testcases/block/16_toc/no_toc_depth.options +1 -0
- data/test/testcases/block/16_toc/no_toc_depth.text +16 -0
- data/test/testcases/block/16_toc/toc_depth_2.html +24 -0
- data/test/testcases/block/16_toc/toc_depth_2.options +1 -0
- data/test/testcases/block/16_toc/toc_depth_2.text +16 -0
- data/test/testcases/encoding.html +46 -0
- data/test/testcases/encoding.text +28 -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/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 +14 -0
- data/test/testcases/span/01_link/imagelinks.text +16 -0
- data/test/testcases/span/01_link/inline.html +46 -0
- data/test/testcases/span/01_link/inline.html.19 +46 -0
- data/test/testcases/span/01_link/inline.text +48 -0
- data/test/testcases/span/01_link/link_defs.html +9 -0
- data/test/testcases/span/01_link/link_defs.text +26 -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 +35 -0
- data/test/testcases/span/01_link/reference.html.19 +35 -0
- data/test/testcases/span/01_link/reference.text +47 -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 +38 -0
- data/test/testcases/span/02_emphasis/nesting.text +33 -0
- data/test/testcases/span/02_emphasis/normal.html +46 -0
- data/test/testcases/span/02_emphasis/normal.text +46 -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.html +1 -0
- data/test/testcases/span/03_codespan/highlighting.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/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/markers.html +46 -0
- data/test/testcases/span/04_footnote/markers.latex +23 -0
- data/test/testcases/span/04_footnote/markers.text +26 -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/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/markdown_attr.html +6 -0
- data/test/testcases/span/05_html/markdown_attr.text +6 -0
- data/test/testcases/span/05_html/normal.html +30 -0
- data/test/testcases/span/05_html/normal.text +30 -0
- data/test/testcases/span/abbreviations/abbrev.html +8 -0
- data/test/testcases/span/abbreviations/abbrev.text +15 -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/autolinks/url_links.html +12 -0
- data/test/testcases/span/autolinks/url_links.text +12 -0
- data/test/testcases/span/escaped_chars/normal.html +43 -0
- data/test/testcases/span/escaped_chars/normal.text +43 -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/normal.html +5 -0
- data/test/testcases/span/math/normal.text +5 -0
- data/test/testcases/span/text_substitutions/entities.html +4 -0
- data/test/testcases/span/text_substitutions/entities.options +1 -0
- data/test/testcases/span/text_substitutions/entities.text +4 -0
- data/test/testcases/span/text_substitutions/entities_as_char.html +1 -0
- data/test/testcases/span/text_substitutions/entities_as_char.html.19 +1 -0
- data/test/testcases/span/text_substitutions/entities_as_char.options +1 -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 +18 -0
- data/test/testcases/span/text_substitutions/typography.html.19 +18 -0
- data/test/testcases/span/text_substitutions/typography.text +18 -0
- metadata +476 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
#--
|
|
4
|
+
# Copyright (C) 2009-2010 Thomas Leitner <t_leitner@gmx.at>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of newstile.
|
|
7
|
+
#
|
|
8
|
+
# newstile is free software: you can redistribute it and/or modify
|
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
|
10
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
11
|
+
# (at your option) any later version.
|
|
12
|
+
#
|
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
+
# GNU General Public License for more details.
|
|
17
|
+
#
|
|
18
|
+
# You should have received a copy of the GNU General Public License
|
|
19
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
+
#++
|
|
21
|
+
#
|
|
22
|
+
|
|
23
|
+
require 'newstile/compatibility'
|
|
24
|
+
|
|
25
|
+
require 'newstile/version'
|
|
26
|
+
require 'newstile/error'
|
|
27
|
+
require 'newstile/parser'
|
|
28
|
+
require 'newstile/converter'
|
|
29
|
+
require 'newstile/options'
|
|
30
|
+
require 'newstile/utils'
|
|
31
|
+
|
|
32
|
+
module Newstile
|
|
33
|
+
|
|
34
|
+
# Return the data directory for newstile.
|
|
35
|
+
def self.data_dir
|
|
36
|
+
unless defined?(@@data_dir)
|
|
37
|
+
require 'rbconfig'
|
|
38
|
+
@@data_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'data', 'newstile'))
|
|
39
|
+
@@data_dir = File.expand_path(File.join(Config::CONFIG["datadir"], "newstile")) if !File.exists?(@@data_dir)
|
|
40
|
+
raise "newstile data directory not found! This is a bug, please report it!" unless File.directory?(@@data_dir)
|
|
41
|
+
end
|
|
42
|
+
@@data_dir
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
# The main interface to newstile.
|
|
47
|
+
#
|
|
48
|
+
# This class provides a one-stop-shop for using newstile to convert text into various output
|
|
49
|
+
# formats. Use it like this:
|
|
50
|
+
#
|
|
51
|
+
# require 'newstile'
|
|
52
|
+
# doc = Newstile::Document.new('This *is* some newstile text')
|
|
53
|
+
# puts doc.to_html
|
|
54
|
+
#
|
|
55
|
+
# The #to_html method is a shortcut for using the Converter::Html class.
|
|
56
|
+
#
|
|
57
|
+
# The second argument to the #new method is an options hash for customizing the behaviour of the
|
|
58
|
+
# used parser and the converter. See Document#new for more information!
|
|
59
|
+
class Document
|
|
60
|
+
|
|
61
|
+
# The element tree of the document. It is immediately available after the #new method has been
|
|
62
|
+
# called.
|
|
63
|
+
attr_accessor :tree
|
|
64
|
+
|
|
65
|
+
# The options hash which holds the options for parsing/converting the Newstile document. It is
|
|
66
|
+
# possible that these values get changed during the parsing phase.
|
|
67
|
+
attr_reader :options
|
|
68
|
+
|
|
69
|
+
# An array of warning messages. It is filled with warnings during the parsing phase (i.e. in
|
|
70
|
+
# #new) and the conversion phase.
|
|
71
|
+
attr_reader :warnings
|
|
72
|
+
|
|
73
|
+
# Holds needed parse information which is dependent on the used parser, like ALDs, link
|
|
74
|
+
# definitions and so on. This information may be used by converters afterwards.
|
|
75
|
+
attr_reader :parse_infos
|
|
76
|
+
|
|
77
|
+
# Holds conversion information which is dependent on the used converter. A converter clears this
|
|
78
|
+
# variable before doing the conversion.
|
|
79
|
+
attr_reader :conversion_infos
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
# Create a new Newstile document from the string +source+ and use the provided +options+. The
|
|
83
|
+
# options that can be used are defined in the Options module.
|
|
84
|
+
#
|
|
85
|
+
# The special options key <tt>:input</tt> can be used to select the parser that should parse the
|
|
86
|
+
# +source+. It has to be the name of a class in the Newstile::Parser module. For example, to
|
|
87
|
+
# select the newstile parser, one would set the <tt>:input</tt> key to +Newstile+. If this key
|
|
88
|
+
# is not set, it defaults to +Newstile+.
|
|
89
|
+
#
|
|
90
|
+
# The +source+ is immediately parsed by the selected parser so that the document tree is
|
|
91
|
+
# immediately available and the output can be generated.
|
|
92
|
+
def initialize(source, options = {})
|
|
93
|
+
@options = Options.merge(options)
|
|
94
|
+
@warnings = []
|
|
95
|
+
@parse_infos = {}
|
|
96
|
+
@parse_infos[:encoding] = source.encoding if RUBY_VERSION >= '1.9'
|
|
97
|
+
@conversion_infos = {}
|
|
98
|
+
parser = (options[:input] || 'newstile').to_s
|
|
99
|
+
parser = parser[0..0].upcase + parser[1..-1]
|
|
100
|
+
if Parser.const_defined?(parser)
|
|
101
|
+
@tree = Parser.const_get(parser).parse(source, self)
|
|
102
|
+
else
|
|
103
|
+
raise Newstile::Error.new("newstile has no parser to handle the specified input format: #{options[:input]}")
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Check if a method is invoked that begins with +to_+ and if so, try to instantiate a converter
|
|
108
|
+
# class (i.e. a class in the Newstile::Converter module) and use it for converting the document.
|
|
109
|
+
#
|
|
110
|
+
# For example, +to_html+ would instantiate the Newstile::Converter::Html class.
|
|
111
|
+
def method_missing(id, *attr, &block)
|
|
112
|
+
if id.to_s =~ /^to_(\w+)$/
|
|
113
|
+
Converter.const_get($1[0..0].upcase + $1[1..-1]).convert(self)
|
|
114
|
+
else
|
|
115
|
+
super
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
def inspect #:nodoc:
|
|
120
|
+
"<KD:Document: options=#{@options.inspect} tree=#{@tree.inspect} warnings=#{@warnings.inspect}>"
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
# Represents all elements in the parse tree.
|
|
127
|
+
#
|
|
128
|
+
# newstile only uses this one class for representing all available elements in a parse tree
|
|
129
|
+
# (paragraphs, headers, emphasis, ...). The type of element can be set via the #type accessor.
|
|
130
|
+
class Element
|
|
131
|
+
|
|
132
|
+
# A symbol representing the element type. For example, <tt>:p</tt> or <tt>:blockquote</tt>.
|
|
133
|
+
attr_accessor :type
|
|
134
|
+
|
|
135
|
+
# The value of the element. The interpretation of this field depends on the type of the element.
|
|
136
|
+
# Many elements don't use this field.
|
|
137
|
+
attr_accessor :value
|
|
138
|
+
|
|
139
|
+
# The attributes of the element. Uses an Utils::OrderedHash to retain the insertion order.
|
|
140
|
+
attr_reader :attr
|
|
141
|
+
|
|
142
|
+
# The options hash for the element. It is used for storing arbitray options as well as the
|
|
143
|
+
# following special contents:
|
|
144
|
+
#
|
|
145
|
+
# - Category of the element, either <tt>:block</tt> or <tt>:span</tt>, under the
|
|
146
|
+
# <tt>:category</tt> key. If this key is absent, it can be assumed that the element is in the
|
|
147
|
+
# <tt>:span</tt> category.
|
|
148
|
+
attr_accessor :options
|
|
149
|
+
|
|
150
|
+
# The child elements of this element.
|
|
151
|
+
attr_accessor :children
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
# Create a new Element object of type +type+. The optional parameters +value+, +attr+ and
|
|
155
|
+
# +options+ can also be set in this constructor for convenience.
|
|
156
|
+
def initialize(type, value = nil, attr = nil, options = {})
|
|
157
|
+
@type, @value, @attr, @options = type, value, Utils::OrderedHash.new(attr), options
|
|
158
|
+
@children = []
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
def inspect #:nodoc:
|
|
162
|
+
"<kd:#{@type}#{@value.nil? ? '' : ' ' + @value.inspect} #{@attr.inspect}#{options.empty? ? '' : ' ' + @options.inspect}#{@children.empty? ? '' : ' ' + @children.inspect}>"
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
end
|
|
168
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
#--
|
|
4
|
+
# Copyright (C) 2009-2010 Thomas Leitner <t_leitner@gmx.at>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of newstile.
|
|
7
|
+
#
|
|
8
|
+
# newstile is free software: you can redistribute it and/or modify
|
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
|
10
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
11
|
+
# (at your option) any later version.
|
|
12
|
+
#
|
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
+
# GNU General Public License for more details.
|
|
17
|
+
#
|
|
18
|
+
# You should have received a copy of the GNU General Public License
|
|
19
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
+
#++
|
|
21
|
+
#
|
|
22
|
+
|
|
23
|
+
module Newstile
|
|
24
|
+
|
|
25
|
+
class Error < RuntimeError; end
|
|
26
|
+
|
|
27
|
+
end
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
#--
|
|
4
|
+
# Copyright (C) 2009-2010 Thomas Leitner <t_leitner@gmx.at>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of newstile.
|
|
7
|
+
#
|
|
8
|
+
# newstile is free software: you can redistribute it and/or modify
|
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
|
10
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
11
|
+
# (at your option) any later version.
|
|
12
|
+
#
|
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
+
# GNU General Public License for more details.
|
|
17
|
+
#
|
|
18
|
+
# You should have received a copy of the GNU General Public License
|
|
19
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
+
#++
|
|
21
|
+
#
|
|
22
|
+
|
|
23
|
+
module Newstile
|
|
24
|
+
|
|
25
|
+
# This module defines all options that are used by parsers and/or converters as well as providing
|
|
26
|
+
# methods to deal with the options.
|
|
27
|
+
module Options
|
|
28
|
+
|
|
29
|
+
# Helper class introducing a boolean type for specifying boolean values (+true+ and +false+) as
|
|
30
|
+
# option types.
|
|
31
|
+
class Boolean
|
|
32
|
+
|
|
33
|
+
# Return +true+ if +other+ is either +true+ or +false+
|
|
34
|
+
def self.===(other)
|
|
35
|
+
FalseClass === other || TrueClass === other
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# ----------------------------
|
|
41
|
+
# :section: Option definitions
|
|
42
|
+
#
|
|
43
|
+
# This sections informs describes the methods that can be used on the Options module.
|
|
44
|
+
# ----------------------------
|
|
45
|
+
|
|
46
|
+
# Contains the definition of an option.
|
|
47
|
+
Definition = Struct.new(:name, :type, :default, :desc)
|
|
48
|
+
|
|
49
|
+
# Allowed option types.
|
|
50
|
+
ALLOWED_TYPES = [String, Integer, Float, Symbol, Boolean, Array, Object]
|
|
51
|
+
|
|
52
|
+
@options = {}
|
|
53
|
+
|
|
54
|
+
# Define a new option called +name+ (a Symbol) with the given +type+ (String, Integer, Float,
|
|
55
|
+
# Symbol, Boolean, Array, Object), default value +default+ and the description +desc+.
|
|
56
|
+
#
|
|
57
|
+
# The type 'Object' should only be used if none of the other types suffices because such an
|
|
58
|
+
# option will be opaque and cannot be used, for example, by CLI command!
|
|
59
|
+
def self.define(name, type, default, desc)
|
|
60
|
+
raise ArgumentError, "Option name #{name} is already used" if @options.has_key?(name)
|
|
61
|
+
raise ArgumentError, "Invalid option type #{type} specified" if !ALLOWED_TYPES.include?(type)
|
|
62
|
+
raise ArgumentError, "Invalid type for default value" if !(type === default) && !default.nil?
|
|
63
|
+
@options[name] = Definition.new(name, type, default, desc)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Return all option definitions.
|
|
67
|
+
def self.definitions
|
|
68
|
+
@options
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Return +true+ if an option called +name+ is defined.
|
|
72
|
+
def self.defined?(name)
|
|
73
|
+
@options.has_key?(name)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# Return a Hash with the default values for all options.
|
|
77
|
+
def self.defaults
|
|
78
|
+
temp = {}
|
|
79
|
+
@options.each {|n, o| temp[o.name] = o.default}
|
|
80
|
+
temp
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Merge the #defaults Hash with the *parsed* options from the given Hash, i.e. only valid option
|
|
84
|
+
# names are considered and their value is run through the #parse method.
|
|
85
|
+
def self.merge(hash)
|
|
86
|
+
temp = defaults
|
|
87
|
+
hash.each do |k,v|
|
|
88
|
+
next unless @options.has_key?(k)
|
|
89
|
+
temp[k] = parse(k, v)
|
|
90
|
+
end
|
|
91
|
+
temp
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Parse the given value +data+ as if it was a value for the option +name+ and return the parsed
|
|
95
|
+
# value with the correct type.
|
|
96
|
+
#
|
|
97
|
+
# If +data+ already has the correct type, it is just returned. Otherwise it is converted to a
|
|
98
|
+
# String and then to the correct type.
|
|
99
|
+
def self.parse(name, data)
|
|
100
|
+
raise ArgumentError, "No option named #{name} defined" if !@options.has_key?(name)
|
|
101
|
+
return data if @options[name].type === data
|
|
102
|
+
data = data.to_s
|
|
103
|
+
if @options[name].type == String
|
|
104
|
+
data
|
|
105
|
+
elsif @options[name].type == Integer
|
|
106
|
+
Integer(data)
|
|
107
|
+
elsif @options[name].type == Float
|
|
108
|
+
Float(data)
|
|
109
|
+
elsif @options[name].type == Symbol
|
|
110
|
+
(data.strip.empty? ? nil : data.to_sym)
|
|
111
|
+
elsif @options[name].type == Boolean
|
|
112
|
+
data.downcase.strip != 'false' && !data.empty?
|
|
113
|
+
elsif @options[name].type == Array
|
|
114
|
+
data.split(/\s+/)
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# ----------------------------
|
|
119
|
+
# :section: Option Definitions
|
|
120
|
+
#
|
|
121
|
+
# This sections contains all option definitions that are used by the included
|
|
122
|
+
# parsers/converters.
|
|
123
|
+
# ----------------------------
|
|
124
|
+
|
|
125
|
+
define(:template, String, '', <<EOF)
|
|
126
|
+
The name of an ERB template file that should be used to wrap the output
|
|
127
|
+
|
|
128
|
+
This is used to wrap the output in an environment so that the output can
|
|
129
|
+
be used as a stand-alone document. For example, an HTML template would
|
|
130
|
+
provide the needed header and body tags so that the whole output is a
|
|
131
|
+
valid HTML file. If no template is specified, the output will be just
|
|
132
|
+
the converted text.
|
|
133
|
+
|
|
134
|
+
When resolving the template file, the given template name is used first.
|
|
135
|
+
If such a file is not found, the converter extension is appended. If the
|
|
136
|
+
file still cannot be found, the templates name is interpreted as a
|
|
137
|
+
template name that is provided by newstile (without the converter
|
|
138
|
+
extension).
|
|
139
|
+
|
|
140
|
+
newstile provides a default template named 'default' for each converter.
|
|
141
|
+
|
|
142
|
+
Default: ''
|
|
143
|
+
Used by: all converters
|
|
144
|
+
EOF
|
|
145
|
+
|
|
146
|
+
define(:auto_ids, Boolean, true, <<EOF)
|
|
147
|
+
Use automatic header ID generation
|
|
148
|
+
|
|
149
|
+
If this option is `true`, ID values for all headers are automatically
|
|
150
|
+
generated if no ID is explicitly specified.
|
|
151
|
+
|
|
152
|
+
Default: true
|
|
153
|
+
Used by: HTML/Latex converter
|
|
154
|
+
EOF
|
|
155
|
+
|
|
156
|
+
define(:auto_id_prefix, String, '', <<EOF)
|
|
157
|
+
Prefix used for automatically generated heaer IDs
|
|
158
|
+
|
|
159
|
+
This option can be used to set a prefix for the automatically generated
|
|
160
|
+
header IDs so that there is no conflict when rendering multiple newstile
|
|
161
|
+
documents into one output file separately. The prefix should only
|
|
162
|
+
contain characters that are valid in an ID!
|
|
163
|
+
|
|
164
|
+
Default: ''
|
|
165
|
+
Used by: HTML/Latex converter
|
|
166
|
+
EOF
|
|
167
|
+
|
|
168
|
+
define(:parse_block_html, Boolean, false, <<EOF)
|
|
169
|
+
Process newstile syntax in block HTML tags
|
|
170
|
+
|
|
171
|
+
If this option is `true`, the newstile parser processes the content of
|
|
172
|
+
block HTML tags as text containing block level elements. Since this is
|
|
173
|
+
not wanted normally, the default is `false`. It is normally better to
|
|
174
|
+
selectively enable newstile processing via the markdown attribute.
|
|
175
|
+
|
|
176
|
+
Default: false
|
|
177
|
+
Used by: newstile parser
|
|
178
|
+
EOF
|
|
179
|
+
|
|
180
|
+
define(:parse_span_html, Boolean, true, <<EOF)
|
|
181
|
+
Process newstile syntax in span HTML tags
|
|
182
|
+
|
|
183
|
+
If this option is `true`, the newstile parser processes the content of
|
|
184
|
+
span HTML tags as text containing span level elements.
|
|
185
|
+
|
|
186
|
+
Default: true
|
|
187
|
+
Used by: newstile parser
|
|
188
|
+
EOF
|
|
189
|
+
|
|
190
|
+
define(:html_to_native, Boolean, false, <<EOF)
|
|
191
|
+
Convert HTML elements to native elements
|
|
192
|
+
|
|
193
|
+
If this option is `true`, the parser converts HTML elements to native
|
|
194
|
+
elements. For example, when parsing `<em>hallo</em>` the emphasis tag
|
|
195
|
+
would normally be converted to an `:html` element with tag type `:em`.
|
|
196
|
+
If `html_to_native` is `true`, then the emphasis would be converted to a
|
|
197
|
+
native `:em` element.
|
|
198
|
+
|
|
199
|
+
This is useful for converters that cannot deal with HTML elements.
|
|
200
|
+
|
|
201
|
+
Default: false
|
|
202
|
+
Used by: newstile parser
|
|
203
|
+
EOF
|
|
204
|
+
|
|
205
|
+
define(:footnote_nr, Integer, 1, <<EOF)
|
|
206
|
+
The number of the first footnote
|
|
207
|
+
|
|
208
|
+
This option can be used to specify the number that is used for the first
|
|
209
|
+
footnote.
|
|
210
|
+
|
|
211
|
+
Default: 1
|
|
212
|
+
Used by: HTML converter
|
|
213
|
+
EOF
|
|
214
|
+
|
|
215
|
+
define(:coderay_wrap, Symbol, :div, <<EOF)
|
|
216
|
+
Defines how the highlighted code should be wrapped
|
|
217
|
+
|
|
218
|
+
The possible values are :span, :div or nil.
|
|
219
|
+
|
|
220
|
+
Default: :div
|
|
221
|
+
Used by: HTML converter
|
|
222
|
+
EOF
|
|
223
|
+
|
|
224
|
+
define(:coderay_line_numbers, Symbol, :inline, <<EOF)
|
|
225
|
+
Defines how and if line numbers should be shown
|
|
226
|
+
|
|
227
|
+
The possible values are :table, :inline, :list or nil. If this option is
|
|
228
|
+
nil, no line numbers are shown.
|
|
229
|
+
|
|
230
|
+
Default: :inline
|
|
231
|
+
Used by: HTML converter
|
|
232
|
+
EOF
|
|
233
|
+
|
|
234
|
+
define(:coderay_line_number_start, Integer, 1, <<EOF)
|
|
235
|
+
The start value for the line numbers
|
|
236
|
+
|
|
237
|
+
Default: 1
|
|
238
|
+
Used by: HTML converter
|
|
239
|
+
EOF
|
|
240
|
+
|
|
241
|
+
define(:coderay_tab_width, Integer, 8, <<EOF)
|
|
242
|
+
The tab width used in highlighted code
|
|
243
|
+
|
|
244
|
+
Used by: HTML converter
|
|
245
|
+
EOF
|
|
246
|
+
|
|
247
|
+
define(:coderay_bold_every, Integer, 10, <<EOF)
|
|
248
|
+
Defines how often a line number should be made bold
|
|
249
|
+
|
|
250
|
+
Default: 10
|
|
251
|
+
Used by: HTML converter
|
|
252
|
+
EOF
|
|
253
|
+
|
|
254
|
+
define(:coderay_css, Symbol, :style, <<EOF)
|
|
255
|
+
Defines how the highlighted code gets styled
|
|
256
|
+
|
|
257
|
+
Possible values are :class (CSS classes are applied to the code
|
|
258
|
+
elements, one must supply the needed CSS file) or :style (default CSS
|
|
259
|
+
styles are directly applied to the code elements).
|
|
260
|
+
|
|
261
|
+
Default: style
|
|
262
|
+
Used by: HTML converter
|
|
263
|
+
EOF
|
|
264
|
+
|
|
265
|
+
define(:entity_output, Symbol, :as_char, <<EOF)
|
|
266
|
+
Defines how entities are output
|
|
267
|
+
|
|
268
|
+
The possible values are :as_input (entities are output in the same
|
|
269
|
+
form as found in the input), :numeric (entities are output in numeric
|
|
270
|
+
form), :symbolic (entities are output in symbolic form if possible) or
|
|
271
|
+
:as_char (entities are output as characters if possible, only available
|
|
272
|
+
on Ruby 1.9).
|
|
273
|
+
|
|
274
|
+
Default: :as_char
|
|
275
|
+
Used by: HTML converter, newstile converter
|
|
276
|
+
EOF
|
|
277
|
+
|
|
278
|
+
define(:toc_depth, Integer, 0, <<EOF)
|
|
279
|
+
Defines the maximum level of headers which will be used to generate the table of
|
|
280
|
+
contents. For instance, with a value of 2, toc entries will be generated for h1
|
|
281
|
+
and h2 headers but not for h3, h4, etc. A value of 0 uses all header levels.
|
|
282
|
+
|
|
283
|
+
Default: 0
|
|
284
|
+
Used by: HTML/Latex converter
|
|
285
|
+
EOF
|
|
286
|
+
|
|
287
|
+
define(:line_width, Integer, 72, <<EOF)
|
|
288
|
+
Defines the line width to be used when outputting a document
|
|
289
|
+
|
|
290
|
+
Default: 72
|
|
291
|
+
Used by: newstile converter
|
|
292
|
+
EOF
|
|
293
|
+
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
end
|