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.
Files changed (501) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +119 -0
  3. data/apex-ruby.gemspec +31 -0
  4. data/ext/apex_ext/apex_ext.c +215 -0
  5. data/ext/apex_ext/apex_src/BENCHMARK.md +32 -0
  6. data/ext/apex_ext/apex_src/BENCHMARK_COMPARISON.md +67 -0
  7. data/ext/apex_ext/apex_src/CHANGELOG.md +2454 -0
  8. data/ext/apex_ext/apex_src/CMakeLists.txt +454 -0
  9. data/ext/apex_ext/apex_src/Dockerfile.linux-build +15 -0
  10. data/ext/apex_ext/apex_src/Formula/apex.rb +38 -0
  11. data/ext/apex_ext/apex_src/Info.plist.in +27 -0
  12. data/ext/apex_ext/apex_src/LICENSE +21 -0
  13. data/ext/apex_ext/apex_src/Package.swift +160 -0
  14. data/ext/apex_ext/apex_src/PackageSupport/README.md +17 -0
  15. data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark-gfm_export.h +20 -0
  16. data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark-gfm_version.h +14 -0
  17. data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark_gfm_spm_stub.c +4 -0
  18. data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/config.h +41 -0
  19. data/ext/apex_ext/apex_src/README.md +452 -0
  20. data/ext/apex_ext/apex_src/VERSION +1 -0
  21. data/ext/apex_ext/apex_src/apex-header-2-rb@2x.webp +0 -0
  22. data/ext/apex_ext/apex_src/apex-plugins.json.example +20 -0
  23. data/ext/apex_ext/apex_src/apex.pc.in +11 -0
  24. data/ext/apex_ext/apex_src/cli/main.c +2720 -0
  25. data/ext/apex_ext/apex_src/debug_test.sh +22 -0
  26. data/ext/apex_ext/apex_src/docs/API_REFERENCE.md +451 -0
  27. data/ext/apex_ext/apex_src/docs/ARCHITECTURE.md +166 -0
  28. data/ext/apex_ext/apex_src/docs/CMARK_INTEGRATION.md +220 -0
  29. data/ext/apex_ext/apex_src/docs/CRITICMARKUP.md +501 -0
  30. data/ext/apex_ext/apex_src/docs/DEBUGGING.md +73 -0
  31. data/ext/apex_ext/apex_src/docs/FINAL_STATUS.md +391 -0
  32. data/ext/apex_ext/apex_src/docs/FINAL_STATUS_UPDATE.md +237 -0
  33. data/ext/apex_ext/apex_src/docs/FUTURE_FEATURES.md +456 -0
  34. data/ext/apex_ext/apex_src/docs/IAL_FEATURES.md +210 -0
  35. data/ext/apex_ext/apex_src/docs/IAL_STATUS.md +344 -0
  36. data/ext/apex_ext/apex_src/docs/INTEGRATION_EXAMPLE.m +144 -0
  37. data/ext/apex_ext/apex_src/docs/LIMITATIONS_RESOLVED.md +278 -0
  38. data/ext/apex_ext/apex_src/docs/OUTPUT_MODES.md +321 -0
  39. data/ext/apex_ext/apex_src/docs/PROGRESS.md +167 -0
  40. data/ext/apex_ext/apex_src/docs/STANDALONE_FEATURE.md +174 -0
  41. data/ext/apex_ext/apex_src/docs/TABLE_SPANS_STATUS.md +243 -0
  42. data/ext/apex_ext/apex_src/docs/TEST_COVERAGE.md +316 -0
  43. data/ext/apex_ext/apex_src/docs/USER_GUIDE.md +803 -0
  44. data/ext/apex_ext/apex_src/docs/WIKI_LINKS_ISSUE.md +91 -0
  45. data/ext/apex_ext/apex_src/documentation/README.md +160 -0
  46. data/ext/apex_ext/apex_src/documentation/docsets/Apex Command Line Options.cheatsheet.txt +365 -0
  47. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Info.plist +24 -0
  48. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/C-API.html +1737 -0
  49. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Citations.html +1420 -0
  50. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Command-Line-Options.html +3574 -0
  51. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Configuration.html +1603 -0
  52. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Credits.html +910 -0
  53. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Examples.html +1168 -0
  54. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Getting-Started.html +1003 -0
  55. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Header-IDs.html +1308 -0
  56. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Home.html +1078 -0
  57. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Inline-Attribute-Lists.html +1622 -0
  58. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Installation.html +1168 -0
  59. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Limitations-and-Roadmap.html +1698 -0
  60. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Metadata-Transforms.html +1531 -0
  61. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Modes.html +1980 -0
  62. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-File-Documents.html +1368 -0
  63. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Pandoc-Integration.html +1151 -0
  64. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Plugins.html +2861 -0
  65. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Syntax.html +3981 -0
  66. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Troubleshooting.html +1454 -0
  67. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Usage.html +1200 -0
  68. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Xcode-Integration.html +2066 -0
  69. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/docSet.dsidx +0 -0
  70. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
  71. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/tempOptimizedIndex.dsidx +0 -0
  72. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Info.plist +22 -0
  73. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans.woff +0 -0
  74. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold.woff +0 -0
  75. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold_Italic.woff +0 -0
  76. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold.woff +0 -0
  77. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold_Italic.woff +0 -0
  78. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Italic.woff +0 -0
  79. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold.woff +0 -0
  80. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold_Italic.woff +0 -0
  81. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/index.html +914 -0
  82. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/style.css +399 -0
  83. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/docSet.dsidx +0 -0
  84. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
  85. data/ext/apex_ext/apex_src/documentation/generate_app_docs.rb +772 -0
  86. data/ext/apex_ext/apex_src/documentation/generate_app_docs_ai.rb +678 -0
  87. data/ext/apex_ext/apex_src/documentation/generate_docset.rb +873 -0
  88. data/ext/apex_ext/apex_src/documentation/generate_single_html.rb +733 -0
  89. data/ext/apex_ext/apex_src/documentation/html/apex-docs.html +17073 -0
  90. data/ext/apex_ext/apex_src/documentation/shared_scripts.js +64 -0
  91. data/ext/apex_ext/apex_src/documentation/shared_styles.css +646 -0
  92. data/ext/apex_ext/apex_src/documentation/transform_for_app.example.md +260 -0
  93. data/ext/apex_ext/apex_src/examples/bracketed_spans_demo.md +119 -0
  94. data/ext/apex_ext/apex_src/examples/emoji_span_plugin.yml +11 -0
  95. data/ext/apex_ext/apex_src/examples/example.html +53 -0
  96. data/ext/apex_ext/apex_src/examples/example.md +85 -0
  97. data/ext/apex_ext/apex_src/examples/fenced_divs_demo.md +158 -0
  98. data/ext/apex_ext/apex_src/examples/kbd.md +8 -0
  99. data/ext/apex_ext/apex_src/examples/kbd_plugin.rb +250 -0
  100. data/ext/apex_ext/apex_src/examples/kbd_plugin.yml +9 -0
  101. data/ext/apex_ext/apex_src/icon/apexicon-outline-black.png +0 -0
  102. data/ext/apex_ext/apex_src/icon/apexicon-outline-black@2x.png +0 -0
  103. data/ext/apex_ext/apex_src/icon/apexicon-outline-mark.png +0 -0
  104. data/ext/apex_ext/apex_src/icon/apexicon-outline-mark@2x.png +0 -0
  105. data/ext/apex_ext/apex_src/icon/apexicon-outline-white.png +0 -0
  106. data/ext/apex_ext/apex_src/icon/apexicon-outline-white@2x.png +0 -0
  107. data/ext/apex_ext/apex_src/icon/apexicon.png +0 -0
  108. data/ext/apex_ext/apex_src/icon/apexicon@2x.png +0 -0
  109. data/ext/apex_ext/apex_src/include/apex/apex.h +247 -0
  110. data/ext/apex_ext/apex_src/include/apex/buffer.h +93 -0
  111. data/ext/apex_ext/apex_src/include/apex/module.modulemap +16 -0
  112. data/ext/apex_ext/apex_src/include/apex/parser.h +150 -0
  113. data/ext/apex_ext/apex_src/include/apex/renderer.h +39 -0
  114. data/ext/apex_ext/apex_src/man/apex-config.5 +374 -0
  115. data/ext/apex_ext/apex_src/man/apex-config.5.md +260 -0
  116. data/ext/apex_ext/apex_src/man/apex-plugins.7 +456 -0
  117. data/ext/apex_ext/apex_src/man/apex-plugins.7.md +365 -0
  118. data/ext/apex_ext/apex_src/man/apex.1 +828 -0
  119. data/ext/apex_ext/apex_src/man/apex.1.md +643 -0
  120. data/ext/apex_ext/apex_src/man/apex.1.new +338 -0
  121. data/ext/apex_ext/apex_src/objc/Apex.swift +237 -0
  122. data/ext/apex_ext/apex_src/objc/NSString+Apex.h +117 -0
  123. data/ext/apex_ext/apex_src/objc/NSString+Apex.m +332 -0
  124. data/ext/apex_ext/apex_src/src/_README.md +358 -0
  125. data/ext/apex_ext/apex_src/src/apex.c +6326 -0
  126. data/ext/apex_ext/apex_src/src/buffer.c +93 -0
  127. data/ext/apex_ext/apex_src/src/extensions/abbreviations.c +362 -0
  128. data/ext/apex_ext/apex_src/src/extensions/abbreviations.h +45 -0
  129. data/ext/apex_ext/apex_src/src/extensions/advanced_footnotes.c +184 -0
  130. data/ext/apex_ext/apex_src/src/extensions/advanced_footnotes.h +50 -0
  131. data/ext/apex_ext/apex_src/src/extensions/advanced_tables.c +1897 -0
  132. data/ext/apex_ext/apex_src/src/extensions/advanced_tables.h +42 -0
  133. data/ext/apex_ext/apex_src/src/extensions/callouts.c +215 -0
  134. data/ext/apex_ext/apex_src/src/extensions/callouts.h +53 -0
  135. data/ext/apex_ext/apex_src/src/extensions/citations.c +2042 -0
  136. data/ext/apex_ext/apex_src/src/extensions/citations.h +163 -0
  137. data/ext/apex_ext/apex_src/src/extensions/critic.c +329 -0
  138. data/ext/apex_ext/apex_src/src/extensions/critic.h +48 -0
  139. data/ext/apex_ext/apex_src/src/extensions/definition_list.c +1670 -0
  140. data/ext/apex_ext/apex_src/src/extensions/definition_list.h +42 -0
  141. data/ext/apex_ext/apex_src/src/extensions/emoji.c +710 -0
  142. data/ext/apex_ext/apex_src/src/extensions/emoji.h +38 -0
  143. data/ext/apex_ext/apex_src/src/extensions/emoji_data.h +942 -0
  144. data/ext/apex_ext/apex_src/src/extensions/fenced_divs.c +925 -0
  145. data/ext/apex_ext/apex_src/src/extensions/fenced_divs.h +43 -0
  146. data/ext/apex_ext/apex_src/src/extensions/github-emoji.txt +869 -0
  147. data/ext/apex_ext/apex_src/src/extensions/grid_tables.c +1121 -0
  148. data/ext/apex_ext/apex_src/src/extensions/grid_tables.h +33 -0
  149. data/ext/apex_ext/apex_src/src/extensions/header_ids.c +626 -0
  150. data/ext/apex_ext/apex_src/src/extensions/header_ids.h +60 -0
  151. data/ext/apex_ext/apex_src/src/extensions/highlight.c +135 -0
  152. data/ext/apex_ext/apex_src/src/extensions/highlight.h +16 -0
  153. data/ext/apex_ext/apex_src/src/extensions/html_markdown.c +408 -0
  154. data/ext/apex_ext/apex_src/src/extensions/html_markdown.h +42 -0
  155. data/ext/apex_ext/apex_src/src/extensions/ial.c +4084 -0
  156. data/ext/apex_ext/apex_src/src/extensions/ial.h +145 -0
  157. data/ext/apex_ext/apex_src/src/extensions/includes.c +1536 -0
  158. data/ext/apex_ext/apex_src/src/extensions/includes.h +54 -0
  159. data/ext/apex_ext/apex_src/src/extensions/index.c +967 -0
  160. data/ext/apex_ext/apex_src/src/extensions/index.h +90 -0
  161. data/ext/apex_ext/apex_src/src/extensions/inline_footnotes.c +205 -0
  162. data/ext/apex_ext/apex_src/src/extensions/inline_footnotes.h +34 -0
  163. data/ext/apex_ext/apex_src/src/extensions/inline_tables.c +332 -0
  164. data/ext/apex_ext/apex_src/src/extensions/inline_tables.h +13 -0
  165. data/ext/apex_ext/apex_src/src/extensions/insert.c +248 -0
  166. data/ext/apex_ext/apex_src/src/extensions/insert.h +18 -0
  167. data/ext/apex_ext/apex_src/src/extensions/math.c +279 -0
  168. data/ext/apex_ext/apex_src/src/extensions/math.h +32 -0
  169. data/ext/apex_ext/apex_src/src/extensions/metadata.c +3046 -0
  170. data/ext/apex_ext/apex_src/src/extensions/metadata.h +125 -0
  171. data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.c +1297 -0
  172. data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.h +39 -0
  173. data/ext/apex_ext/apex_src/src/extensions/special_markers.c +194 -0
  174. data/ext/apex_ext/apex_src/src/extensions/special_markers.h +29 -0
  175. data/ext/apex_ext/apex_src/src/extensions/sup_sub.c +405 -0
  176. data/ext/apex_ext/apex_src/src/extensions/sup_sub.h +16 -0
  177. data/ext/apex_ext/apex_src/src/extensions/syntax_highlight.c +468 -0
  178. data/ext/apex_ext/apex_src/src/extensions/syntax_highlight.h +44 -0
  179. data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.c +2679 -0
  180. data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.h +23 -0
  181. data/ext/apex_ext/apex_src/src/extensions/toc.c +255 -0
  182. data/ext/apex_ext/apex_src/src/extensions/toc.h +34 -0
  183. data/ext/apex_ext/apex_src/src/extensions/wiki_links.c +624 -0
  184. data/ext/apex_ext/apex_src/src/extensions/wiki_links.h +58 -0
  185. data/ext/apex_ext/apex_src/src/html_renderer.c +2762 -0
  186. data/ext/apex_ext/apex_src/src/html_renderer.h +126 -0
  187. data/ext/apex_ext/apex_src/src/parser.c +227 -0
  188. data/ext/apex_ext/apex_src/src/plugins.c +895 -0
  189. data/ext/apex_ext/apex_src/src/plugins.h +39 -0
  190. data/ext/apex_ext/apex_src/src/plugins_env.c +187 -0
  191. data/ext/apex_ext/apex_src/src/plugins_remote.c +263 -0
  192. data/ext/apex_ext/apex_src/src/pretty_html.c +358 -0
  193. data/ext/apex_ext/apex_src/src/renderer.c +241 -0
  194. data/ext/apex_ext/apex_src/src/utf8.c +56 -0
  195. data/ext/apex_ext/apex_src/test-linux-build.sh +20 -0
  196. data/ext/apex_ext/apex_src/test.html +103 -0
  197. data/ext/apex_ext/apex_src/test_coverage.sh +121 -0
  198. data/ext/apex_ext/apex_src/test_ial_fenced.md +6 -0
  199. data/ext/apex_ext/apex_src/test_math_norm.py +79 -0
  200. data/ext/apex_ext/apex_src/test_pandoc_output.html +48 -0
  201. data/ext/apex_ext/apex_src/test_spm.sh +107 -0
  202. data/ext/apex_ext/apex_src/tests/ApexSPMTest/main.swift +50 -0
  203. data/ext/apex_ext/apex_src/tests/BENCHMARK_RESULTS.md +229 -0
  204. data/ext/apex_ext/apex_src/tests/CMakeLists.txt +24 -0
  205. data/ext/apex_ext/apex_src/tests/README.md +146 -0
  206. data/ext/apex_ext/apex_src/tests/benchmark.sh +113 -0
  207. data/ext/apex_ext/apex_src/tests/benchmark_comparison.sh +166 -0
  208. data/ext/apex_ext/apex_src/tests/compare_header_ids.sh +31 -0
  209. data/ext/apex_ext/apex_src/tests/fixtures/basic/headers.md +25 -0
  210. data/ext/apex_ext/apex_src/tests/fixtures/basic/list-interruption.md +24 -0
  211. data/ext/apex_ext/apex_src/tests/fixtures/basic/misc_markup.md +33 -0
  212. data/ext/apex_ext/apex_src/tests/fixtures/basic/test_basic.md +26 -0
  213. data/ext/apex_ext/apex_src/tests/fixtures/code/code-blocks.md +260 -0
  214. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/SUMMARY.md +6 -0
  215. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/chapter1.md +7 -0
  216. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/index.txt +9 -0
  217. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/intro.md +5 -0
  218. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/section1_1.md +5 -0
  219. data/ext/apex_ext/apex_src/tests/fixtures/comprehensive_test.md +620 -0
  220. data/ext/apex_ext/apex_src/tests/fixtures/debug_ref_image_ial.md +3 -0
  221. data/ext/apex_ext/apex_src/tests/fixtures/demos/ial.md +11 -0
  222. data/ext/apex_ext/apex_src/tests/fixtures/demos/ial_demo.md +177 -0
  223. data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji-autocorrect.md +94 -0
  224. data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji_test.md +3 -0
  225. data/ext/apex_ext/apex_src/tests/fixtures/extensions/kbd_test.md +3 -0
  226. data/ext/apex_ext/apex_src/tests/fixtures/ial/bracketed_spans_test.md +74 -0
  227. data/ext/apex_ext/apex_src/tests/fixtures/images/image_and_encoding_test.md +27 -0
  228. data/ext/apex_ext/apex_src/tests/fixtures/images/multimarkdown_image_attributes_test.md +60 -0
  229. data/ext/apex_ext/apex_src/tests/fixtures/images/pandoc_ial_image_test.md +27 -0
  230. data/ext/apex_ext/apex_src/tests/fixtures/images/width_height_conversion_test.md +94 -0
  231. data/ext/apex_ext/apex_src/tests/fixtures/img-in-div.md +16 -0
  232. data/ext/apex_ext/apex_src/tests/fixtures/includes/code.py +4 -0
  233. data/ext/apex_ext/apex_src/tests/fixtures/includes/data.csv +5 -0
  234. data/ext/apex_ext/apex_src/tests/fixtures/includes/data.tsv +5 -0
  235. data/ext/apex_ext/apex_src/tests/fixtures/includes/image.png +2 -0
  236. data/ext/apex_ext/apex_src/tests/fixtures/includes/metadata_options.yml +11 -0
  237. data/ext/apex_ext/apex_src/tests/fixtures/includes/nested.md +8 -0
  238. data/ext/apex_ext/apex_src/tests/fixtures/includes/raw.html +4 -0
  239. data/ext/apex_ext/apex_src/tests/fixtures/includes/simple.md +7 -0
  240. data/ext/apex_ext/apex_src/tests/fixtures/includes/test_image.png +0 -0
  241. data/ext/apex_ext/apex_src/tests/fixtures/large_doc.md +1094 -0
  242. data/ext/apex_ext/apex_src/tests/fixtures/metadata_options.yml +11 -0
  243. data/ext/apex_ext/apex_src/tests/fixtures/output/gfm_header_id_test.md +96 -0
  244. data/ext/apex_ext/apex_src/tests/fixtures/output/test_citations.md +43 -0
  245. data/ext/apex_ext/apex_src/tests/fixtures/output/test_def_list_links.md +12 -0
  246. data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_mmark.md +53 -0
  247. data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_textindex.md +37 -0
  248. data/ext/apex_ext/apex_src/tests/fixtures/tables/advanced_tables_test.md +93 -0
  249. data/ext/apex_ext/apex_src/tests/fixtures/tables/inline_tables_test.md +38 -0
  250. data/ext/apex_ext/apex_src/tests/fixtures/tables/relaxed-table.md +12 -0
  251. data/ext/apex_ext/apex_src/tests/fixtures/tables/table_cr_line_endings.md +15 -0
  252. data/ext/apex_ext/apex_src/tests/fixtures/tables/table_no_trailing_newline.md +15 -0
  253. data/ext/apex_ext/apex_src/tests/generate_gfm_ids.sh +105 -0
  254. data/ext/apex_ext/apex_src/tests/generate_ial_demo.sh +143 -0
  255. data/ext/apex_ext/apex_src/tests/gfm_id_comparison_summary.md +96 -0
  256. data/ext/apex_ext/apex_src/tests/gh_api_test.md +6 -0
  257. data/ext/apex_ext/apex_src/tests/ial_demo.html +186 -0
  258. data/ext/apex_ext/apex_src/tests/include_code.py +19 -0
  259. data/ext/apex_ext/apex_src/tests/include_snippet.md +15 -0
  260. data/ext/apex_ext/apex_src/tests/multi_file_cli_test.sh +64 -0
  261. data/ext/apex_ext/apex_src/tests/sample_data.csv +7 -0
  262. data/ext/apex_ext/apex_src/tests/table_escaped_ltlt.md +4 -0
  263. data/ext/apex_ext/apex_src/tests/test_basic.c +74 -0
  264. data/ext/apex_ext/apex_src/tests/test_extensions.c +2116 -0
  265. data/ext/apex_ext/apex_src/tests/test_helpers.c +183 -0
  266. data/ext/apex_ext/apex_src/tests/test_helpers.h +91 -0
  267. data/ext/apex_ext/apex_src/tests/test_ial.c +282 -0
  268. data/ext/apex_ext/apex_src/tests/test_links.c +418 -0
  269. data/ext/apex_ext/apex_src/tests/test_marked_integration.c +265 -0
  270. data/ext/apex_ext/apex_src/tests/test_metadata.c +908 -0
  271. data/ext/apex_ext/apex_src/tests/test_output.c +1118 -0
  272. data/ext/apex_ext/apex_src/tests/test_plugins.c +219 -0
  273. data/ext/apex_ext/apex_src/tests/test_refs.bib +31 -0
  274. data/ext/apex_ext/apex_src/tests/test_runner.c +244 -0
  275. data/ext/apex_ext/apex_src/tests/test_syntax_highlight.c +198 -0
  276. data/ext/apex_ext/apex_src/tests/test_tables.c +862 -0
  277. data/ext/apex_ext/apex_src/tests/update_benchmarks.sh +9 -0
  278. data/ext/apex_ext/apex_src/tests/yaml_test.md +13 -0
  279. data/ext/apex_ext/apex_src/tests.rb +39 -0
  280. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CMakeLists.txt +48 -0
  281. data/ext/apex_ext/apex_src/vendor/cmark-gfm/COPYING +170 -0
  282. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.c +14 -0
  283. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.cmake +43 -0
  284. data/ext/apex_ext/apex_src/vendor/cmark-gfm/FindAsan.cmake +74 -0
  285. data/ext/apex_ext/apex_src/vendor/cmark-gfm/Makefile.nmake +38 -0
  286. data/ext/apex_ext/apex_src/vendor/cmark-gfm/README.md +206 -0
  287. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/CMakeLists.txt +30 -0
  288. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.cpp +15 -0
  289. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.h +16 -0
  290. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.c +111 -0
  291. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.h +35 -0
  292. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/main.c +1169 -0
  293. data/ext/apex_ext/apex_src/vendor/cmark-gfm/appveyor.yml +21 -0
  294. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-flat.md +16 -0
  295. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-nested.md +13 -0
  296. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-code.md +11 -0
  297. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-fences.md +14 -0
  298. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-heading.md +9 -0
  299. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-hr.md +10 -0
  300. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-html.md +32 -0
  301. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-lheading.md +8 -0
  302. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-flat.md +67 -0
  303. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-nested.md +36 -0
  304. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-flat.md +15 -0
  305. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-nested.md +17 -0
  306. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-autolink.md +14 -0
  307. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-backticks.md +3 -0
  308. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-flat.md +5 -0
  309. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-nested.md +5 -0
  310. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-worst.md +5 -0
  311. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-entity.md +11 -0
  312. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-escape.md +15 -0
  313. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-html.md +44 -0
  314. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-flat.md +23 -0
  315. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-nested.md +13 -0
  316. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-newlines.md +24 -0
  317. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/lorem1.md +13 -0
  318. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/rawtabs.md +18 -0
  319. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/statistics.py +595 -0
  320. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/stats.py +19 -0
  321. data/ext/apex_ext/apex_src/vendor/cmark-gfm/benchmarks.md +33 -0
  322. data/ext/apex_ext/apex_src/vendor/cmark-gfm/changelog.txt +1245 -0
  323. data/ext/apex_ext/apex_src/vendor/cmark-gfm/data/CaseFolding.txt +1495 -0
  324. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/CMakeLists.txt +119 -0
  325. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/autolink.c +508 -0
  326. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/autolink.h +8 -0
  327. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/cmark-gfm-core-extensions.h +54 -0
  328. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/core-extensions.c +27 -0
  329. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.c +879 -0
  330. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.h +24 -0
  331. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.re +92 -0
  332. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/strikethrough.c +167 -0
  333. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/strikethrough.h +9 -0
  334. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/table.c +917 -0
  335. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/table.h +12 -0
  336. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/tagfilter.c +60 -0
  337. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/tagfilter.h +8 -0
  338. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/tasklist.c +156 -0
  339. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/tasklist.h +8 -0
  340. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/CMakeLists.txt +22 -0
  341. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/README.md +12 -0
  342. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic.c +91 -0
  343. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic_brackets.c +110 -0
  344. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzzloop.sh +28 -0
  345. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/CMakeLists.txt +10 -0
  346. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/make_man_page.py +133 -0
  347. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man1/cmark-gfm.1 +78 -0
  348. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man3/cmark-gfm.3 +1041 -0
  349. data/ext/apex_ext/apex_src/vendor/cmark-gfm/nmake.bat +1 -0
  350. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/CMakeLists.txt +230 -0
  351. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/arena.c +104 -0
  352. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/blocks.c +1622 -0
  353. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/buffer.c +278 -0
  354. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/buffer.h +116 -0
  355. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/case_fold_switch.inc +4327 -0
  356. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/chunk.h +135 -0
  357. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm-extension_api.h +737 -0
  358. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm.h +833 -0
  359. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm_version.h.in +7 -0
  360. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark.c +55 -0
  361. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark_ctype.c +44 -0
  362. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark_ctype.h +33 -0
  363. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/commonmark.c +514 -0
  364. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h.in +76 -0
  365. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/entities.inc +2138 -0
  366. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/footnotes.c +63 -0
  367. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/footnotes.h +27 -0
  368. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/houdini.h +57 -0
  369. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/houdini_href_e.c +100 -0
  370. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/houdini_html_e.c +66 -0
  371. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/houdini_html_u.c +149 -0
  372. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/html.c +502 -0
  373. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/html.h +27 -0
  374. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/inlines.c +1788 -0
  375. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/inlines.h +29 -0
  376. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/iterator.c +159 -0
  377. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/iterator.h +26 -0
  378. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/latex.c +468 -0
  379. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/libcmark-gfm.pc.in +10 -0
  380. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/linked_list.c +37 -0
  381. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/main.c +328 -0
  382. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/man.c +274 -0
  383. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/map.c +129 -0
  384. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/map.h +44 -0
  385. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/node.c +1045 -0
  386. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/node.h +167 -0
  387. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/parser.h +59 -0
  388. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/plaintext.c +218 -0
  389. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/plugin.c +36 -0
  390. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/plugin.h +34 -0
  391. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/references.c +43 -0
  392. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/references.h +26 -0
  393. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/registry.c +63 -0
  394. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/registry.h +24 -0
  395. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/render.c +213 -0
  396. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/render.h +62 -0
  397. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.c +14056 -0
  398. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.h +70 -0
  399. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.re +365 -0
  400. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/syntax_extension.c +149 -0
  401. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/syntax_extension.h +34 -0
  402. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/utf8.c +317 -0
  403. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/utf8.h +35 -0
  404. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/xml.c +182 -0
  405. data/ext/apex_ext/apex_src/vendor/cmark-gfm/suppressions +10 -0
  406. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/CMakeLists.txt +114 -0
  407. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/afl_test_cases/test.md +49 -0
  408. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark-fuzz.c +58 -0
  409. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark.py +105 -0
  410. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/entity_tests.py +67 -0
  411. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-full-info-string.txt +0 -0
  412. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-table-prefer-style-attributes.txt +38 -0
  413. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions.txt +920 -0
  414. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/fuzzing_dictionary +67 -0
  415. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/normalize.py +194 -0
  416. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/pathological_tests.py +160 -0
  417. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/regression.txt +375 -0
  418. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/roundtrip_tests.py +50 -0
  419. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/run-cmark-fuzz +4 -0
  420. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/smart_punct.txt +177 -0
  421. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec.txt +10212 -0
  422. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec_tests.py +152 -0
  423. data/ext/apex_ext/apex_src/vendor/cmark-gfm/toolchain-mingw32.cmake +17 -0
  424. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/Dockerfile +41 -0
  425. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/appveyor-build.bat +13 -0
  426. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/make_entities_inc.py +32 -0
  427. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/mkcasefold.pl +22 -0
  428. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md.xsl +319 -0
  429. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md_gfm.xsl +80 -0
  430. data/ext/apex_ext/apex_src/vendor/cmark-gfm/why-cmark-and-not-x.md +104 -0
  431. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.js +6 -0
  432. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.py +37 -0
  433. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rb +15 -0
  434. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rkt +208 -0
  435. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper_ext.py +109 -0
  436. data/ext/apex_ext/apex_src/vendor/libyaml/CMakeLists.txt +160 -0
  437. data/ext/apex_ext/apex_src/vendor/libyaml/Changes +372 -0
  438. data/ext/apex_ext/apex_src/vendor/libyaml/License +20 -0
  439. data/ext/apex_ext/apex_src/vendor/libyaml/Makefile.am +51 -0
  440. data/ext/apex_ext/apex_src/vendor/libyaml/ReadMe.md +46 -0
  441. data/ext/apex_ext/apex_src/vendor/libyaml/announcement.msg +89 -0
  442. data/ext/apex_ext/apex_src/vendor/libyaml/bootstrap +3 -0
  443. data/ext/apex_ext/apex_src/vendor/libyaml/cmake/config.h.in +4 -0
  444. data/ext/apex_ext/apex_src/vendor/libyaml/configure.ac +73 -0
  445. data/ext/apex_ext/apex_src/vendor/libyaml/doc/doxygen.cfg +222 -0
  446. data/ext/apex_ext/apex_src/vendor/libyaml/docker/README.mkd +17 -0
  447. data/ext/apex_ext/apex_src/vendor/libyaml/docker/alpine-3.7 +26 -0
  448. data/ext/apex_ext/apex_src/vendor/libyaml/docker/fedora-25 +26 -0
  449. data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-14.04 +29 -0
  450. data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-16.04 +24 -0
  451. data/ext/apex_ext/apex_src/vendor/libyaml/examples/anchors.yaml +10 -0
  452. data/ext/apex_ext/apex_src/vendor/libyaml/examples/array.yaml +2 -0
  453. data/ext/apex_ext/apex_src/vendor/libyaml/examples/global-tag.yaml +14 -0
  454. data/ext/apex_ext/apex_src/vendor/libyaml/examples/json.yaml +1 -0
  455. data/ext/apex_ext/apex_src/vendor/libyaml/examples/mapping.yaml +2 -0
  456. data/ext/apex_ext/apex_src/vendor/libyaml/examples/numbers.yaml +1 -0
  457. data/ext/apex_ext/apex_src/vendor/libyaml/examples/strings.yaml +7 -0
  458. data/ext/apex_ext/apex_src/vendor/libyaml/examples/tags.yaml +7 -0
  459. data/ext/apex_ext/apex_src/vendor/libyaml/examples/yaml-version.yaml +3 -0
  460. data/ext/apex_ext/apex_src/vendor/libyaml/include/Makefile.am +17 -0
  461. data/ext/apex_ext/apex_src/vendor/libyaml/include/yaml.h +1999 -0
  462. data/ext/apex_ext/apex_src/vendor/libyaml/pkg/ReadMe.md +77 -0
  463. data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/Dockerfile +32 -0
  464. data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/output/ReadMe +1 -0
  465. data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/scripts/libyaml-dist.sh +23 -0
  466. data/ext/apex_ext/apex_src/vendor/libyaml/regression-inputs/clusterfuzz-testcase-minimized-5607885063061504.yml +1 -0
  467. data/ext/apex_ext/apex_src/vendor/libyaml/src/Makefile.am +4 -0
  468. data/ext/apex_ext/apex_src/vendor/libyaml/src/api.c +1393 -0
  469. data/ext/apex_ext/apex_src/vendor/libyaml/src/dumper.c +394 -0
  470. data/ext/apex_ext/apex_src/vendor/libyaml/src/emitter.c +2358 -0
  471. data/ext/apex_ext/apex_src/vendor/libyaml/src/loader.c +544 -0
  472. data/ext/apex_ext/apex_src/vendor/libyaml/src/parser.c +1416 -0
  473. data/ext/apex_ext/apex_src/vendor/libyaml/src/reader.c +469 -0
  474. data/ext/apex_ext/apex_src/vendor/libyaml/src/scanner.c +3598 -0
  475. data/ext/apex_ext/apex_src/vendor/libyaml/src/writer.c +141 -0
  476. data/ext/apex_ext/apex_src/vendor/libyaml/src/yaml_private.h +684 -0
  477. data/ext/apex_ext/apex_src/vendor/libyaml/tests/CMakeLists.txt +27 -0
  478. data/ext/apex_ext/apex_src/vendor/libyaml/tests/Makefile.am +9 -0
  479. data/ext/apex_ext/apex_src/vendor/libyaml/tests/ReadMe.md +63 -0
  480. data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor-alt.c +800 -0
  481. data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor.c +1127 -0
  482. data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter-alt.c +217 -0
  483. data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter.c +202 -0
  484. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-all-tests.sh +29 -0
  485. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-dumper.c +314 -0
  486. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter-test-suite.c +290 -0
  487. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter.c +327 -0
  488. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-loader.c +63 -0
  489. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser-test-suite.c +196 -0
  490. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser.c +88 -0
  491. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-scanner.c +63 -0
  492. data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-reader.c +354 -0
  493. data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-version.c +29 -0
  494. data/ext/apex_ext/apex_src/vendor/libyaml/yaml-0.1.pc.in +10 -0
  495. data/ext/apex_ext/apex_src/vendor/libyaml/yamlConfig.cmake.in +16 -0
  496. data/ext/apex_ext/extconf.rb +103 -0
  497. data/lib/apex/configurable.rb +46 -0
  498. data/lib/apex/document.rb +66 -0
  499. data/lib/apex/version.rb +15 -0
  500. data/lib/apex.rb +28 -0
  501. metadata +544 -0
