apex-ruby 1.0.6
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/README.md +119 -0
- data/apex-ruby.gemspec +31 -0
- data/ext/apex_ext/apex_ext.c +215 -0
- data/ext/apex_ext/apex_src/BENCHMARK.md +32 -0
- data/ext/apex_ext/apex_src/BENCHMARK_COMPARISON.md +67 -0
- data/ext/apex_ext/apex_src/CHANGELOG.md +2454 -0
- data/ext/apex_ext/apex_src/CMakeLists.txt +454 -0
- data/ext/apex_ext/apex_src/Dockerfile.linux-build +15 -0
- data/ext/apex_ext/apex_src/Formula/apex.rb +38 -0
- data/ext/apex_ext/apex_src/Info.plist.in +27 -0
- data/ext/apex_ext/apex_src/LICENSE +21 -0
- data/ext/apex_ext/apex_src/Package.swift +160 -0
- data/ext/apex_ext/apex_src/PackageSupport/README.md +17 -0
- data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark-gfm_export.h +20 -0
- data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark-gfm_version.h +14 -0
- data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark_gfm_spm_stub.c +4 -0
- data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/config.h +41 -0
- data/ext/apex_ext/apex_src/README.md +452 -0
- data/ext/apex_ext/apex_src/VERSION +1 -0
- data/ext/apex_ext/apex_src/apex-header-2-rb@2x.webp +0 -0
- data/ext/apex_ext/apex_src/apex-plugins.json.example +20 -0
- data/ext/apex_ext/apex_src/apex.pc.in +11 -0
- data/ext/apex_ext/apex_src/cli/main.c +2720 -0
- data/ext/apex_ext/apex_src/debug_test.sh +22 -0
- data/ext/apex_ext/apex_src/docs/API_REFERENCE.md +451 -0
- data/ext/apex_ext/apex_src/docs/ARCHITECTURE.md +166 -0
- data/ext/apex_ext/apex_src/docs/CMARK_INTEGRATION.md +220 -0
- data/ext/apex_ext/apex_src/docs/CRITICMARKUP.md +501 -0
- data/ext/apex_ext/apex_src/docs/DEBUGGING.md +73 -0
- data/ext/apex_ext/apex_src/docs/FINAL_STATUS.md +391 -0
- data/ext/apex_ext/apex_src/docs/FINAL_STATUS_UPDATE.md +237 -0
- data/ext/apex_ext/apex_src/docs/FUTURE_FEATURES.md +456 -0
- data/ext/apex_ext/apex_src/docs/IAL_FEATURES.md +210 -0
- data/ext/apex_ext/apex_src/docs/IAL_STATUS.md +344 -0
- data/ext/apex_ext/apex_src/docs/INTEGRATION_EXAMPLE.m +144 -0
- data/ext/apex_ext/apex_src/docs/LIMITATIONS_RESOLVED.md +278 -0
- data/ext/apex_ext/apex_src/docs/OUTPUT_MODES.md +321 -0
- data/ext/apex_ext/apex_src/docs/PROGRESS.md +167 -0
- data/ext/apex_ext/apex_src/docs/STANDALONE_FEATURE.md +174 -0
- data/ext/apex_ext/apex_src/docs/TABLE_SPANS_STATUS.md +243 -0
- data/ext/apex_ext/apex_src/docs/TEST_COVERAGE.md +316 -0
- data/ext/apex_ext/apex_src/docs/USER_GUIDE.md +803 -0
- data/ext/apex_ext/apex_src/docs/WIKI_LINKS_ISSUE.md +91 -0
- data/ext/apex_ext/apex_src/documentation/README.md +160 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex Command Line Options.cheatsheet.txt +365 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Info.plist +24 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/C-API.html +1737 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Citations.html +1420 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Command-Line-Options.html +3574 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Configuration.html +1603 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Credits.html +910 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Examples.html +1168 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Getting-Started.html +1003 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Header-IDs.html +1308 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Home.html +1078 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Inline-Attribute-Lists.html +1622 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Installation.html +1168 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Limitations-and-Roadmap.html +1698 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Metadata-Transforms.html +1531 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Modes.html +1980 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-File-Documents.html +1368 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Pandoc-Integration.html +1151 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Plugins.html +2861 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Syntax.html +3981 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Troubleshooting.html +1454 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Usage.html +1200 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Xcode-Integration.html +2066 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/docSet.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/tempOptimizedIndex.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Info.plist +22 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/index.html +914 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/style.css +399 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/docSet.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/generate_app_docs.rb +772 -0
- data/ext/apex_ext/apex_src/documentation/generate_app_docs_ai.rb +678 -0
- data/ext/apex_ext/apex_src/documentation/generate_docset.rb +873 -0
- data/ext/apex_ext/apex_src/documentation/generate_single_html.rb +733 -0
- data/ext/apex_ext/apex_src/documentation/html/apex-docs.html +17073 -0
- data/ext/apex_ext/apex_src/documentation/shared_scripts.js +64 -0
- data/ext/apex_ext/apex_src/documentation/shared_styles.css +646 -0
- data/ext/apex_ext/apex_src/documentation/transform_for_app.example.md +260 -0
- data/ext/apex_ext/apex_src/examples/bracketed_spans_demo.md +119 -0
- data/ext/apex_ext/apex_src/examples/emoji_span_plugin.yml +11 -0
- data/ext/apex_ext/apex_src/examples/example.html +53 -0
- data/ext/apex_ext/apex_src/examples/example.md +85 -0
- data/ext/apex_ext/apex_src/examples/fenced_divs_demo.md +158 -0
- data/ext/apex_ext/apex_src/examples/kbd.md +8 -0
- data/ext/apex_ext/apex_src/examples/kbd_plugin.rb +250 -0
- data/ext/apex_ext/apex_src/examples/kbd_plugin.yml +9 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-black.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-black@2x.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-mark.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-mark@2x.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-white.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-white@2x.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon@2x.png +0 -0
- data/ext/apex_ext/apex_src/include/apex/apex.h +247 -0
- data/ext/apex_ext/apex_src/include/apex/buffer.h +93 -0
- data/ext/apex_ext/apex_src/include/apex/module.modulemap +16 -0
- data/ext/apex_ext/apex_src/include/apex/parser.h +150 -0
- data/ext/apex_ext/apex_src/include/apex/renderer.h +39 -0
- data/ext/apex_ext/apex_src/man/apex-config.5 +374 -0
- data/ext/apex_ext/apex_src/man/apex-config.5.md +260 -0
- data/ext/apex_ext/apex_src/man/apex-plugins.7 +456 -0
- data/ext/apex_ext/apex_src/man/apex-plugins.7.md +365 -0
- data/ext/apex_ext/apex_src/man/apex.1 +828 -0
- data/ext/apex_ext/apex_src/man/apex.1.md +643 -0
- data/ext/apex_ext/apex_src/man/apex.1.new +338 -0
- data/ext/apex_ext/apex_src/objc/Apex.swift +237 -0
- data/ext/apex_ext/apex_src/objc/NSString+Apex.h +117 -0
- data/ext/apex_ext/apex_src/objc/NSString+Apex.m +332 -0
- data/ext/apex_ext/apex_src/src/_README.md +358 -0
- data/ext/apex_ext/apex_src/src/apex.c +6326 -0
- data/ext/apex_ext/apex_src/src/buffer.c +93 -0
- data/ext/apex_ext/apex_src/src/extensions/abbreviations.c +362 -0
- data/ext/apex_ext/apex_src/src/extensions/abbreviations.h +45 -0
- data/ext/apex_ext/apex_src/src/extensions/advanced_footnotes.c +184 -0
- data/ext/apex_ext/apex_src/src/extensions/advanced_footnotes.h +50 -0
- data/ext/apex_ext/apex_src/src/extensions/advanced_tables.c +1897 -0
- data/ext/apex_ext/apex_src/src/extensions/advanced_tables.h +42 -0
- data/ext/apex_ext/apex_src/src/extensions/callouts.c +215 -0
- data/ext/apex_ext/apex_src/src/extensions/callouts.h +53 -0
- data/ext/apex_ext/apex_src/src/extensions/citations.c +2042 -0
- data/ext/apex_ext/apex_src/src/extensions/citations.h +163 -0
- data/ext/apex_ext/apex_src/src/extensions/critic.c +329 -0
- data/ext/apex_ext/apex_src/src/extensions/critic.h +48 -0
- data/ext/apex_ext/apex_src/src/extensions/definition_list.c +1670 -0
- data/ext/apex_ext/apex_src/src/extensions/definition_list.h +42 -0
- data/ext/apex_ext/apex_src/src/extensions/emoji.c +710 -0
- data/ext/apex_ext/apex_src/src/extensions/emoji.h +38 -0
- data/ext/apex_ext/apex_src/src/extensions/emoji_data.h +942 -0
- data/ext/apex_ext/apex_src/src/extensions/fenced_divs.c +925 -0
- data/ext/apex_ext/apex_src/src/extensions/fenced_divs.h +43 -0
- data/ext/apex_ext/apex_src/src/extensions/github-emoji.txt +869 -0
- data/ext/apex_ext/apex_src/src/extensions/grid_tables.c +1121 -0
- data/ext/apex_ext/apex_src/src/extensions/grid_tables.h +33 -0
- data/ext/apex_ext/apex_src/src/extensions/header_ids.c +626 -0
- data/ext/apex_ext/apex_src/src/extensions/header_ids.h +60 -0
- data/ext/apex_ext/apex_src/src/extensions/highlight.c +135 -0
- data/ext/apex_ext/apex_src/src/extensions/highlight.h +16 -0
- data/ext/apex_ext/apex_src/src/extensions/html_markdown.c +408 -0
- data/ext/apex_ext/apex_src/src/extensions/html_markdown.h +42 -0
- data/ext/apex_ext/apex_src/src/extensions/ial.c +4084 -0
- data/ext/apex_ext/apex_src/src/extensions/ial.h +145 -0
- data/ext/apex_ext/apex_src/src/extensions/includes.c +1536 -0
- data/ext/apex_ext/apex_src/src/extensions/includes.h +54 -0
- data/ext/apex_ext/apex_src/src/extensions/index.c +967 -0
- data/ext/apex_ext/apex_src/src/extensions/index.h +90 -0
- data/ext/apex_ext/apex_src/src/extensions/inline_footnotes.c +205 -0
- data/ext/apex_ext/apex_src/src/extensions/inline_footnotes.h +34 -0
- data/ext/apex_ext/apex_src/src/extensions/inline_tables.c +332 -0
- data/ext/apex_ext/apex_src/src/extensions/inline_tables.h +13 -0
- data/ext/apex_ext/apex_src/src/extensions/insert.c +248 -0
- data/ext/apex_ext/apex_src/src/extensions/insert.h +18 -0
- data/ext/apex_ext/apex_src/src/extensions/math.c +279 -0
- data/ext/apex_ext/apex_src/src/extensions/math.h +32 -0
- data/ext/apex_ext/apex_src/src/extensions/metadata.c +3046 -0
- data/ext/apex_ext/apex_src/src/extensions/metadata.h +125 -0
- data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.c +1297 -0
- data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.h +39 -0
- data/ext/apex_ext/apex_src/src/extensions/special_markers.c +194 -0
- data/ext/apex_ext/apex_src/src/extensions/special_markers.h +29 -0
- data/ext/apex_ext/apex_src/src/extensions/sup_sub.c +405 -0
- data/ext/apex_ext/apex_src/src/extensions/sup_sub.h +16 -0
- data/ext/apex_ext/apex_src/src/extensions/syntax_highlight.c +468 -0
- data/ext/apex_ext/apex_src/src/extensions/syntax_highlight.h +44 -0
- data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.c +2679 -0
- data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.h +23 -0
- data/ext/apex_ext/apex_src/src/extensions/toc.c +255 -0
- data/ext/apex_ext/apex_src/src/extensions/toc.h +34 -0
- data/ext/apex_ext/apex_src/src/extensions/wiki_links.c +624 -0
- data/ext/apex_ext/apex_src/src/extensions/wiki_links.h +58 -0
- data/ext/apex_ext/apex_src/src/html_renderer.c +2762 -0
- data/ext/apex_ext/apex_src/src/html_renderer.h +126 -0
- data/ext/apex_ext/apex_src/src/parser.c +227 -0
- data/ext/apex_ext/apex_src/src/plugins.c +895 -0
- data/ext/apex_ext/apex_src/src/plugins.h +39 -0
- data/ext/apex_ext/apex_src/src/plugins_env.c +187 -0
- data/ext/apex_ext/apex_src/src/plugins_remote.c +263 -0
- data/ext/apex_ext/apex_src/src/pretty_html.c +358 -0
- data/ext/apex_ext/apex_src/src/renderer.c +241 -0
- data/ext/apex_ext/apex_src/src/utf8.c +56 -0
- data/ext/apex_ext/apex_src/test-linux-build.sh +20 -0
- data/ext/apex_ext/apex_src/test.html +103 -0
- data/ext/apex_ext/apex_src/test_coverage.sh +121 -0
- data/ext/apex_ext/apex_src/test_ial_fenced.md +6 -0
- data/ext/apex_ext/apex_src/test_math_norm.py +79 -0
- data/ext/apex_ext/apex_src/test_pandoc_output.html +48 -0
- data/ext/apex_ext/apex_src/test_spm.sh +107 -0
- data/ext/apex_ext/apex_src/tests/ApexSPMTest/main.swift +50 -0
- data/ext/apex_ext/apex_src/tests/BENCHMARK_RESULTS.md +229 -0
- data/ext/apex_ext/apex_src/tests/CMakeLists.txt +24 -0
- data/ext/apex_ext/apex_src/tests/README.md +146 -0
- data/ext/apex_ext/apex_src/tests/benchmark.sh +113 -0
- data/ext/apex_ext/apex_src/tests/benchmark_comparison.sh +166 -0
- data/ext/apex_ext/apex_src/tests/compare_header_ids.sh +31 -0
- data/ext/apex_ext/apex_src/tests/fixtures/basic/headers.md +25 -0
- data/ext/apex_ext/apex_src/tests/fixtures/basic/list-interruption.md +24 -0
- data/ext/apex_ext/apex_src/tests/fixtures/basic/misc_markup.md +33 -0
- data/ext/apex_ext/apex_src/tests/fixtures/basic/test_basic.md +26 -0
- data/ext/apex_ext/apex_src/tests/fixtures/code/code-blocks.md +260 -0
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/SUMMARY.md +6 -0
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/chapter1.md +7 -0
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/index.txt +9 -0
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/intro.md +5 -0
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/section1_1.md +5 -0
- data/ext/apex_ext/apex_src/tests/fixtures/comprehensive_test.md +620 -0
- data/ext/apex_ext/apex_src/tests/fixtures/debug_ref_image_ial.md +3 -0
- data/ext/apex_ext/apex_src/tests/fixtures/demos/ial.md +11 -0
- data/ext/apex_ext/apex_src/tests/fixtures/demos/ial_demo.md +177 -0
- data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji-autocorrect.md +94 -0
- data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji_test.md +3 -0
- data/ext/apex_ext/apex_src/tests/fixtures/extensions/kbd_test.md +3 -0
- data/ext/apex_ext/apex_src/tests/fixtures/ial/bracketed_spans_test.md +74 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/image_and_encoding_test.md +27 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/multimarkdown_image_attributes_test.md +60 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/pandoc_ial_image_test.md +27 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/width_height_conversion_test.md +94 -0
- data/ext/apex_ext/apex_src/tests/fixtures/img-in-div.md +16 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/code.py +4 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/data.csv +5 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/data.tsv +5 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/image.png +2 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/metadata_options.yml +11 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/nested.md +8 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/raw.html +4 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/simple.md +7 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/test_image.png +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/large_doc.md +1094 -0
- data/ext/apex_ext/apex_src/tests/fixtures/metadata_options.yml +11 -0
- data/ext/apex_ext/apex_src/tests/fixtures/output/gfm_header_id_test.md +96 -0
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_citations.md +43 -0
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_def_list_links.md +12 -0
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_mmark.md +53 -0
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_textindex.md +37 -0
- data/ext/apex_ext/apex_src/tests/fixtures/tables/advanced_tables_test.md +93 -0
- data/ext/apex_ext/apex_src/tests/fixtures/tables/inline_tables_test.md +38 -0
- data/ext/apex_ext/apex_src/tests/fixtures/tables/relaxed-table.md +12 -0
- data/ext/apex_ext/apex_src/tests/fixtures/tables/table_cr_line_endings.md +15 -0
- data/ext/apex_ext/apex_src/tests/fixtures/tables/table_no_trailing_newline.md +15 -0
- data/ext/apex_ext/apex_src/tests/generate_gfm_ids.sh +105 -0
- data/ext/apex_ext/apex_src/tests/generate_ial_demo.sh +143 -0
- data/ext/apex_ext/apex_src/tests/gfm_id_comparison_summary.md +96 -0
- data/ext/apex_ext/apex_src/tests/gh_api_test.md +6 -0
- data/ext/apex_ext/apex_src/tests/ial_demo.html +186 -0
- data/ext/apex_ext/apex_src/tests/include_code.py +19 -0
- data/ext/apex_ext/apex_src/tests/include_snippet.md +15 -0
- data/ext/apex_ext/apex_src/tests/multi_file_cli_test.sh +64 -0
- data/ext/apex_ext/apex_src/tests/sample_data.csv +7 -0
- data/ext/apex_ext/apex_src/tests/table_escaped_ltlt.md +4 -0
- data/ext/apex_ext/apex_src/tests/test_basic.c +74 -0
- data/ext/apex_ext/apex_src/tests/test_extensions.c +2116 -0
- data/ext/apex_ext/apex_src/tests/test_helpers.c +183 -0
- data/ext/apex_ext/apex_src/tests/test_helpers.h +91 -0
- data/ext/apex_ext/apex_src/tests/test_ial.c +282 -0
- data/ext/apex_ext/apex_src/tests/test_links.c +418 -0
- data/ext/apex_ext/apex_src/tests/test_marked_integration.c +265 -0
- data/ext/apex_ext/apex_src/tests/test_metadata.c +908 -0
- data/ext/apex_ext/apex_src/tests/test_output.c +1118 -0
- data/ext/apex_ext/apex_src/tests/test_plugins.c +219 -0
- data/ext/apex_ext/apex_src/tests/test_refs.bib +31 -0
- data/ext/apex_ext/apex_src/tests/test_runner.c +244 -0
- data/ext/apex_ext/apex_src/tests/test_syntax_highlight.c +198 -0
- data/ext/apex_ext/apex_src/tests/test_tables.c +862 -0
- data/ext/apex_ext/apex_src/tests/update_benchmarks.sh +9 -0
- data/ext/apex_ext/apex_src/tests/yaml_test.md +13 -0
- data/ext/apex_ext/apex_src/tests.rb +39 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CMakeLists.txt +48 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/COPYING +170 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.c +14 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.cmake +43 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/FindAsan.cmake +74 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/Makefile.nmake +38 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/README.md +206 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/CMakeLists.txt +30 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.cpp +15 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.h +16 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.c +111 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.h +35 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/main.c +1169 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/appveyor.yml +21 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-flat.md +16 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-nested.md +13 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-code.md +11 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-fences.md +14 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-heading.md +9 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-hr.md +10 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-html.md +32 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-lheading.md +8 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-flat.md +67 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-nested.md +36 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-flat.md +15 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-nested.md +17 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-autolink.md +14 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-backticks.md +3 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-flat.md +5 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-nested.md +5 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-worst.md +5 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-entity.md +11 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-escape.md +15 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-html.md +44 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-flat.md +23 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-nested.md +13 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-newlines.md +24 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/lorem1.md +13 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/rawtabs.md +18 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/statistics.py +595 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/stats.py +19 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/benchmarks.md +33 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/changelog.txt +1245 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/data/CaseFolding.txt +1495 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/CMakeLists.txt +119 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/autolink.c +508 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/autolink.h +8 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/cmark-gfm-core-extensions.h +54 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/core-extensions.c +27 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.c +879 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.h +24 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.re +92 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/strikethrough.c +167 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/strikethrough.h +9 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/table.c +917 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/table.h +12 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/tagfilter.c +60 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/tagfilter.h +8 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/tasklist.c +156 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/tasklist.h +8 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/CMakeLists.txt +22 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/README.md +12 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic.c +91 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic_brackets.c +110 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzzloop.sh +28 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/CMakeLists.txt +10 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/make_man_page.py +133 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man1/cmark-gfm.1 +78 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man3/cmark-gfm.3 +1041 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/nmake.bat +1 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/CMakeLists.txt +230 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/arena.c +104 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/blocks.c +1622 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/buffer.c +278 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/buffer.h +116 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/case_fold_switch.inc +4327 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/chunk.h +135 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm-extension_api.h +737 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm.h +833 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm_version.h.in +7 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark.c +55 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark_ctype.c +44 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark_ctype.h +33 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/commonmark.c +514 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h.in +76 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/entities.inc +2138 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/footnotes.c +63 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/footnotes.h +27 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/houdini.h +57 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/houdini_href_e.c +100 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/houdini_html_e.c +66 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/houdini_html_u.c +149 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/html.c +502 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/html.h +27 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/inlines.c +1788 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/inlines.h +29 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/iterator.c +159 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/iterator.h +26 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/latex.c +468 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/libcmark-gfm.pc.in +10 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/linked_list.c +37 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/main.c +328 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/man.c +274 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/map.c +129 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/map.h +44 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/node.c +1045 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/node.h +167 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/parser.h +59 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/plaintext.c +218 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/plugin.c +36 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/plugin.h +34 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/references.c +43 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/references.h +26 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/registry.c +63 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/registry.h +24 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/render.c +213 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/render.h +62 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.c +14056 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.h +70 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.re +365 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/syntax_extension.c +149 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/syntax_extension.h +34 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/utf8.c +317 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/utf8.h +35 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/xml.c +182 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/suppressions +10 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/CMakeLists.txt +114 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/afl_test_cases/test.md +49 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark-fuzz.c +58 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark.py +105 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/entity_tests.py +67 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-full-info-string.txt +0 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-table-prefer-style-attributes.txt +38 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions.txt +920 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/fuzzing_dictionary +67 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/normalize.py +194 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/pathological_tests.py +160 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/regression.txt +375 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/roundtrip_tests.py +50 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/run-cmark-fuzz +4 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/smart_punct.txt +177 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec.txt +10212 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec_tests.py +152 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/toolchain-mingw32.cmake +17 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/Dockerfile +41 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/appveyor-build.bat +13 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/make_entities_inc.py +32 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/mkcasefold.pl +22 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md.xsl +319 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md_gfm.xsl +80 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/why-cmark-and-not-x.md +104 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.js +6 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.py +37 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rb +15 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rkt +208 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper_ext.py +109 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/CMakeLists.txt +160 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/Changes +372 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/License +20 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/Makefile.am +51 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/ReadMe.md +46 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/announcement.msg +89 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/bootstrap +3 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/cmake/config.h.in +4 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/configure.ac +73 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/doc/doxygen.cfg +222 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/README.mkd +17 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/alpine-3.7 +26 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/fedora-25 +26 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-14.04 +29 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-16.04 +24 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/anchors.yaml +10 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/array.yaml +2 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/global-tag.yaml +14 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/json.yaml +1 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/mapping.yaml +2 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/numbers.yaml +1 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/strings.yaml +7 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/tags.yaml +7 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/yaml-version.yaml +3 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/include/Makefile.am +17 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/include/yaml.h +1999 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/ReadMe.md +77 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/Dockerfile +32 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/output/ReadMe +1 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/scripts/libyaml-dist.sh +23 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/regression-inputs/clusterfuzz-testcase-minimized-5607885063061504.yml +1 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/src/Makefile.am +4 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/src/api.c +1393 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/src/dumper.c +394 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/src/emitter.c +2358 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/src/loader.c +544 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/src/parser.c +1416 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/src/reader.c +469 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/src/scanner.c +3598 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/src/writer.c +141 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/src/yaml_private.h +684 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/CMakeLists.txt +27 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/Makefile.am +9 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/ReadMe.md +63 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor-alt.c +800 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor.c +1127 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter-alt.c +217 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter.c +202 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-all-tests.sh +29 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-dumper.c +314 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter-test-suite.c +290 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter.c +327 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-loader.c +63 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser-test-suite.c +196 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser.c +88 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-scanner.c +63 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-reader.c +354 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-version.c +29 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/yaml-0.1.pc.in +10 -0
- data/ext/apex_ext/apex_src/vendor/libyaml/yamlConfig.cmake.in +16 -0
- data/ext/apex_ext/extconf.rb +103 -0
- data/lib/apex/configurable.rb +46 -0
- data/lib/apex/document.rb +66 -0
- data/lib/apex/version.rb +15 -0
- data/lib/apex.rb +28 -0
- metadata +544 -0
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
# IAL (Inline Attribute Lists) - Current Status
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Apex has **full support** for Kramdown Inline Attribute
|
|
6
|
+
Lists (IAL) and Attribute List Definitions (ALDs). All
|
|
7
|
+
features are implemented and working, including inline IALs
|
|
8
|
+
for span-level elements.
|
|
9
|
+
|
|
10
|
+
**Note:** This document is maintained for historical
|
|
11
|
+
reference. For up-to-date documentation, see:
|
|
12
|
+
|
|
13
|
+
[Wiki: Inline Attribute Lists](https://github.com/yourusername/apex.wiki/Inline-Attribute-Lists) (complete user guide)
|
|
14
|
+
|
|
15
|
+
- [Docs: IAL Features](IAL_FEATURES.md) (technical
|
|
16
|
+
|
|
17
|
+
implementation details)
|
|
18
|
+
|
|
19
|
+
## What Works ✅
|
|
20
|
+
|
|
21
|
+
### Block-Level IAL (Following Line)
|
|
22
|
+
|
|
23
|
+
IAL can be applied to blocks when placed on the line AFTER
|
|
24
|
+
the block:
|
|
25
|
+
|
|
26
|
+
```markdown
|
|
27
|
+
## My Heading
|
|
28
|
+
|
|
29
|
+
{: #custom-id .my-class}
|
|
30
|
+
|
|
31
|
+
Paragraph text.
|
|
32
|
+
{: #para-id .important}
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Supported blocks:**
|
|
37
|
+
|
|
38
|
+
- ✅ Headings (H1-H6)
|
|
39
|
+
- ✅ Paragraphs
|
|
40
|
+
- ✅ Block quotes
|
|
41
|
+
- ✅ Code blocks
|
|
42
|
+
- ✅ Lists and list items
|
|
43
|
+
- ✅ Tables (via IAL on following line)
|
|
44
|
+
|
|
45
|
+
**Output:**
|
|
46
|
+
|
|
47
|
+
```html
|
|
48
|
+
<h2 id="custom-id" class="my-class">My Heading</h2>
|
|
49
|
+
<p id="para-id" class="important">Paragraph text.</p>
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Attribute Types Supported
|
|
54
|
+
|
|
55
|
+
- ✅ **IDs** - `#my-id`
|
|
56
|
+
- ✅ **Classes** - `.class1 .class2`
|
|
57
|
+
- ✅ **Key-value** - `key="value"` or `key='value'`
|
|
58
|
+
- ✅ **ALD References** - `{:ref}` (if ALD defined)
|
|
59
|
+
|
|
60
|
+
### Attribute List Definitions (ALD)
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
{:note: .callout .callout-note #note-style}
|
|
64
|
+
|
|
65
|
+
> This is a note
|
|
66
|
+
{:note}
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Works correctly!
|
|
71
|
+
|
|
72
|
+
## What Now Works ✅ (Updated)
|
|
73
|
+
|
|
74
|
+
### Inline IAL (Same Line for Headings)
|
|
75
|
+
|
|
76
|
+
**NOW SUPPORTED:**
|
|
77
|
+
|
|
78
|
+
```markdown
|
|
79
|
+
## Heading {: #id .class} ← ✅ Works
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Headings can have IALs on the same line or the next line.
|
|
84
|
+
|
|
85
|
+
### Span-Level IAL
|
|
86
|
+
|
|
87
|
+
**NOW FULLY SUPPORTED:**
|
|
88
|
+
|
|
89
|
+
```markdown
|
|
90
|
+
This is [styled link](url){: .highlight} ← ✅ Works
|
|
91
|
+
**bold text**{:.bold-style} ← ✅ Works
|
|
92
|
+
*italic text*{:.italic-style} ← ✅ Works
|
|
93
|
+
`code span`{:.code-class} ← ✅ Works
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
All span-level elements (links, images, emphasis, strong,
|
|
98
|
+
code) now support inline IALs.
|
|
99
|
+
|
|
100
|
+
### Robust Element Matching ✅
|
|
101
|
+
|
|
102
|
+
**FIXED:** The HTML renderer now uses **element indexing**
|
|
103
|
+
with separate counters for each element type:
|
|
104
|
+
|
|
105
|
+
- Links, images, strong, emphasis, and code spans each have
|
|
106
|
+
|
|
107
|
+
their own counter
|
|
108
|
+
|
|
109
|
+
- Attributes are matched by element type and index position
|
|
110
|
+
- Works correctly even when multiple elements share the same
|
|
111
|
+
|
|
112
|
+
URL or content
|
|
113
|
+
|
|
114
|
+
**Example that now works:**
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
Para 1.
|
|
118
|
+
{: .first}
|
|
119
|
+
|
|
120
|
+
Para 2.
|
|
121
|
+
{: .second}
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Both paragraphs correctly receive their attributes.
|
|
126
|
+
|
|
127
|
+
## Current Implementation
|
|
128
|
+
|
|
129
|
+
### Stage 1: AST Processing (`ial.c`)
|
|
130
|
+
|
|
131
|
+
1. **Extract ALDs** - Find `{:ref: ...}` definitions and
|
|
132
|
+
|
|
133
|
+
store them
|
|
134
|
+
|
|
135
|
+
2. **Process IAL Paragraphs** - Find `{: ...}` paragraphs
|
|
136
|
+
|
|
137
|
+
**Extract Attributes** - Parse ID, classes, key-value pairs
|
|
138
|
+
|
|
139
|
+
4. **Store in user_data** - Attach HTML attribute string to
|
|
140
|
+
|
|
141
|
+
node
|
|
142
|
+
|
|
143
|
+
5. **Remove IAL Paragraphs** - Unlink and free pure IAL
|
|
144
|
+
|
|
145
|
+
paragraphs
|
|
146
|
+
|
|
147
|
+
### Stage 2: HTML Rendering (`html_renderer.c`)
|
|
148
|
+
|
|
149
|
+
1. **Collect Nodes** - Walk AST gathering nodes with
|
|
150
|
+
|
|
151
|
+
user_data, track element indices
|
|
152
|
+
|
|
153
|
+
2. **Match by Type and Index** - Match HTML tags to AST
|
|
154
|
+
|
|
155
|
+
nodes using element type and index (✅ robust!)
|
|
156
|
+
|
|
157
|
+
3. **Inject Attributes** - Insert attribute string into
|
|
158
|
+
|
|
159
|
+
opening tags with proper spacing
|
|
160
|
+
|
|
161
|
+
4. **Skip Special Attrs** - Ignore `data-remove`,
|
|
162
|
+
|
|
163
|
+
`data-caption`, `colspan`, `rowspan`
|
|
164
|
+
|
|
165
|
+
## Issues Resolved ✅
|
|
166
|
+
|
|
167
|
+
### Issue 1: Element Matching - ✅ FIXED
|
|
168
|
+
|
|
169
|
+
**Solution Implemented**: Element indexing with separate
|
|
170
|
+
counters for each inline element type (links, images,
|
|
171
|
+
strong, emphasis, code).
|
|
172
|
+
|
|
173
|
+
**Result**: Reliable matching even when multiple elements
|
|
174
|
+
share the same URL or content.
|
|
175
|
+
|
|
176
|
+
### Issue 2: Inline Heading Syntax - ✅ FIXED
|
|
177
|
+
|
|
178
|
+
**Solution Implemented**: IAL parsing for headings supports
|
|
179
|
+
both same-line and next-line syntax.
|
|
180
|
+
|
|
181
|
+
**Result**: `## Heading {: #id}` now works correctly.
|
|
182
|
+
|
|
183
|
+
### Issue 3: Span-Level IAL - ✅ FIXED
|
|
184
|
+
|
|
185
|
+
**Solution Implemented**: Recursive IAL processing for
|
|
186
|
+
inline elements (links, images, strong, emphasis, code
|
|
187
|
+
spans), including nested structures.
|
|
188
|
+
|
|
189
|
+
**Result**: `[text]{: .class}`, `**bold**{:.style}`, and
|
|
190
|
+
nested structures all work correctly.
|
|
191
|
+
|
|
192
|
+
## Workarounds
|
|
193
|
+
|
|
194
|
+
### For Headings
|
|
195
|
+
|
|
196
|
+
Use the next-line syntax instead of inline:
|
|
197
|
+
|
|
198
|
+
```markdown
|
|
199
|
+
## My Heading
|
|
200
|
+
|
|
201
|
+
{: #custom-id .header-class}
|
|
202
|
+
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### For Emphasis/Spans
|
|
206
|
+
|
|
207
|
+
Use raw HTML:
|
|
208
|
+
|
|
209
|
+
```markdown
|
|
210
|
+
This has <span class="highlight">styled content</span> inline.
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Or use the HTML markdown attribute:
|
|
215
|
+
|
|
216
|
+
```markdown
|
|
217
|
+
<span markdown="span" class="highlight">*styled* content</span>
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### For Multiple Elements
|
|
222
|
+
|
|
223
|
+
Separate them with blank lines to improve matching:
|
|
224
|
+
|
|
225
|
+
```markdown
|
|
226
|
+
First paragraph.
|
|
227
|
+
{: .first}
|
|
228
|
+
|
|
229
|
+
Second paragraph.
|
|
230
|
+
{: .second}
|
|
231
|
+
|
|
232
|
+
Third paragraph.
|
|
233
|
+
{: .third}
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Test Results
|
|
238
|
+
|
|
239
|
+
### Working Tests
|
|
240
|
+
|
|
241
|
+
```markdown
|
|
242
|
+
# Test 1: Paragraph IAL
|
|
243
|
+
Para.
|
|
244
|
+
{: .works}
|
|
245
|
+
→ <p class="works">Para.</p> ✅
|
|
246
|
+
|
|
247
|
+
# Test 2: Heading IAL (next line)
|
|
248
|
+
## Heading
|
|
249
|
+
|
|
250
|
+
{: #works}
|
|
251
|
+
→ <h2 id="works">Heading</h2> ✅
|
|
252
|
+
|
|
253
|
+
# Test 3: Table IAL
|
|
254
|
+
| A | B |
|
|
255
|
+
|---|---|
|
|
256
|
+
| 1 | 2 |
|
|
257
|
+
|
|
258
|
+
{: .table-class}
|
|
259
|
+
→ <table class="table-class">... ✅
|
|
260
|
+
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Previously Failing Tests (Now Working ✅)
|
|
264
|
+
|
|
265
|
+
```markdown
|
|
266
|
+
# Test 4: Inline heading IAL
|
|
267
|
+
## Heading {: #works}
|
|
268
|
+
→ <h2 id="works">Heading</h2> ✅
|
|
269
|
+
|
|
270
|
+
# Test 5: Span IAL
|
|
271
|
+
[text](url){: .works}
|
|
272
|
+
→ <p><a href="url" class="works">text</a></p> ✅
|
|
273
|
+
|
|
274
|
+
# Test 6: Multiple paragraphs
|
|
275
|
+
Para 1.
|
|
276
|
+
{: .first}
|
|
277
|
+
Para 2.
|
|
278
|
+
{: .second}
|
|
279
|
+
→ Both get attributes correctly ✅
|
|
280
|
+
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
## Recommendations
|
|
284
|
+
|
|
285
|
+
### For Production Use
|
|
286
|
+
|
|
287
|
+
**DO:**
|
|
288
|
+
|
|
289
|
+
- ✅ Use IAL on separate lines after blocks OR on same line
|
|
290
|
+
|
|
291
|
+
for headings
|
|
292
|
+
|
|
293
|
+
- ✅ Use for headings, paragraphs, lists, blockquotes, tables
|
|
294
|
+
- ✅ Use inline IALs for links, images, emphasis, strong,
|
|
295
|
+
|
|
296
|
+
code spans
|
|
297
|
+
|
|
298
|
+
- ✅ Use ALDs for reusable attribute sets
|
|
299
|
+
- ✅ Use key-value pairs for custom attributes
|
|
300
|
+
- ✅ Test output to verify attributes applied (good practice)
|
|
301
|
+
|
|
302
|
+
**DON'T:**
|
|
303
|
+
|
|
304
|
+
- ❌ Put blank lines between block elements and their IALs
|
|
305
|
+
|
|
306
|
+
(IAL won't apply)
|
|
307
|
+
|
|
308
|
+
- ❌ Use invalid attribute syntax (always use proper quotes
|
|
309
|
+
|
|
310
|
+
for values with spaces)
|
|
311
|
+
|
|
312
|
+
## Comparison with Kramdown
|
|
313
|
+
|
|
314
|
+
| Feature | Kramdown | Apex | Status |
|
|
315
|
+
|---------|----------|------|--------|
|
|
316
|
+
| Block IAL (next line) | ✅ | ✅ | ✅ Working |
|
|
317
|
+
| Inline heading IAL | ✅ | ✅ | ✅ Implemented |
|
|
318
|
+
| Span IAL | ✅ | ✅ | ✅ Implemented |
|
|
319
|
+
| ALD (references) | ✅ | ✅ | ✅ Working |
|
|
320
|
+
| All block types | ✅ | ✅ | ✅ Supported |
|
|
321
|
+
| Key-value pairs | ✅ | ✅ | ✅ Supported |
|
|
322
|
+
| Nested inline IALs | ✅ | ✅ | ✅ Supported |
|
|
323
|
+
| Reliable matching | ✅ | ✅ | ✅ Fixed (element indexing) |
|
|
324
|
+
|
|
325
|
+
## Conclusion
|
|
326
|
+
|
|
327
|
+
IAL support is **fully functional and production-ready**.
|
|
328
|
+
All Kramdown IAL features are implemented:
|
|
329
|
+
|
|
330
|
+
- ✅ Block-level IALs (all block types)
|
|
331
|
+
- ✅ Inline IALs (links, images, emphasis, strong, code)
|
|
332
|
+
- ✅ Same-line and next-line syntax for headings
|
|
333
|
+
- ✅ Attribute List Definitions (ALDs)
|
|
334
|
+
- ✅ Key-value pairs
|
|
335
|
+
- ✅ Nested inline elements
|
|
336
|
+
- ✅ Robust element matching
|
|
337
|
+
|
|
338
|
+
**Recommendation**: Ready for production use. For complete documentation, see [Wiki: Inline Attribute Lists](https://github.com/yourusername/apex.wiki/Inline-Attribute-Lists).
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
*Last Updated: 2025-01-XX*
|
|
343
|
+
*Status: Fully Implemented*
|
|
344
|
+
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Example code snippets for integrating Apex into Marked
|
|
3
|
+
*
|
|
4
|
+
* These snippets show how to add Apex processor support to existing Marked code
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#import "NSString+Apex.h"
|
|
8
|
+
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// EXAMPLE 1: Adding Apex to MKConductorTransformer.m runProcessor method
|
|
11
|
+
// ============================================================================
|
|
12
|
+
|
|
13
|
+
// Around line 216, add this case after kramdown:
|
|
14
|
+
|
|
15
|
+
} else if ([processor isEqualToString:@"kramdown"]) {
|
|
16
|
+
useCustom = NO;
|
|
17
|
+
[defaults setBool:NO forKey:@"isMultiMarkdownDefault"];
|
|
18
|
+
[defaults setValue:@"Kramdown" forKey:@"defaultProcessor"];
|
|
19
|
+
} else if ([processor isEqualToString:@"apex"]) {
|
|
20
|
+
useCustom = NO;
|
|
21
|
+
[defaults setBool:NO forKey:@"isMultiMarkdownDefault"];
|
|
22
|
+
[defaults setValue:@"Apex" forKey:@"defaultProcessor"];
|
|
23
|
+
} else if ([processor isEqualToString:@"custom"]) {
|
|
24
|
+
useCustom = YES;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Around line 232, add this conversion case:
|
|
28
|
+
|
|
29
|
+
} else if ([processor isEqualToString:@"Kramdown"]) {
|
|
30
|
+
result = [NSString convertWithKramdown:text];
|
|
31
|
+
} else if ([processor isEqualToString:@"Apex"]) {
|
|
32
|
+
result = [NSString convertWithApex:text];
|
|
33
|
+
} else if ([processor isEqualToString:@"MultiMarkdown"]) {
|
|
34
|
+
result = [NSString convertWithMultiMarkdown:text];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// ============================================================================
|
|
38
|
+
// EXAMPLE 2: Adding Apex to NSString_MultiMarkdown.m processMultiMarkdown
|
|
39
|
+
// ============================================================================
|
|
40
|
+
|
|
41
|
+
// In the processor selection code around line 3878:
|
|
42
|
+
|
|
43
|
+
} else if ([processor isEqualToString:@"Kramdown"]) {
|
|
44
|
+
DDLogInfo(@"Starting Kramdown conversion");
|
|
45
|
+
out = [NSString convertWithKramdown:safeInputString];
|
|
46
|
+
} else if ([processor isEqualToString:@"Apex"]) {
|
|
47
|
+
DDLogInfo(@"Starting Apex conversion");
|
|
48
|
+
out = [NSString convertWithApex:safeInputString];
|
|
49
|
+
} else if ([processor isEqualToString:@"MultiMarkdown"]) {
|
|
50
|
+
DDLogInfo(@"Starting MultiMarkdown conversion");
|
|
51
|
+
out = [self convertWithMultiMarkdown:safeInputString];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Also add Apex handling in custom processor fallback around line 3780:
|
|
55
|
+
|
|
56
|
+
} else if ([outputString.uppercaseString isEqualToString:@"KRAMDOWN"]) {
|
|
57
|
+
DDLogInfo(@"Custom processor returned KRAMDOWN directive");
|
|
58
|
+
[defaults setBool:NO forKey:@"isMultiMarkdownDefault"];
|
|
59
|
+
[defaults setValue:@"Kramdown" forKey:@"defaultProcessor"];
|
|
60
|
+
} else if ([outputString.uppercaseString isEqualToString:@"APEX"]) {
|
|
61
|
+
DDLogInfo(@"Custom processor returned APEX directive");
|
|
62
|
+
[defaults setBool:NO forKey:@"isMultiMarkdownDefault"];
|
|
63
|
+
[defaults setValue:@"Apex" forKey:@"defaultProcessor"];
|
|
64
|
+
} else {
|
|
65
|
+
// ... existing code
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// ============================================================================
|
|
69
|
+
// EXAMPLE 3: Using Apex with specific mode
|
|
70
|
+
// ============================================================================
|
|
71
|
+
|
|
72
|
+
// You can call Apex with a specific processor mode:
|
|
73
|
+
NSString *html;
|
|
74
|
+
|
|
75
|
+
// Use GFM mode
|
|
76
|
+
html = [NSString convertWithApex:markdown mode:@"gfm"];
|
|
77
|
+
|
|
78
|
+
// Use MultiMarkdown mode
|
|
79
|
+
html = [NSString convertWithApex:markdown mode:@"multimarkdown"];
|
|
80
|
+
|
|
81
|
+
// Use unified mode (all features)
|
|
82
|
+
html = [NSString convertWithApex:markdown mode:@"unified"];
|
|
83
|
+
|
|
84
|
+
// ============================================================================
|
|
85
|
+
// EXAMPLE 4: Adding to Preferences UI
|
|
86
|
+
// ============================================================================
|
|
87
|
+
|
|
88
|
+
// In AppPrefsWindowController.m or wherever processor dropdown is populated
|
|
89
|
+
// Add "Apex (Unified)" to the list of processors:
|
|
90
|
+
|
|
91
|
+
NSArray *processors = @[
|
|
92
|
+
@"MultiMarkdown",
|
|
93
|
+
@"Discount (GFM)",
|
|
94
|
+
@"CommonMark",
|
|
95
|
+
@"Kramdown",
|
|
96
|
+
@"Apex" // Add this
|
|
97
|
+
];
|
|
98
|
+
|
|
99
|
+
// ============================================================================
|
|
100
|
+
// EXAMPLE 5: Using Apex from Custom Processor Rules
|
|
101
|
+
// ============================================================================
|
|
102
|
+
|
|
103
|
+
// Users can create a Custom Processor Rule that returns "APEX" to use Apex:
|
|
104
|
+
|
|
105
|
+
// In a shell script custom processor:
|
|
106
|
+
#!/bin/bash
|
|
107
|
+
if [[ "$MARKED_PATH" == *.wiki ]]; then
|
|
108
|
+
echo "APEX"
|
|
109
|
+
else
|
|
110
|
+
echo "NOCUSTOM"
|
|
111
|
+
fi
|
|
112
|
+
|
|
113
|
+
// ============================================================================
|
|
114
|
+
// EXAMPLE 6: Direct C API usage (if needed for performance)
|
|
115
|
+
// ============================================================================
|
|
116
|
+
|
|
117
|
+
#include <apex/apex.h>
|
|
118
|
+
|
|
119
|
+
// Get default options
|
|
120
|
+
apex_options options = apex_options_default();
|
|
121
|
+
|
|
122
|
+
// Or get mode-specific options
|
|
123
|
+
apex_options gfm_options = apex_options_for_mode(APEX_MODE_GFM);
|
|
124
|
+
|
|
125
|
+
// Convert markdown
|
|
126
|
+
const char *markdown = "# Hello\n\nWorld";
|
|
127
|
+
char *html = apex_markdown_to_html(markdown, strlen(markdown), &options);
|
|
128
|
+
|
|
129
|
+
// Use html...
|
|
130
|
+
|
|
131
|
+
// Clean up
|
|
132
|
+
apex_free_string(html);
|
|
133
|
+
|
|
134
|
+
// ============================================================================
|
|
135
|
+
// Notes
|
|
136
|
+
// ============================================================================
|
|
137
|
+
|
|
138
|
+
/*
|
|
139
|
+
* Performance: Apex should be comparable to or faster than existing processors
|
|
140
|
+
* Memory: Uses cmark-gfm's efficient arena allocator
|
|
141
|
+
* Thread Safety: Create separate apex_options for each thread
|
|
142
|
+
* Error Handling: Returns empty string on error, never NULL
|
|
143
|
+
*/
|
|
144
|
+
|