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,96 @@
|
|
|
1
|
+
# Basic Heading
|
|
2
|
+
|
|
3
|
+
## Heading with Spaces
|
|
4
|
+
|
|
5
|
+
### Multiple Spaces Here
|
|
6
|
+
|
|
7
|
+
#### Heading-with-dash
|
|
8
|
+
|
|
9
|
+
##### Heading_with_underscore
|
|
10
|
+
|
|
11
|
+
###### Heading.with.dots
|
|
12
|
+
|
|
13
|
+
# Leading Space Test
|
|
14
|
+
|
|
15
|
+
## Trailing Space Test
|
|
16
|
+
|
|
17
|
+
### Mixed Case Heading
|
|
18
|
+
|
|
19
|
+
#### ALL CAPS HEADING
|
|
20
|
+
|
|
21
|
+
# Punctuation Test, Here!
|
|
22
|
+
|
|
23
|
+
## More Punctuation: Colons; Semicolons?
|
|
24
|
+
|
|
25
|
+
### Special Characters @#$%^&*
|
|
26
|
+
|
|
27
|
+
#### Parentheses (and brackets) [test]
|
|
28
|
+
|
|
29
|
+
##### Quotes "double" and 'single'
|
|
30
|
+
|
|
31
|
+
###### Backticks `code` in heading
|
|
32
|
+
|
|
33
|
+
# Em Dash — Test
|
|
34
|
+
|
|
35
|
+
## En Dash – Test
|
|
36
|
+
|
|
37
|
+
### Mixed Dashes — and – here
|
|
38
|
+
|
|
39
|
+
# Diacritics Émoji Support
|
|
40
|
+
|
|
41
|
+
## More Diacritics: Café, naïve, résumé
|
|
42
|
+
|
|
43
|
+
### Accented Characters: àáâãäå
|
|
44
|
+
|
|
45
|
+
#### Cyrillic: Привет
|
|
46
|
+
|
|
47
|
+
##### Chinese: 你好
|
|
48
|
+
|
|
49
|
+
###### Japanese: こんにちは
|
|
50
|
+
|
|
51
|
+
# Numbers 123 in Heading
|
|
52
|
+
|
|
53
|
+
## Math Symbols: 2+2=4
|
|
54
|
+
|
|
55
|
+
### Currency: $100, €50, £25
|
|
56
|
+
|
|
57
|
+
# Leading Dash -Test
|
|
58
|
+
|
|
59
|
+
## Trailing Dash Test-
|
|
60
|
+
|
|
61
|
+
### Multiple Dashes -- Here
|
|
62
|
+
|
|
63
|
+
#### Triple Dash --- Test
|
|
64
|
+
|
|
65
|
+
# Empty After Processing
|
|
66
|
+
|
|
67
|
+
## !@#$%^&*()
|
|
68
|
+
|
|
69
|
+
### Only Special Characters
|
|
70
|
+
|
|
71
|
+
# Very Long Heading That Should Still Generate a Valid ID Even When It Contains Many Words and Characters
|
|
72
|
+
|
|
73
|
+
## Heading with URL: https://example.com/path
|
|
74
|
+
|
|
75
|
+
### Email in heading: user@example.com
|
|
76
|
+
|
|
77
|
+
# Heading with Markdown *bold* and _italic_
|
|
78
|
+
|
|
79
|
+
## Heading with `code` span
|
|
80
|
+
|
|
81
|
+
### Heading with [link](url)
|
|
82
|
+
|
|
83
|
+
#### Heading with 
|
|
84
|
+
|
|
85
|
+
# Heading with HTML <tag>
|
|
86
|
+
|
|
87
|
+
## Mixed: Heading—with—dashes and spaces
|
|
88
|
+
|
|
89
|
+
### Complex: Hello, World! (Test) [2024]
|
|
90
|
+
|
|
91
|
+
#### Edge Case: Multiple Spaces Everywhere
|
|
92
|
+
|
|
93
|
+
##### Another: Test---Multiple---Dashes
|
|
94
|
+
|
|
95
|
+
###### Final: Special@#$%Chars
|
|
96
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Test Document with Citations
|
|
3
|
+
bibliography: test_refs.bib
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Test Document with Citations
|
|
7
|
+
|
|
8
|
+
This is a test document with various citation styles.
|
|
9
|
+
|
|
10
|
+
## Pandoc Citations
|
|
11
|
+
|
|
12
|
+
Blah blah [@doe99; @smith2000; @smith2004].
|
|
13
|
+
|
|
14
|
+
See @doe99, pp. 33-35 and *passim*.
|
|
15
|
+
|
|
16
|
+
Smith says blah [-@smith04].
|
|
17
|
+
|
|
18
|
+
@smith04 says blah.
|
|
19
|
+
|
|
20
|
+
@smith04 [p. 33] says blah.
|
|
21
|
+
|
|
22
|
+
## MultiMarkdown Citations
|
|
23
|
+
|
|
24
|
+
This is a statement that should be attributed to its
|
|
25
|
+
source[p. 23][#Doe:2006].
|
|
26
|
+
|
|
27
|
+
This is a statement that should be attributed to its
|
|
28
|
+
source[][#Doe:2006].
|
|
29
|
+
|
|
30
|
+
As per Doe.[#John Doe. *A Totally Fake Book 1*. Vanity
|
|
31
|
+
Press, 2006.]
|
|
32
|
+
|
|
33
|
+
## mmark Citations
|
|
34
|
+
|
|
35
|
+
This references [@RFC2535] and [@!RFC1034] (normative).
|
|
36
|
+
|
|
37
|
+
Multiple citations: [@RFC1034;@RFC1035].
|
|
38
|
+
|
|
39
|
+
Combined reference: [@RFC1034@STD3].
|
|
40
|
+
|
|
41
|
+
## References Section
|
|
42
|
+
|
|
43
|
+
<!-- REFERENCES -->
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Term with [inline link](https://example.com)
|
|
2
|
+
: Definition with inline link
|
|
3
|
+
|
|
4
|
+
Term with [reference link][ref]
|
|
5
|
+
: Definition with reference link
|
|
6
|
+
|
|
7
|
+
[ref]: https://example.com "Reference title"
|
|
8
|
+
|
|
9
|
+
Term with [shortcut reference][]
|
|
10
|
+
: Definition with shortcut reference
|
|
11
|
+
|
|
12
|
+
[shortcut reference]: https://example.org
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Test Document with mmark Index Syntax
|
|
2
|
+
|
|
3
|
+
This is a test document to demonstrate mmark index syntax.
|
|
4
|
+
|
|
5
|
+
## Introduction
|
|
6
|
+
|
|
7
|
+
This document contains various topics that will be indexed.
|
|
8
|
+
We have protocols (!Protocol) and implementations
|
|
9
|
+
(!Implementation).
|
|
10
|
+
|
|
11
|
+
## Section on HTTP
|
|
12
|
+
|
|
13
|
+
HTTP (!HTTP) is a protocol (!Protocol) used for web
|
|
14
|
+
communication. The HTTP protocol (!Protocol) has several
|
|
15
|
+
versions.
|
|
16
|
+
|
|
17
|
+
### HTTP/1.1
|
|
18
|
+
|
|
19
|
+
HTTP/1.1 (!HTTP, HTTP/1.1) is a common version of the
|
|
20
|
+
protocol (!Protocol).
|
|
21
|
+
|
|
22
|
+
### HTTP/2
|
|
23
|
+
|
|
24
|
+
HTTP/2 (!HTTP, HTTP/2) introduced multiplexing.
|
|
25
|
+
|
|
26
|
+
## Section on Security
|
|
27
|
+
|
|
28
|
+
Security (!Security) is important. We discuss encryption
|
|
29
|
+
(!Encryption) and authentication (!Authentication).
|
|
30
|
+
|
|
31
|
+
### Encryption Methods
|
|
32
|
+
|
|
33
|
+
Symmetric encryption (!Encryption, Symmetric) uses the same
|
|
34
|
+
key for encryption and decryption.
|
|
35
|
+
|
|
36
|
+
Asymmetric encryption (!Encryption, Asymmetric) uses
|
|
37
|
+
different keys.
|
|
38
|
+
|
|
39
|
+
## Primary Index Entry
|
|
40
|
+
|
|
41
|
+
This section discusses the primary topic (!!Primary Topic,
|
|
42
|
+
Sub Topic).
|
|
43
|
+
|
|
44
|
+
## Section-Level Index
|
|
45
|
+
|
|
46
|
+
(!Section Index Entry)
|
|
47
|
+
|
|
48
|
+
This entire section should be indexed as "Section Index
|
|
49
|
+
Entry".
|
|
50
|
+
|
|
51
|
+
## Conclusion
|
|
52
|
+
|
|
53
|
+
This concludes our test of index syntax.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Test Document with TextIndex Syntax
|
|
2
|
+
|
|
3
|
+
This is a test document to demonstrate TextIndex syntax.
|
|
4
|
+
|
|
5
|
+
## Introduction
|
|
6
|
+
|
|
7
|
+
Most mechanical keyboard firmware{^} supports the use of
|
|
8
|
+
[key combinations]{^}.
|
|
9
|
+
|
|
10
|
+
## Protocols
|
|
11
|
+
|
|
12
|
+
HTTP{^} is a protocol{^} used for web communication. The
|
|
13
|
+
HTTP protocol{^} has several versions.
|
|
14
|
+
|
|
15
|
+
### HTTP/1.1
|
|
16
|
+
|
|
17
|
+
HTTP/1.1{^} is a common version of the protocol{^}.
|
|
18
|
+
|
|
19
|
+
### HTTP/2
|
|
20
|
+
|
|
21
|
+
HTTP/2{^} introduced multiplexing.
|
|
22
|
+
|
|
23
|
+
## Security
|
|
24
|
+
|
|
25
|
+
Security{^} is important. We discuss encryption{^} and
|
|
26
|
+
authentication{^}.
|
|
27
|
+
|
|
28
|
+
### Encryption Methods
|
|
29
|
+
|
|
30
|
+
Symmetric encryption{^} uses the same key for encryption and
|
|
31
|
+
decryption.
|
|
32
|
+
|
|
33
|
+
Asymmetric encryption{^} uses different keys.
|
|
34
|
+
|
|
35
|
+
## Conclusion
|
|
36
|
+
|
|
37
|
+
This concludes our test of TextIndex syntax.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
This table uses Pandoc captions and attributes
|
|
2
|
+
|
|
3
|
+
| Key | Value |
|
|
4
|
+
| --- | :---: |
|
|
5
|
+
| one | 1 |
|
|
6
|
+
| two | 2 |
|
|
7
|
+
|
|
8
|
+
: Key value table {:.testing}
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
This table combines both rowspan and colspan features:
|
|
13
|
+
|
|
14
|
+
[Employee Performance Q4 2025]
|
|
15
|
+
| Department | Employee | Q1-Q2 Average | Q3 | Q4 | Overall |
|
|
16
|
+
| ----------- | -------- | ------------- | ------ | --- | ------- |
|
|
17
|
+
| Engineering | Alice | 93.5 | 94 | 96 | 94.25 |
|
|
18
|
+
| ^^ | Bob | 89.0 | 87 | 91 | 89.00 |
|
|
19
|
+
| Marketing | Charlie | 92.0 | Absent | | 92.00 |
|
|
20
|
+
| Sales | Diana | 87.5 | 88 | 90 | 88.50 |
|
|
21
|
+
| ^^ | Eve | 93.0 | 95 | 93 | 93.50 |
|
|
22
|
+
{: .performance-table #q4-results}
|
|
23
|
+
|
|
24
|
+
More colspan testing:
|
|
25
|
+
|
|
26
|
+
| | This | Has | Colspans |
|
|
27
|
+
| ----: | ------- | ----- | -------------- |
|
|
28
|
+
| row 1 | | blank | cell |
|
|
29
|
+
| row 2 | colspan |||
|
|
30
|
+
| row 3 | cell || ← colspan |
|
|
31
|
+
| row 4 | forced colspan | << | ← colspan |
|
|
32
|
+
| row 5 | raw \<< | \<< | No colspan |
|
|
33
|
+
|
|
34
|
+
: Just some colspan testing
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
Use `^^` to merge cells vertically (rowspan):
|
|
39
|
+
|
|
40
|
+
| Name | Department | Project | Status |
|
|
41
|
+
| ----- | ----------- | -------- | ------ |
|
|
42
|
+
| Frank | Malarkey | Alpha | Active |
|
|
43
|
+
| ^^ | ^^ | Beta | ^^ |
|
|
44
|
+
| ^^ | ^^ | Gamma | ^^ |
|
|
45
|
+
| Ron | Advertising | Campaign | Active |
|
|
46
|
+
| Chuck | Hooliganism | Q4 | Active |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
| Department | Employee | Q1-Q2 Average | Q3 | Q4 | Overall |
|
|
52
|
+
| ----------- | -------- | ------------- | ------- | ------- | --------- |
|
|
53
|
+
| Engineering | Alice | 93.5 | 94 | 96 | 94.25 |
|
|
54
|
+
| Foogling | Jake | 60.3 | 20 | 20 | 30.1 |
|
|
55
|
+
| boggling | 24 | | | | |
|
|
56
|
+
| ===== | ======= | ========= | ===== | ======= | ========= |
|
|
57
|
+
| footer | row | with | colspan | | |
|
|
58
|
+
|
|
59
|
+
[colspans]
|
|
60
|
+
| header | | |
|
|
61
|
+
| ------ | ---- | ---- |
|
|
62
|
+
| data | data | data |
|
|
63
|
+
| data | data | data |
|
|
64
|
+
| ==== | === | === |
|
|
65
|
+
| footer | | |
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
| h1 | h2 | h3 |
|
|
69
|
+
| --- | :---: | --- |
|
|
70
|
+
| d1 | d2 | d3 |
|
|
71
|
+
| d1 | d2 | d3 |
|
|
72
|
+
| === | === | === |
|
|
73
|
+
| d-4 | d-5 | d-6 |
|
|
74
|
+
[table with footer]
|
|
75
|
+
|
|
76
|
+
| h1 | h2 asdfasdf asdf | h3 |
|
|
77
|
+
| --- | :--------------: | --- |
|
|
78
|
+
| d1 | : d2 | d3 |
|
|
79
|
+
| d1 | d2 : | d3 |
|
|
80
|
+
|
|
81
|
+
Table: Table with Pandoc caption
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
| ----: | :-----: | :----- |
|
|
85
|
+
| aa | bb | cc |
|
|
86
|
+
| 1 | 2 | 3 |
|
|
87
|
+
|
|
88
|
+
Table: Table without header row
|
|
89
|
+
|
|
90
|
+
[Relaxed table]
|
|
91
|
+
| a | b | c |
|
|
92
|
+
| 1d | 2b | 3c |
|
|
93
|
+
| data 1 | data 2 | data 3 |
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Inline Tables Test
|
|
2
|
+
|
|
3
|
+
Regular paragraph before.
|
|
4
|
+
|
|
5
|
+
```table
|
|
6
|
+
header 1,header 2,header 3
|
|
7
|
+
data 1,data 2,data 3
|
|
8
|
+
,,data 2c
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Paragraph between.
|
|
13
|
+
|
|
14
|
+
```table
|
|
15
|
+
col1\tcol2\tcol3
|
|
16
|
+
val1\tval2\tval3
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
```table
|
|
21
|
+
this is not,actually a table header
|
|
22
|
+
but has no delimiter on second line
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
<!--TABLE-->
|
|
27
|
+
one,two,three
|
|
28
|
+
four,five,six
|
|
29
|
+
|
|
30
|
+
<!--TABLE-->
|
|
31
|
+
alpha\tbeta\tgamma
|
|
32
|
+
delta\tepsilon\tzeta
|
|
33
|
+
|
|
34
|
+
<!--TABLE-->
|
|
35
|
+
|
|
36
|
+
No data here; should be unchanged.
|
|
37
|
+
|
|
38
|
+
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Generate GFM-compliant header IDs using available tools
|
|
3
|
+
# This script tries multiple tools to generate header IDs for comparison
|
|
4
|
+
|
|
5
|
+
TEST_FILE="tests/gfm_header_id_test.md"
|
|
6
|
+
|
|
7
|
+
echo "=== Generating Header IDs with Available Tools ==="
|
|
8
|
+
echo ""
|
|
9
|
+
|
|
10
|
+
# Extract headings from test file
|
|
11
|
+
grep -E '^#+ ' "$TEST_FILE" | sed 's/^#* //' > /tmp/headings.txt
|
|
12
|
+
|
|
13
|
+
# Try pandoc
|
|
14
|
+
if command -v pandoc &> /dev/null; then
|
|
15
|
+
echo "Using Pandoc:"
|
|
16
|
+
cat "$TEST_FILE" | pandoc -f gfm -t html 2>&1 | grep -E '<h[1-6] id=' | sed 's/.*id="\([^"]*\)".*/\1/' > /tmp/pandoc_ids.txt
|
|
17
|
+
echo "Generated $(wc -l < /tmp/pandoc_ids.txt) IDs"
|
|
18
|
+
echo ""
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
# Try comrak
|
|
22
|
+
if command -v comrak &> /dev/null; then
|
|
23
|
+
echo "Using Comrak:"
|
|
24
|
+
# Comrak uses anchor tags with IDs: <a ... id="header-id"></a>
|
|
25
|
+
cat "$TEST_FILE" | comrak --gfm --header-ids "" 2>&1 | grep -E 'id="[^"]*"' | sed 's/.*id="\([^"]*\)".*/\1/' > /tmp/comrak_ids.txt
|
|
26
|
+
if [ -f /tmp/comrak_ids.txt ] && [ -s /tmp/comrak_ids.txt ]; then
|
|
27
|
+
echo "Generated $(wc -l < /tmp/comrak_ids.txt) IDs"
|
|
28
|
+
else
|
|
29
|
+
echo "Generated 0 IDs (comrak may not generate IDs in this format)"
|
|
30
|
+
fi
|
|
31
|
+
echo ""
|
|
32
|
+
fi
|
|
33
|
+
|
|
34
|
+
# Our implementation
|
|
35
|
+
echo "Using Apex:"
|
|
36
|
+
cat "$TEST_FILE" | ./build/apex --mode gfm 2>&1 | grep -E '<h[1-6] id=' | sed 's/.*id="\([^"]*\)".*/\1/' > /tmp/apex_ids.txt
|
|
37
|
+
echo "Generated $(wc -l < /tmp/apex_ids.txt) IDs"
|
|
38
|
+
echo ""
|
|
39
|
+
|
|
40
|
+
# Show comparison if we have multiple tools
|
|
41
|
+
echo "=== Comparison ==="
|
|
42
|
+
HEADERS="Heading"
|
|
43
|
+
COLS="/tmp/headings.txt"
|
|
44
|
+
|
|
45
|
+
if [ -f /tmp/pandoc_ids.txt ] && [ -s /tmp/pandoc_ids.txt ]; then
|
|
46
|
+
HEADERS="$HEADERS|Pandoc"
|
|
47
|
+
COLS="$COLS /tmp/pandoc_ids.txt"
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
if [ -f /tmp/comrak_ids.txt ] && [ -s /tmp/comrak_ids.txt ]; then
|
|
51
|
+
HEADERS="$HEADERS|Comrak"
|
|
52
|
+
COLS="$COLS /tmp/comrak_ids.txt"
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
if [ -f /tmp/marked_ids.txt ] && [ -s /tmp/marked_ids.txt ]; then
|
|
56
|
+
HEADERS="$HEADERS|Marked"
|
|
57
|
+
COLS="$COLS /tmp/marked_ids.txt"
|
|
58
|
+
fi
|
|
59
|
+
|
|
60
|
+
HEADERS="$HEADERS|Apex"
|
|
61
|
+
COLS="$COLS /tmp/apex_ids.txt"
|
|
62
|
+
|
|
63
|
+
echo "$HEADERS"
|
|
64
|
+
echo "$(echo "$HEADERS" | sed 's/[^|]/-/g')"
|
|
65
|
+
paste -d '|' $COLS | head -50
|
|
66
|
+
echo ""
|
|
67
|
+
|
|
68
|
+
# Try marked (JavaScript) with gfm-heading-id plugin if available
|
|
69
|
+
if command -v node &> /dev/null && npm list -g marked-gfm-heading-id &> /dev/null; then
|
|
70
|
+
echo "Using Marked (JavaScript) with GFM Heading ID plugin:"
|
|
71
|
+
# Find the global node_modules path
|
|
72
|
+
NODE_PATH=$(npm root -g)
|
|
73
|
+
node -e "
|
|
74
|
+
const fs = require('fs');
|
|
75
|
+
const path = require('path');
|
|
76
|
+
const { marked } = require('$NODE_PATH/marked');
|
|
77
|
+
const { gfmHeadingId } = require('$NODE_PATH/marked-gfm-heading-id');
|
|
78
|
+
marked.use(gfmHeadingId());
|
|
79
|
+
const text = fs.readFileSync('$TEST_FILE', 'utf8');
|
|
80
|
+
const html = marked(text);
|
|
81
|
+
const ids = html.match(/<h[1-6] id=\"([^\"]+)\"/g) || [];
|
|
82
|
+
ids.forEach(id => {
|
|
83
|
+
const match = id.match(/id=\"([^\"]+)\"/);
|
|
84
|
+
if (match) console.log(match[1]);
|
|
85
|
+
});
|
|
86
|
+
" > /tmp/marked_ids.txt 2>/dev/null
|
|
87
|
+
if [ -f /tmp/marked_ids.txt ] && [ -s /tmp/marked_ids.txt ]; then
|
|
88
|
+
echo "Generated $(wc -l < /tmp/marked_ids.txt) IDs"
|
|
89
|
+
echo ""
|
|
90
|
+
else
|
|
91
|
+
echo "Generated 0 IDs"
|
|
92
|
+
echo ""
|
|
93
|
+
fi
|
|
94
|
+
fi
|
|
95
|
+
|
|
96
|
+
echo ""
|
|
97
|
+
echo "=== Summary ==="
|
|
98
|
+
echo "Available tools tested:"
|
|
99
|
+
[ -f /tmp/pandoc_ids.txt ] && [ -s /tmp/pandoc_ids.txt ] && echo " ✓ Pandoc"
|
|
100
|
+
[ -f /tmp/comrak_ids.txt ] && [ -s /tmp/comrak_ids.txt ] && echo " ✓ Comrak"
|
|
101
|
+
[ -f /tmp/marked_ids.txt ] && [ -s /tmp/marked_ids.txt ] && echo " ✓ Marked (JavaScript)"
|
|
102
|
+
echo " ✓ Apex (our implementation)"
|
|
103
|
+
echo ""
|
|
104
|
+
echo "Note: GitHub's API doesn't return header IDs."
|
|
105
|
+
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Generate ial_demo.html from ial_demo.md
|
|
3
|
+
|
|
4
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
5
|
+
APEX_BIN="$SCRIPT_DIR/../build/apex"
|
|
6
|
+
MD_FILE="$SCRIPT_DIR/ial_demo.md"
|
|
7
|
+
HTML_FILE="$SCRIPT_DIR/ial_demo.html"
|
|
8
|
+
|
|
9
|
+
# Check if apex binary exists
|
|
10
|
+
if [ ! -f "$APEX_BIN" ]; then
|
|
11
|
+
echo "Error: apex binary not found at $APEX_BIN" >&2
|
|
12
|
+
echo "Please build apex first with: make -C build" >&2
|
|
13
|
+
exit 1
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
# Generate HTML content
|
|
17
|
+
HTML_CONTENT=$("$APEX_BIN" "$MD_FILE" 2>&1)
|
|
18
|
+
if [ $? -ne 0 ]; then
|
|
19
|
+
echo "Error: Failed to generate HTML from markdown" >&2
|
|
20
|
+
exit 1
|
|
21
|
+
fi
|
|
22
|
+
|
|
23
|
+
# Create the complete HTML file
|
|
24
|
+
cat > "$HTML_FILE" << 'EOF'
|
|
25
|
+
<!DOCTYPE html>
|
|
26
|
+
<html lang="en">
|
|
27
|
+
<head>
|
|
28
|
+
<meta charset="UTF-8">
|
|
29
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
30
|
+
<title>IAL Demo - Attribute Inspector</title>
|
|
31
|
+
<style>
|
|
32
|
+
body {
|
|
33
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
|
|
34
|
+
line-height: 1.6;
|
|
35
|
+
max-width: 900px;
|
|
36
|
+
margin: 0 auto;
|
|
37
|
+
padding: 20px;
|
|
38
|
+
background-color: #f5f5f5;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.content {
|
|
42
|
+
background: white;
|
|
43
|
+
padding: 30px;
|
|
44
|
+
border-radius: 8px;
|
|
45
|
+
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* Style for elements with attributes - add visual indicator */
|
|
49
|
+
[class]:hover,
|
|
50
|
+
[id]:hover {
|
|
51
|
+
outline: 2px solid #4CAF50;
|
|
52
|
+
outline-offset: 2px;
|
|
53
|
+
background-color: rgba(76, 175, 80, 0.1);
|
|
54
|
+
transition: background-color 0.2s;
|
|
55
|
+
}
|
|
56
|
+
</style>
|
|
57
|
+
<script>
|
|
58
|
+
// Add tooltips showing all attributes on hover
|
|
59
|
+
document.addEventListener('DOMContentLoaded', function() {
|
|
60
|
+
// Create tooltip element
|
|
61
|
+
const tooltip = document.createElement('div');
|
|
62
|
+
tooltip.id = 'attribute-tooltip';
|
|
63
|
+
tooltip.style.cssText = 'position: absolute; background: #333; color: white; padding: 8px 12px; border-radius: 4px; font-size: 12px; font-family: "Courier New", monospace; z-index: 10000; pointer-events: none; opacity: 0; transition: opacity 0.2s; box-shadow: 0 2px 8px rgba(0,0,0,0.3); max-width: 400px; word-wrap: break-word; white-space: normal; line-height: 1.4;';
|
|
64
|
+
document.body.appendChild(tooltip);
|
|
65
|
+
|
|
66
|
+
// Function to get all attributes as a formatted string
|
|
67
|
+
function getAttributesString(el) {
|
|
68
|
+
const attrs = [];
|
|
69
|
+
if (el.id) attrs.push('id="' + el.id + '"');
|
|
70
|
+
if (el.className) attrs.push('class="' + el.className + '"');
|
|
71
|
+
for (let i = 0; i < el.attributes.length; i++) {
|
|
72
|
+
const attr = el.attributes[i];
|
|
73
|
+
if (attr.name !== 'id' && attr.name !== 'class' && !attr.name.startsWith('data-apex-')) {
|
|
74
|
+
attrs.push(attr.name + '="' + attr.value + '"');
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return attrs.length > 0 ? attrs.join(' ') : 'No attributes';
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Add hover handlers to all elements with attributes
|
|
81
|
+
const elementsWithAttrs = document.querySelectorAll('[class], [id]');
|
|
82
|
+
elementsWithAttrs.forEach(el => {
|
|
83
|
+
// Skip the tooltip itself and elements inside code blocks
|
|
84
|
+
if (el.id === 'attribute-tooltip' || el.closest('code') || el.closest('pre')) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
el.addEventListener('mouseenter', function(e) {
|
|
89
|
+
const attrs = getAttributesString(this);
|
|
90
|
+
const tagName = this.tagName.toLowerCase();
|
|
91
|
+
tooltip.innerHTML = '<strong><' + tagName + '</strong> ' +
|
|
92
|
+
(attrs !== 'No attributes' ? attrs : '<em>' + attrs + '</em>') +
|
|
93
|
+
'<strong>></strong>';
|
|
94
|
+
tooltip.style.opacity = '1';
|
|
95
|
+
|
|
96
|
+
const rect = this.getBoundingClientRect();
|
|
97
|
+
let left = rect.left + window.scrollX;
|
|
98
|
+
let top = rect.top + window.scrollY - tooltip.offsetHeight - 8;
|
|
99
|
+
|
|
100
|
+
// Position tooltip
|
|
101
|
+
tooltip.style.left = left + 'px';
|
|
102
|
+
tooltip.style.top = top + 'px';
|
|
103
|
+
|
|
104
|
+
// Adjust if tooltip goes off screen
|
|
105
|
+
setTimeout(() => {
|
|
106
|
+
const tooltipRect = tooltip.getBoundingClientRect();
|
|
107
|
+
if (tooltipRect.left < 0) {
|
|
108
|
+
tooltip.style.left = '10px';
|
|
109
|
+
}
|
|
110
|
+
if (tooltipRect.top < 0) {
|
|
111
|
+
tooltip.style.top = (rect.bottom + window.scrollY + 8) + 'px';
|
|
112
|
+
}
|
|
113
|
+
if (tooltipRect.right > window.innerWidth) {
|
|
114
|
+
tooltip.style.left = (window.innerWidth - tooltipRect.width - 10) + 'px';
|
|
115
|
+
}
|
|
116
|
+
}, 0);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
el.addEventListener('mouseleave', function() {
|
|
120
|
+
tooltip.style.opacity = '0';
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
console.log('Attribute inspector loaded. Hover over elements with attributes to see them.');
|
|
125
|
+
});
|
|
126
|
+
</script>
|
|
127
|
+
</head>
|
|
128
|
+
<body>
|
|
129
|
+
<div class="content">
|
|
130
|
+
EOF
|
|
131
|
+
|
|
132
|
+
# Append the generated HTML content
|
|
133
|
+
echo "$HTML_CONTENT" >> "$HTML_FILE"
|
|
134
|
+
|
|
135
|
+
# Close the HTML
|
|
136
|
+
cat >> "$HTML_FILE" << 'EOF'
|
|
137
|
+
</div>
|
|
138
|
+
</body>
|
|
139
|
+
</html>
|
|
140
|
+
EOF
|
|
141
|
+
|
|
142
|
+
echo "Generated $HTML_FILE"
|
|
143
|
+
|