@@ -0,0 +1,828 @@
1
+ .\" Automatically generated by Pandoc 3.8.3
2
+ .\"
3
+ .TH "APEX" "1" "December 2025" ""
4
+ .SH NAME
5
+ apex \- Unified Markdown processor supporting CommonMark, GFM,
6
+ MultiMarkdown, and Kramdown
7
+ .SH SYNOPSIS
8
+ \f[B]apex\f[R] [\f[I]options\f[R]] [\f[I]file\f[R]]
9
+ .PP
10
+ \f[B]apex\f[R] \(encombine [\f[I]files\f[R]\&...]
11
+ .PP
12
+ \f[B]apex\f[R] \(enmmd\-merge [\f[I]index files\f[R]\&...]
13
+ .SH DESCRIPTION
14
+ Apex is a unified Markdown processor that combines the best features
15
+ from CommonMark, GitHub Flavored Markdown (GFM), MultiMarkdown,
16
+ Kramdown, and Marked.
17
+ One processor to rule them all.
18
+ .PP
19
+ If no file is specified, \f[B]apex\f[R] reads from stdin.
20
+ .SH OPTIONS
21
+ .SS Processing Modes
22
+ .TP
23
+ \f[B]\-m\f[R] \f[I]MODE\f[R], \f[B]\(enmode\f[R] \f[I]MODE\f[R]
24
+ Processor mode: \f[B]commonmark\f[R], \f[B]gfm\f[R], \f[B]mmd\f[R] (or
25
+ \f[B]multimarkdown\f[R]), \f[B]kramdown\f[R], or \f[B]unified\f[R]
26
+ (default).
27
+ Each mode enables different features and syntax compatibility.
28
+ .SS Input/Output
29
+ .TP
30
+ \f[B]\-o\f[R] \f[I]FILE\f[R], \f[B]\(enoutput\f[R] \f[I]FILE\f[R]
31
+ Write output to \f[I]FILE\f[R] instead of stdout.
32
+ .TP
33
+ \f[B]\-s\f[R], \f[B]\(enstandalone\f[R]
34
+ Generate complete HTML document with \f[CR]<html>\f[R],
35
+ \f[CR]<head>\f[R], and \f[CR]<body>\f[R] tags.
36
+ .TP
37
+ \f[B]\(enstyle\f[R] \f[I]FILE\f[R], \f[B]\(encss\f[R] \f[I]FILE\f[R]
38
+ Link to CSS file(s) in document head (requires
39
+ \f[B]\(enstandalone\f[R]).
40
+ Can be used multiple times or accept comma\-separated list (e.g.,
41
+ \f[CR]\-\-css style.css \-\-css syntax.css\f[R] or
42
+ \f[CR]\-\-css style.css,syntax.css\f[R]).
43
+ Overrides CSS metadata if specified.
44
+ .TP
45
+ \f[B]\(enembed\-css\f[R]
46
+ When used with \f[B]\(encss FILE\f[R], read the CSS file(s) and embed
47
+ their contents into \f[CR]<style>\f[R] tags in the document head instead
48
+ of emitting \f[CR]<link rel=\(dqstylesheet\(dq>\f[R] tags.
49
+ All specified stylesheets are embedded.
50
+ .TP
51
+ \f[B]\(encode\-highlight\f[R] \f[I]TOOL\f[R]
52
+ Use external tool for syntax highlighting of code blocks.
53
+ \f[I]TOOL\f[R] must be \f[B]pygments\f[R] (or \f[B]p\f[R],
54
+ \f[B]pyg\f[R]) or \f[B]skylighting\f[R] (or \f[B]s\f[R], \f[B]sky\f[R]).
55
+ Code blocks are sent to the external tool with their language specifier
56
+ (if present) or with auto\-detection enabled.
57
+ The highlighted HTML output replaces the original code block in the
58
+ document.
59
+ .TP
60
+ \f[B]\(encode\-line\-numbers\f[R]
61
+ Include line numbers in syntax\-highlighted code blocks.
62
+ Requires \f[B]\(encode\-highlight\f[R].
63
+ When used with Pygments, adds \f[CR]linenos=1\f[R] option.
64
+ When used with Skylighting, adds \f[CR]\-n\f[R] flag.
65
+ .TP
66
+ \f[B]\(enhighlight\-language\-only\f[R]
67
+ Only apply syntax highlighting to code blocks that have a language
68
+ specified (via \f[CR]\(ga\(ga\(galanguage\f[R] or IAL).
69
+ Code blocks without a language will be left unhighlighted.
70
+ Requires \f[B]\(encode\-highlight\f[R].
71
+ .TP
72
+ \f[B]\(enscript\f[R] \f[I]VALUE\f[R]
73
+ Inject \f[CR]<script>\f[R] tags either before \f[CR]</body>\f[R] in
74
+ standalone mode or at the end of the HTML fragment in snippet mode.
75
+ \f[I]VALUE\f[R] can be a path, a URL, or one of the following
76
+ shorthands: \f[CR]mermaid\f[R], \f[CR]mathjax\f[R], \f[CR]katex\f[R],
77
+ \f[CR]highlightjs\f[R], \f[CR]highlight.js\f[R], \f[CR]prism\f[R],
78
+ \f[CR]prismjs\f[R], \f[CR]htmx\f[R], \f[CR]alpine\f[R],
79
+ \f[CR]alpinejs\f[R].
80
+ Can be used multiple times or with a comma\-separated list (e.g.,
81
+ \f[CR]\-\-script mermaid,mathjax\f[R]).
82
+ .TP
83
+ \f[B]\(entitle\f[R] \f[I]TITLE\f[R]
84
+ Document title (requires \f[B]\(enstandalone\f[R], default:
85
+ \(lqDocument\(rq).
86
+ .TP
87
+ \f[B]\(enpretty\f[R]
88
+ Pretty\-print HTML with indentation and whitespace.
89
+ .TP
90
+ \f[B]\(enaria\f[R]
91
+ Add ARIA labels and accessibility attributes to HTML output.
92
+ When enabled, adds:
93
+ .PP
94
+ \f[CR]aria\-label=\(dqTable of contents\(dq\f[R] to TOC navigation
95
+ elements (\f[CR]<nav class=\(dqtoc\(dq>\f[R])
96
+ .IP
97
+ .EX
98
+ \- \(garole=\(dqfigure\(dq\(ga to \(ga<figure>\(ga elements
99
+ \- \(garole=\(dqtable\(dq\(ga to \(ga<table>\(ga elements
100
+ \- \(gaid\(ga attributes to \(ga<figcaption>\(ga elements within
101
+
102
+ table figures (if missing)
103
+
104
+ \- \(gaaria\-describedby\(ga attributes to tables linking them
105
+
106
+ to their captions
107
+ .EE
108
+ .PP
109
+ This enhances screen reader support and makes the HTML output more
110
+ accessible.
111
+ Default: disabled.
112
+ .SS Feature Flags
113
+ .TP
114
+ \f[B]\(enaccept\f[R]
115
+ Accept all Critic Markup changes (apply edits).
116
+ .TP
117
+ \f[B]\(enreject\f[R]
118
+ Reject all Critic Markup changes (revert edits).
119
+ .TP
120
+ \f[B]\(encode\-highlight\f[R] \f[I]TOOL\f[R]
121
+ Use external tool for syntax highlighting of code blocks.
122
+ \f[I]TOOL\f[R] must be \f[B]pygments\f[R] (or abbreviations \f[B]p\f[R],
123
+ \f[B]pyg\f[R]) or \f[B]skylighting\f[R] (or abbreviations \f[B]s\f[R],
124
+ \f[B]sky\f[R]).
125
+ Code blocks are sent to the external tool with their language specifier
126
+ (if present) or with auto\-detection enabled.
127
+ The highlighted HTML output replaces the original code block in the
128
+ document.
129
+ .TP
130
+ \f[B]\(encode\-line\-numbers\f[R]
131
+ Include line numbers in syntax\-highlighted code blocks.
132
+ Requires \f[B]\(encode\-highlight\f[R].
133
+ When used with Pygments, adds \f[CR]linenos=1\f[R] option.
134
+ When used with Skylighting, adds \f[CR]\-n\f[R] flag.
135
+ .TP
136
+ \f[B]\(enhighlight\-language\-only\f[R]
137
+ Only apply syntax highlighting to code blocks that have a language
138
+ specified (via \f[CR]\(ga\(ga\(galanguage\f[R] or IAL).
139
+ Code blocks without a language will be left unhighlighted.
140
+ Requires \f[B]\(encode\-highlight\f[R].
141
+ .TP
142
+ \f[B]\(enincludes\f[R], \f[B]\(enno\-includes\f[R]
143
+ Enable or disable file inclusion.
144
+ Enabled by default in unified mode.
145
+ .PP
146
+ \f[B]\(entransforms\f[R], \f[B]\(enno\-transforms\f[R] :: Enable or
147
+ disable metadata variable transforms (\f[CR][%key:transform]\f[R]).
148
+ When enabled, metadata values can be transformed (case conversion,
149
+ string manipulation, regex replacement, date formatting, etc.)
150
+ when inserted into the document.
151
+ Enabled by default in unified mode.
152
+ .TP
153
+ \f[B]\(enmeta\-file\f[R] \f[I]FILE\f[R]
154
+ Load metadata from an external file.
155
+ Auto\-detects format: YAML (starts with \f[CR]\-\-\-\f[R]),
156
+ MultiMarkdown (key: value pairs), or Pandoc (starts with \f[CR]%\f[R]).
157
+ Metadata from the file is merged with document metadata, with document
158
+ metadata taking precedence.
159
+ Metadata can also control command\-line options (see METADATA CONTROL OF
160
+ OPTIONS below).
161
+ If no \f[CR]\-\-meta\-file\f[R] is provided, Apex will automatically
162
+ load \f[CR]$XDG_CONFIG_HOME/apex/config.yml\f[R] (or
163
+ \f[CR]\(ti/.config/apex/config.yml\f[R] when \f[CR]XDG_CONFIG_HOME\f[R]
164
+ is not set) if it exists, as if it were passed via
165
+ \f[CR]\-\-meta\-file\f[R].
166
+ .TP
167
+ \f[B]\(enmeta\f[R] \f[I]KEY=VALUE\f[R]
168
+ Set a metadata key\-value pair.
169
+ Can be used multiple times.
170
+ Supports comma\-separated pairs (e.g.,
171
+ \f[CR]\-\-meta KEY1=value1,KEY2=value2\f[R]).
172
+ Values can be quoted to include spaces and special characters.
173
+ Command\-line metadata takes precedence over both file and document
174
+ metadata.
175
+ Metadata can also control command\-line options (see METADATA CONTROL OF
176
+ OPTIONS below).
177
+ .TP
178
+ \f[B]\(enhardbreaks\f[R]
179
+ Treat newlines as hard breaks.
180
+ .TP
181
+ \f[B]\(enwidont\f[R]
182
+ Prevent short widows in headings by inserting non\-breaking spaces
183
+ (\f[CR]&nbsp;\f[R]) between trailing words when their combined length is
184
+ 10 characters or less.
185
+ Applies to h1\-h6 headings.
186
+ .TP
187
+ \f[B]\(encode\-is\-poetry\f[R]
188
+ Treat code blocks without a language as poetry by adding the
189
+ \f[CR]poetry\f[R] class.
190
+ Automatically enables \f[B]\(enhighlight\-language\-only\f[R].
191
+ .TP
192
+ \f[B]\(enmarkdown\-in\-html\f[R], \f[B]\(enno\-markdown\-in\-html\f[R]
193
+ Enable or disable markdown processing inside HTML blocks with
194
+ \f[CR]markdown\f[R] attributes.
195
+ Enabled by default in unified mode.
196
+ .TP
197
+ \f[B]\(enrandom\-footnote\-ids\f[R]
198
+ Use hash\-based footnote IDs (e.g., \f[CR]fn\-a7b3c9d2\-1\f[R]) instead
199
+ of sequential IDs to avoid collisions when combining multiple documents.
200
+ .TP
201
+ \f[B]\(enhashtags\f[R]
202
+ Convert \f[CR]#tags\f[R] into span\-wrapped hashtags with the
203
+ \f[CR]mkhashtag\f[R] class.
204
+ .TP
205
+ \f[B]\(enstyle\-hashtags\f[R]
206
+ Use the \f[CR]mkstyledtag\f[R] class instead of \f[CR]mkhashtag\f[R] for
207
+ hashtags.
208
+ Requires \f[B]\(enhashtags\f[R].
209
+ .TP
210
+ \f[B]\(enproofreader\f[R]
211
+ Treat \f[CR]==highlight==\f[R] and \f[CR]\(ti\(tidelete\(ti\(ti\f[R] as
212
+ CriticMarkup highlight and deletion syntax.
213
+ Automatically enables CriticMarkup processing.
214
+ .TP
215
+ \f[B]\(enhr\-page\-break\f[R]
216
+ Replace \f[CR]<hr>\f[R] elements with Marked\-style page break divs.
217
+ .TP
218
+ \f[B]\(entitle\-from\-h1\f[R]
219
+ Use the first H1 heading as the document title when no title is
220
+ specified via \f[B]\(entitle\f[R] or metadata.
221
+ Requires \f[B]\(enstandalone\f[R].
222
+ .TP
223
+ \f[B]\(enpage\-break\-before\-footnotes\f[R]
224
+ Insert a page break before the footnotes section.
225
+ .TP
226
+ \f[B]\(enno\-footnotes\f[R]
227
+ Disable footnote support.
228
+ .TP
229
+ \f[B]\(enno\-math\f[R]
230
+ Disable math support.
231
+ .TP
232
+ \f[B]\(enno\-smart\f[R]
233
+ Disable smart typography.
234
+ .TP
235
+ \f[B]\(enno\-tables\f[R]
236
+ Disable table support.
237
+ .TP
238
+ \f[B]\(enno\-ids\f[R]
239
+ Disable automatic header ID generation.
240
+ .TP
241
+ \f[B]\(enheader\-anchors\f[R]
242
+ Generate \f[CR]<a>\f[R] anchor tags instead of header IDs.
243
+ .TP
244
+ \f[B]\(enwikilinks\f[R], \f[B]\(enno\-wikilinks\f[R]
245
+ Enable wiki link syntax \f[CR][[PageName]]\f[R].
246
+ Default: disabled.
247
+ .SS Header ID Format
248
+ .TP
249
+ \f[B]\(enid\-format\f[R] \f[I]FORMAT\f[R]
250
+ Header ID format: \f[B]gfm\f[R] (default), \f[B]mmd\f[R], or
251
+ \f[B]kramdown\f[R].
252
+ Modes auto\-set format; use this to override in unified mode.
253
+ .SS List Options
254
+ .TP
255
+ \f[B]\(enalpha\-lists\f[R], \f[B]\(enno\-alpha\-lists\f[R]
256
+ Support alpha list markers (a., b., c.\ and A., B., C.).
257
+ .TP
258
+ \f[B]\(enmixed\-lists\f[R], \f[B]\(enno\-mixed\-lists\f[R]
259
+ Allow mixed list markers at same level (inherit type from first item).
260
+ .SS Table Options
261
+ .TP
262
+ \f[B]\(enrelaxed\-tables\f[R], \f[B]\(enno\-relaxed\-tables\f[R]
263
+ Enable relaxed table parsing (no separator rows required).
264
+ .TP
265
+ \f[B]\(enper\-cell\-alignment\f[R], \f[B]\(enno\-per\-cell\-alignment\f[R]
266
+ Enable per\-cell alignment markers in tables.
267
+ When enabled, cells starting with a colon (\f[CR]:\f[R]) are
268
+ left\-aligned, ending with a colon (\f[CR]:\f[R]) are right\-aligned, or
269
+ both (\f[CR]:content:\f[R]) are center\-aligned.
270
+ The colons are stripped from the output and replaced with
271
+ \f[CR]style=\(dqtext\-align: ...\(dq\f[R] attributes.
272
+ Default: enabled in unified mode, disabled in commonmark, gfm, mmd, and
273
+ kramdown modes.
274
+ .TP
275
+ \f[B]\(encaptions\f[R] \f[I]POSITION\f[R]
276
+ Table caption position: \f[B]above\f[R] or \f[B]below\f[R] (default:
277
+ \f[B]below\f[R]).
278
+ Controls where table captions appear relative to the table.
279
+ .SS HTML and Links
280
+ .TP
281
+ \f[B]\(enunsafe\f[R], \f[B]\(enno\-unsafe\f[R]
282
+ Allow raw HTML in output.
283
+ Default: true for unified/mmd/kramdown modes, false for commonmark/gfm
284
+ modes.
285
+ .TP
286
+ \f[B]\(enautolink\f[R], \f[B]\(enno\-autolink\f[R]
287
+ Enable autolinking of URLs and email addresses.
288
+ Default: enabled in GFM, MultiMarkdown, Kramdown, and unified modes;
289
+ disabled in CommonMark mode.
290
+ .TP
291
+ \f[B]\(enobfuscate\-emails\f[R]
292
+ Obfuscate email links and text using HTML entities (hex\-encoded).
293
+ .PP
294
+ \f[B]\(enwikilink\-space\f[R] \f[I]MODE\f[R] :: Control how spaces in
295
+ wiki link page names are handled in the generated URL.
296
+ \f[B]MODE\f[R] must be one of:
297
+ .PP
298
+ \f[CR]dash\f[R] \- Convert spaces to dashes: \f[CR][[Home Page]]\f[R] →
299
+ \f[CR]href=\(dqHome\-Page\(dq\f[R]
300
+ .PP
301
+ \f[CR]none\f[R] \- Remove spaces: \f[CR][[Home Page]]\f[R] →
302
+ \f[CR]href=\(dqHomePage\(dq\f[R]
303
+ .PP
304
+ \f[CR]underscore\f[R] \- Convert spaces to underscores:
305
+ \f[CR][[Home Page]]\f[R] → \f[CR]href=\(dqHome_Page\(dq\f[R]
306
+ .PP
307
+ \f[CR]space\f[R] \- Keep spaces (rendered as \f[CR]%%20\f[R] in HTML):
308
+ \f[CR][[Home Page]]\f[R] → \f[CR]href=\(dqHome%20Page\(dq\f[R]
309
+ .IP
310
+ .EX
311
+ Default: \(gadash\(ga.
312
+ .EE
313
+ .PP
314
+ \f[B]\(enwikilink\-extension\f[R] \f[I]EXT\f[R] :: Add a file extension
315
+ to wiki link URLs.
316
+ The extension is automatically prefixed with a dot if not provided.
317
+ For example, \f[CR]\-\-wikilink\-extension html\f[R] creates
318
+ \f[CR]href=\(dqPage.html\(dq\f[R] and
319
+ \f[CR]\-\-wikilink\-extension .html\f[R] also creates
320
+ \f[CR]href=\(dqPage.html\(dq\f[R].
321
+ .TP
322
+ \f[B]\(enwikilink\-sanitize\f[R], \f[B]\(enno\-wikilink\-sanitize\f[R]
323
+ Sanitize wiki link URLs for cleaner, more compatible links.
324
+ When enabled:
325
+ .IP \(bu 2
326
+ Removes apostrophes and quotation marks (i.e.\ removes
327
+ \f[CR]\(dq\(aq\(rs\f[R]´\(oq\(cq\(lq\(rq\(ga)
328
+ .IP \(bu 2
329
+ Converts select latin\-1 characters to ASCII (e.g.\ e\-acute \-> e)
330
+ .IP \(bu 2
331
+ Converts uppercase to lowercase
332
+ .IP \(bu 2
333
+ Replaces non\-ascii and any non\-alphanumeric ascii characters with the
334
+ space\-mode character (except \f[CR]/\f[R] and \f[CR].\f[R])
335
+ .IP \(bu 2
336
+ Removes duplicate space\-mode characters
337
+ .IP \(bu 2
338
+ Removes leading and trailing space\-mode characters
339
+ .PP
340
+ For example, with
341
+ \f[CR]\-\-wikilink\-sanitize \-\-wikilink\-space dash\f[R]:
342
+ .PP
343
+ \f[CR][[O\(aqBrien\(aqs Page]]\f[R] →
344
+ \f[CR]href=\(dqobriens\-page\(dq\f[R]
345
+ .PP
346
+ \f[CR][[Hello World!!!]]\f[R] → \f[CR]href=\(dqhello\-world\(dq\f[R]
347
+ .PP
348
+ \f[CR][[path/to/FILE.MD]]\f[R] → \f[CR]href=\(dqpath/to/file.md\(dq\f[R]
349
+ .PP
350
+ Default: disabled.
351
+ .SS Image Embedding
352
+ .TP
353
+ \f[B]\(enembed\-images\f[R]
354
+ Embed local images as base64 data URLs in HTML output.
355
+ Only local images (file paths) are embedded; remote images (http://,
356
+ https://) are not processed.
357
+ Images are read from the filesystem and encoded as base64 data URLs
358
+ (e.g., \f[CR]data:image/png;base64,...\f[R]).
359
+ Relative paths are resolved using the base directory (see
360
+ \f[B]\(enbase\-dir\f[R]).
361
+ .TP
362
+ \f[B]\(enimage\-captions\f[R], \f[B]\(enno\-image\-captions\f[R]
363
+ Wrap images with title or alt text in \f[CR]<figure>\f[R] elements with
364
+ \f[CR]<figcaption>\f[R].
365
+ Default: enabled in unified and MultiMarkdown modes; disabled in
366
+ commonmark, gfm, and kramdown modes.
367
+ .TP
368
+ \f[B]\(enemoji\-autocorrect\f[R], \f[B]\(enno\-emoji\-autocorrect\f[R]
369
+ Convert emoji names (e.g., \f[CR]:rocket:\f[R]) to Unicode emoji
370
+ characters.
371
+ Default: enabled in unified mode; disabled in other modes.
372
+ .SS Path Resolution
373
+ .TP
374
+ \f[B]\(enbase\-dir\f[R] \f[I]DIR\f[R]
375
+ Base directory for resolving relative paths.
376
+ Used for:
377
+ .RS
378
+ .IP \(bu 2
379
+ Image embedding (with \f[B]\(enembed\-images\f[R])
380
+ .IP \(bu 2
381
+ File includes/transclusions
382
+ .IP \(bu 2
383
+ Relative path resolution when reading from stdin or
384
+ .RS 2
385
+ .PP
386
+ when the working directory differs from the document location
387
+ .RE
388
+ .RE
389
+ .PP
390
+ If not specified and reading from a file, the base directory is
391
+ automatically set to the input file\(cqs directory.
392
+ When reading from stdin, this flag must be used to resolve relative
393
+ paths.
394
+ .SS Superscript/Subscript
395
+ .TP
396
+ \f[B]\(ensup\-sub\f[R], \f[B]\(enno\-sup\-sub\f[R]
397
+ Enable MultiMarkdown\-style superscript and subscript syntax.
398
+ The \f[CR]\(ha\f[R] character creates superscript for the text
399
+ immediately following it (stops at space or punctuation).
400
+ The \f[CR]\(ti\f[R] character creates subscript when used within a
401
+ word/identifier (e.g., \f[CR]H\(ti2\(tiO\f[R] creates H₂O).
402
+ When tildes are at word boundaries (e.g., \f[CR]\(titext\(ti\f[R]), they
403
+ create underline instead.
404
+ Default: enabled in unified and MultiMarkdown modes.
405
+ .TP
406
+ \f[B]\(enstrikethrough\f[R], \f[B]\(enno\-strikethrough\f[R]
407
+ Enable or disable GFM\-style strikethrough processing
408
+ (\f[CR]\(ti\(titext\(ti\(ti\f[R]).
409
+ When enabled, \f[CR]\(ti\(titext\(ti\(ti\f[R] renders as
410
+ \f[CR]<del>text</del>\f[R].
411
+ Default: enabled in GFM and unified modes; disabled in commonmark, mmd,
412
+ and kramdown modes.
413
+ .TP
414
+ \f[B]\(endivs\f[R], \f[B]\(enno\-divs\f[R]
415
+ Enable or disable Pandoc fenced divs syntax
416
+ (\f[CR]::::: {#id .class} ... :::::\f[R]).
417
+ Fenced divs allow you to create HTML block elements with attributes
418
+ using a special fence syntax.
419
+ By default, fenced divs create \f[CR]<div>\f[R] elements, but you can
420
+ specify different block types using the \f[CR]>blocktype\f[R] syntax
421
+ (e.g., \f[CR]::: >aside {.sidebar} ... :::\f[R] creates an
422
+ \f[CR]<aside>\f[R] element instead).
423
+ Opening fences must have at least 3 colons and attributes; closing
424
+ fences need at least 3 colons.
425
+ Fenced divs can be nested, including different block types.
426
+ Default: enabled in unified mode only.
427
+ .TP
428
+ \f[B]\(enspans\f[R], \f[B]\(enno\-spans\f[R]
429
+ Enable or disable Pandoc\-style bracketed spans syntax
430
+ (\f[CR][text]{#id .class key=\(dqval\(dq}\f[R]).
431
+ Bracketed spans allow you to create HTML \f[CR]<span>\f[R] elements with
432
+ attributes.
433
+ The text inside the brackets is processed as markdown.
434
+ If the bracketed text matches a reference link definition, it will be
435
+ treated as a link instead of a span.
436
+ Default: enabled in unified mode only.
437
+ .SS Citations and Bibliography
438
+ .TP
439
+ \f[B]\(enbibliography\f[R] \f[I]FILE\f[R]
440
+ Bibliography file in BibTeX, CSL JSON, or CSL YAML format.
441
+ Can be specified multiple times to load multiple bibliography files.
442
+ Citations are automatically enabled when this option is used.
443
+ Bibliography can also be specified in document metadata.
444
+ .TP
445
+ \f[B]\(encsl\f[R] \f[I]FILE\f[R]
446
+ Citation Style Language (CSL) file for formatting citations and
447
+ bibliography.
448
+ Citations are automatically enabled when this option is used.
449
+ CSL file can also be specified in document metadata.
450
+ .TP
451
+ \f[B]\(enno\-bibliography\f[R]
452
+ Suppress bibliography output even when citations are present.
453
+ .TP
454
+ \f[B]\(enlink\-citations\f[R]
455
+ Link citations to their corresponding bibliography entries.
456
+ Citations will include \f[CR]href\f[R] attributes pointing to the
457
+ bibliography entry.
458
+ .TP
459
+ \f[B]\(enshow\-tooltips\f[R]
460
+ Show tooltips on citations when hovering (requires CSS support).
461
+ .PP
462
+ Citation syntax is supported in MultiMarkdown and unified modes:
463
+ .IP \(bu 2
464
+ Pandoc: \f[CR][\(atkey]\f[R], \f[CR][\(atkey1; \(atkey2]\f[R],
465
+ \f[CR]\(atkey\f[R]
466
+ .IP \(bu 2
467
+ MultiMarkdown: \f[CR][#key]\f[R]
468
+ .IP \(bu 2
469
+ mmark: \f[CR][\(atRFC1234]\f[R]
470
+ .PP
471
+ Bibliography is inserted at the \f[CR]<!\-\- REFERENCES \-\->\f[R]
472
+ marker or appended to the end of the document if no marker is found.
473
+ .SS Indices
474
+ .TP
475
+ \f[B]\(enindices\f[R]
476
+ Enable index processing.
477
+ Supports both mmark and TextIndex syntax.
478
+ Default: enabled in MultiMarkdown and unified modes.
479
+ .TP
480
+ \f[B]\(enno\-indices\f[R]
481
+ Disable index processing.
482
+ .TP
483
+ \f[B]\(enno\-index\f[R]
484
+ Suppress index generation at the end of the document.
485
+ Index markers are still created in the document, but the index section
486
+ is not generated.
487
+ .PP
488
+ Index syntax is supported in MultiMarkdown and unified modes:
489
+ .IP \(bu 2
490
+ \f[B]mmark syntax\f[R]: \f[CR](!item)\f[R], \f[CR](!item, subitem)\f[R],
491
+ \(ga(!!item,
492
+ .RS 2
493
+ .PP
494
+ subitem)\(ga for primary entries
495
+ .RE
496
+ .IP \(bu 2
497
+ \f[B]TextIndex syntax\f[R]: \f[CR]word{\(ha}\f[R],
498
+ \f[CR][term]{\(ha}\f[R], \f[CR]{\(haparams}\f[R]
499
+ .PP
500
+ The index is automatically generated at the end of the document or at
501
+ the \f[CR]<!\-\-INDEX\-\->\f[R] marker if present.
502
+ Entries are sorted alphabetically and can be grouped by first letter.
503
+ .SS Plugins
504
+ .TP
505
+ \f[B]\(enplugins\f[R], \f[B]\(enno\-plugins\f[R]
506
+ Enable or disable external/plugin processing.
507
+ Plugins extend Apex with custom processing capabilities.
508
+ .TP
509
+ \f[B]\(enlist\-plugins\f[R]
510
+ List installed plugins and available plugins from the remote directory.
511
+ Shows both locally installed plugins and plugins available for
512
+ installation from the Apex plugin directory.
513
+ .TP
514
+ \f[B]\(eninstall\-plugin\f[R] \f[I]ID\f[R]
515
+ Install a plugin by ID from the remote directory, or by Git URL/GitHub
516
+ shorthand (user/repo).
517
+ Plugins are installed to \f[CR]$XDG_CONFIG_HOME/apex/plugins\f[R] (or
518
+ \f[CR]\(ti/.config/apex/plugins\f[R] when \f[CR]XDG_CONFIG_HOME\f[R] is
519
+ not set).
520
+ When installing from a URL or GitHub shorthand, Apex will prompt for
521
+ confirmation since plugins execute unverified code.
522
+ .TP
523
+ \f[B]\(enuninstall\-plugin\f[R] \f[I]ID\f[R]
524
+ Uninstall a plugin by ID.
525
+ Removes the plugin directory from the plugins folder.
526
+ Apex will prompt for confirmation before removing the plugin.
527
+ .SS General Options
528
+ .TP
529
+ \f[B]\-h\f[R], \f[B]\(enhelp\f[R]
530
+ Show help message and exit.
531
+ .TP
532
+ \f[B]\-v\f[R], \f[B]\(enversion\f[R]
533
+ Show version information and exit.
534
+ .TP
535
+ \f[B]\(enprogress\f[R], \f[B]\(enno\-progress\f[R]
536
+ Show progress indicator during processing.
537
+ Default: enabled when stderr is a TTY.
538
+ .SS Multi\-file Utilities
539
+ .TP
540
+ \f[B]\(encombine\f[R] \f[I]files\&...\f[R]
541
+ Concatenate one or more Markdown files into a single Markdown stream,
542
+ expanding all supported include syntaxes.
543
+ When a \f[CR]SUMMARY.md\f[R] file is provided, Apex treats it as a
544
+ GitBook\-style index and combines the linked files in order.
545
+ Output is raw Markdown suitable for piping back into Apex.
546
+ .TP
547
+ \f[B]\(enmmd\-merge\f[R] \f[I]index files\&...\f[R]
548
+ Merge files from one or more MultiMarkdown \f[CR]mmd_merge\f[R]\-style
549
+ index files into a single Markdown stream.
550
+ Each non\-empty, non\-comment line in an index file specifies a document
551
+ to include.
552
+ Lines whose first non\-whitespace character is \f[CR]#\f[R] are treated
553
+ as comments and ignored.
554
+ Indentation (tabs or groups of four spaces) before the filename
555
+ increases the header level of the included document (each indent level
556
+ shifts all Markdown headings in that file down one level).
557
+ Output is raw Markdown suitable for piping into Apex, for example:
558
+ .PP
559
+ apex \(enmmd\-merge index.txt | apex \(enmode mmd \(enstandalone \-o
560
+ book.html
561
+ .SH EXAMPLES
562
+ Process a markdown file:
563
+ .IP
564
+ .EX
565
+ apex input.md
566
+ .EE
567
+ .PP
568
+ Output to a file:
569
+ .IP
570
+ .EX
571
+ apex input.md \-o output.html
572
+ .EE
573
+ .PP
574
+ Generate standalone HTML document:
575
+ .IP
576
+ .EX
577
+ apex input.md \-\-standalone \-\-title \(dqMy Document\(dq
578
+ .EE
579
+ .PP
580
+ Pretty\-print HTML output:
581
+ .IP
582
+ .EX
583
+ apex input.md \-\-pretty
584
+ .EE
585
+ .PP
586
+ Use GFM mode:
587
+ .IP
588
+ .EX
589
+ apex input.md \-\-mode gfm
590
+ .EE
591
+ .PP
592
+ Process document with citations and bibliography:
593
+ .IP
594
+ .EX
595
+ apex document.md \-\-bibliography refs.bib
596
+ .EE
597
+ .PP
598
+ Use metadata to specify bibliography:
599
+ .IP
600
+ .EX
601
+ apex document.md
602
+ .EE
603
+ .PP
604
+ (With bibliography specified in YAML front matter)
605
+ .PP
606
+ Use Kramdown mode with relaxed tables:
607
+ .IP
608
+ .EX
609
+ apex input.md \-\-mode kramdown
610
+ .EE
611
+ .PP
612
+ Process from stdin:
613
+ .IP
614
+ .EX
615
+ echo \(dq# Hello\(dq | apex
616
+ .EE
617
+ .SH PROCESSING MODES
618
+ .TP
619
+ \f[B]commonmark\f[R]
620
+ Pure CommonMark specification.
621
+ Minimal features, maximum compatibility.
622
+ .TP
623
+ \f[B]gfm\f[R]
624
+ GitHub Flavored Markdown.
625
+ Includes tables, strikethrough, task lists, autolinks, and more.
626
+ .TP
627
+ \f[B]mmd\f[R], \f[B]multimarkdown\f[R]
628
+ MultiMarkdown compatibility.
629
+ Includes metadata, definition lists, footnotes, and more.
630
+ .TP
631
+ \f[B]kramdown\f[R]
632
+ Kramdown compatibility.
633
+ Includes relaxed tables, IAL (Inline Attribute Lists) for adding HTML
634
+ attributes to elements, and more.
635
+ .TP
636
+ \f[B]unified\f[R] (default)
637
+ All features enabled.
638
+ Combines features from all modes.
639
+ .SH METADATA CONTROL OF OPTIONS
640
+ Most command\-line options can be controlled via document metadata,
641
+ allowing different files to be processed with different settings when
642
+ processing batches.
643
+ This enables per\-document configuration without needing separate
644
+ command\-line invocations.
645
+ .PP
646
+ \f[B]Boolean options\f[R] accept \f[CR]true\f[R]/\f[CR]false\f[R],
647
+ \f[CR]yes\f[R]/\f[CR]no\f[R], or \f[CR]1\f[R]/\f[CR]0\f[R]
648
+ (case\-insensitive).
649
+ \f[B]String options\f[R] use the value directly.
650
+ .PP
651
+ \f[B]Supported boolean options:\f[R] \f[CR]indices\f[R],
652
+ \f[CR]wikilinks\f[R], \f[CR]wikilink\-sanitize\f[R],
653
+ \f[CR]includes\f[R], \f[CR]relaxed\-tables\f[R],
654
+ \f[CR]per\-cell\-alignment\f[R], \f[CR]alpha\-lists\f[R],
655
+ \f[CR]mixed\-lists\f[R], \f[CR]sup\-sub\f[R], \f[CR]strikethrough\f[R],
656
+ \f[CR]autolink\f[R], \f[CR]transforms\f[R], \f[CR]unsafe\f[R],
657
+ \f[CR]tables\f[R], \f[CR]footnotes\f[R], \f[CR]smart\f[R],
658
+ \f[CR]math\f[R], \f[CR]ids\f[R], \f[CR]header\-anchors\f[R],
659
+ \f[CR]embed\-images\f[R], \f[CR]image\-captions\f[R],
660
+ \f[CR]link\-citations\f[R], \f[CR]show\-tooltips\f[R],
661
+ \f[CR]suppress\-bibliography\f[R], \f[CR]suppress\-index\f[R],
662
+ \f[CR]group\-index\-by\-letter\f[R], \f[CR]obfuscate\-emails\f[R],
663
+ \f[CR]pretty\f[R], \f[CR]standalone\f[R], \f[CR]hardbreaks\f[R],
664
+ \f[CR]plugins\f[R], \f[CR]emoji\-autocorrect\f[R],
665
+ \f[CR]code\-line\-numbers\f[R], \f[CR]highlight\-language\-only\f[R],
666
+ \f[CR]markdown\-in\-html\f[R]
667
+ .PP
668
+ \f[B]Supported string options:\f[R] \f[CR]bibliography\f[R],
669
+ \f[CR]csl\f[R], \f[CR]title\f[R], \f[CR]style\f[R] (or \f[CR]css\f[R]),
670
+ \f[CR]id\-format\f[R], \f[CR]base\-dir\f[R], \f[CR]mode\f[R],
671
+ \f[CR]wikilink\-space\f[R], \f[CR]wikilink\-extension\f[R]
672
+ .PP
673
+ \f[B]Example YAML front matter:\f[R]
674
+ .IP
675
+ .EX
676
+ \-\-\-
677
+ indices: false
678
+ wikilinks: true
679
+ bibliography: references.bib
680
+ title: My Research Paper
681
+ pretty: true
682
+ standalone: true
683
+ \-\-\-
684
+ .EE
685
+ .PP
686
+ \f[B]Example MultiMarkdown metadata:\f[R]
687
+ .IP
688
+ .EX
689
+ indices: false
690
+ wikilinks: true
691
+ bibliography: references.bib
692
+ title: My Research Paper
693
+ .EE
694
+ .PP
695
+ When processing multiple files with \f[CR]apex *.md\f[R], each file can
696
+ use its own configuration via metadata.
697
+ You can also use \f[CR]\-\-meta\-file\f[R] to specify a shared
698
+ configuration file that applies to all processed files.
699
+ .PP
700
+ \f[B]Note:\f[R] If \f[CR]mode\f[R] is specified in metadata, it resets
701
+ all options to that mode\(cqs defaults before applying other metadata
702
+ options.
703
+ .SH FEATURES
704
+ Apex supports a wide range of Markdown extensions:
705
+ .IP \(bu 2
706
+ \f[B]Tables\f[R]: GFM\-style tables with alignment
707
+ .IP \(bu 2
708
+ \f[B]Strikethrough\f[R]: GFM\-style \f[CR]\(ti\(titext\(ti\(ti\f[R]
709
+ (controlled by \f[B]\(enstrikethrough\f[R])
710
+ .IP \(bu 2
711
+ \f[B]Footnotes\f[R]: Reference\-style footnotes
712
+ .IP \(bu 2
713
+ \f[B]Math\f[R]: Inline (\f[CR]$...$\f[R]) and display
714
+ (\f[CR]$$...$$\f[R]) math
715
+ .RS 2
716
+ .PP
717
+ with LaTeX
718
+ .RE
719
+ .IP \(bu 2
720
+ \f[B]Wiki Links\f[R]: \f[CR][[Page]]\f[R], \f[CR][[Page|Display]]\f[R],
721
+ .RS 2
722
+ .PP
723
+ \f[CR][[Page#Section]]\f[R]
724
+ .RE
725
+ .IP \(bu 2
726
+ \f[B]Critic Markup\f[R]: All 5 types ({++add++}, {\(endel\(en},
727
+ .RS 2
728
+ .PP
729
+ {[STRIKEOUT:sub]}, {==mark==}, {>>comment<<})
730
+ .RE
731
+ .IP \(bu 2
732
+ \f[B]Smart Typography\f[R]: Smart quotes, dashes, ellipsis
733
+ .IP \(bu 2
734
+ \f[B]Definition Lists\f[R]: MultiMarkdown\-style definition lists
735
+ .IP \(bu 2
736
+ \f[B]Task Lists\f[R]: GFM\-style task lists
737
+ .IP \(bu 2
738
+ \f[B]Metadata\f[R]: YAML front matter, MultiMarkdown metadata,
739
+ .RS 2
740
+ .PP
741
+ Pandoc title blocks
742
+ .RE
743
+ .IP \(bu 2
744
+ \f[B]Metadata Transforms\f[R]: Transform metadata values with
745
+ .RS 2
746
+ .PP
747
+ \f[CR][%key:transform]\f[R] syntax (case conversion, string
748
+ manipulation, regex replacement, date formatting, etc.)
749
+ .RE
750
+ .IP \(bu 2
751
+ \f[B]Metadata Control of Options\f[R]: Control command\-line
752
+ .RS 2
753
+ .PP
754
+ options via metadata for per\-document configuration
755
+ .RE
756
+ .IP \(bu 2
757
+ \f[B]Header IDs\f[R]: Automatic or manual header IDs with
758
+ .RS 2
759
+ .PP
760
+ multiple format options
761
+ .RE
762
+ .IP \(bu 2
763
+ \f[B]Relaxed Tables\f[R]: Support for tables without separator rows
764
+ (Kramdown\-style).
765
+ Enabled by default in unified and Kramdown modes.
766
+ .IP \(bu 2
767
+ \f[B]Per\-Cell Alignment\f[R]: Support for alignment markers using
768
+ colons at the start and/or end of table cells.
769
+ Enabled by default in unified mode only.
770
+ .RS 2
771
+ .PP
772
+ rows (Kramdown\-style)
773
+ .RE
774
+ .IP \(bu 2
775
+ \f[B]Inline Tables from CSV/TSV\f[R]: Convert inline CSV/TSV
776
+ .RS 2
777
+ .PP
778
+ text to tables using \(ga\(ga\f[CR]table fences or\f[R]\(ga markers
779
+ .RE
780
+ .PP
781
+ \f[B]Superscript/Subscript\f[R]: MultiMarkdown\-style superscript
782
+ (\f[CR]\(hatext\f[R]) and subscript (\f[CR]\(titext\(ti\f[R] within
783
+ words) syntax.
784
+ Subscript uses paired tildes within word boundaries (e.g.,
785
+ \f[CR]H\(ti2\(tiO\f[R]), while tildes at word boundaries create
786
+ underline
787
+ .IP \(bu 2
788
+ \f[B]Image Embedding\f[R]: Embed local images as base64 data
789
+ .RS 2
790
+ .PP
791
+ URLs with \f[CR]\-\-embed\-images\f[R] flag
792
+ .RE
793
+ .PP
794
+ \f[B]Inline Attribute Lists (IAL)\f[R]: Kramdown\-style syntax for
795
+ adding HTML attributes (IDs, classes, key\-value pairs) to block\-level
796
+ and inline elements.
797
+ Supports Attribute List Definitions (ALDs) for reusable attribute sets.
798
+ Available in kramdown and unified modes.
799
+ See \c
800
+ .UR https://github.com/ttscoff/apex/wiki/Inline-Attribute-Lists
801
+ Inline Attribute Lists
802
+ .UE \c
803
+ \ for complete documentation
804
+ .SH SEE ALSO
805
+ \f[B]apex\-config\f[R](5), \f[B]apex\-plugins\f[R](7),
806
+ \f[B]pandoc\f[R](1), \f[B]markdown\f[R](7)
807
+ .PP
808
+ For complete documentation, see the \c
809
+ .UR https://github.com/ttscoff/apex/wiki
810
+ Apex Wiki
811
+ .UE \c
812
+ \&.
813
+ .PP
814
+ Project homepage: \c
815
+ .UR https://github.com/ApexMarkdown/apex
816
+ .UE \c
817
+ .SH AUTHOR
818
+ Brett Terpstra
819
+ .SH COPYRIGHT
820
+ Copyright (c) 2025 Brett Terpstra.
821
+ Licensed under MIT License.
822
+ .SH BUGS
823
+ Report bugs at \c
824
+ .UR https://github.com/ttscoff/apex/issues
825
+ .UE \c
826
+ \&.
827
+ .SH AUTHORS
828
+ Brett Terpstra.