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,150 @@
1
+ /**
2
+ * @file parser.h
3
+ * @brief Markdown parser interface
4
+ */
5
+
6
+ #ifndef APEX_PARSER_H
7
+ #define APEX_PARSER_H
8
+
9
+ #ifdef __cplusplus
10
+ extern "C" {
11
+ #endif
12
+
13
+ #include "apex.h"
14
+
15
+ /**
16
+ * Node types in the AST
17
+ */
18
+ typedef enum {
19
+ APEX_NODE_DOCUMENT,
20
+ APEX_NODE_PARAGRAPH,
21
+ APEX_NODE_HEADING,
22
+ APEX_NODE_CODE_BLOCK,
23
+ APEX_NODE_HTML_BLOCK,
24
+ APEX_NODE_THEMATIC_BREAK,
25
+ APEX_NODE_BLOCK_QUOTE,
26
+ APEX_NODE_LIST,
27
+ APEX_NODE_LIST_ITEM,
28
+ APEX_NODE_TEXT,
29
+ APEX_NODE_SOFTBREAK,
30
+ APEX_NODE_LINEBREAK,
31
+ APEX_NODE_CODE,
32
+ APEX_NODE_HTML_INLINE,
33
+ APEX_NODE_EMPH,
34
+ APEX_NODE_STRONG,
35
+ APEX_NODE_LINK,
36
+ APEX_NODE_IMAGE,
37
+
38
+ /* Extended node types */
39
+ APEX_NODE_TABLE,
40
+ APEX_NODE_TABLE_ROW,
41
+ APEX_NODE_TABLE_CELL,
42
+ APEX_NODE_FOOTNOTE_REFERENCE,
43
+ APEX_NODE_FOOTNOTE_DEFINITION,
44
+ APEX_NODE_DEFINITION_LIST,
45
+ APEX_NODE_DEFINITION_TERM,
46
+ APEX_NODE_DEFINITION_DATA,
47
+ APEX_NODE_TASK_LIST_ITEM,
48
+ APEX_NODE_STRIKETHROUGH,
49
+ APEX_NODE_MATH,
50
+ APEX_NODE_CALLOUT,
51
+ APEX_NODE_WIKI_LINK,
52
+ APEX_NODE_CRITIC_ADDITION,
53
+ APEX_NODE_CRITIC_DELETION,
54
+ APEX_NODE_CRITIC_SUBSTITUTION,
55
+ APEX_NODE_CRITIC_HIGHLIGHT,
56
+ APEX_NODE_CRITIC_COMMENT,
57
+ APEX_NODE_METADATA,
58
+ APEX_NODE_TOC_MARKER,
59
+ APEX_NODE_PAGE_BREAK,
60
+ } apex_node_type;
61
+
62
+ /**
63
+ * AST node structure
64
+ */
65
+ typedef struct apex_node {
66
+ apex_node_type type;
67
+ struct apex_node *parent;
68
+ struct apex_node *first_child;
69
+ struct apex_node *last_child;
70
+ struct apex_node *prev;
71
+ struct apex_node *next;
72
+
73
+ /* Node data */
74
+ char *literal; /**< Text content for text nodes */
75
+ int start_line; /**< Source start line */
76
+ int start_column; /**< Source start column */
77
+ int end_line; /**< Source end line */
78
+ int end_column; /**< Source end column */
79
+
80
+ /* Type-specific data */
81
+ union {
82
+ struct {
83
+ int level; /**< Heading level (1-6) */
84
+ } heading;
85
+
86
+ struct {
87
+ char *info; /**< Language/info string */
88
+ bool fenced; /**< Is fenced code block */
89
+ } code_block;
90
+
91
+ struct {
92
+ char *url;
93
+ char *title;
94
+ } link;
95
+
96
+ struct {
97
+ bool checked; /**< Task list checkbox state */
98
+ } task_item;
99
+
100
+ struct {
101
+ char *type; /**< Callout type (NOTE, WARNING, etc) */
102
+ char *title; /**< Callout title */
103
+ bool collapsible;
104
+ bool default_open;
105
+ } callout;
106
+
107
+ struct {
108
+ bool is_inline; /**< Inline vs display math */
109
+ } math;
110
+ } data;
111
+ } apex_node;
112
+
113
+ /**
114
+ * Create parser
115
+ *
116
+ * @param options Parser options
117
+ * @return Parser instance
118
+ */
119
+ void *apex_parser_new(const apex_options *options);
120
+
121
+ /**
122
+ * Free parser
123
+ *
124
+ * @param parser Parser instance
125
+ */
126
+ void apex_parser_free(void *parser);
127
+
128
+ /**
129
+ * Parse Markdown text into AST
130
+ *
131
+ * @param parser Parser instance
132
+ * @param markdown Input text
133
+ * @param length Text length
134
+ * @return Root node of AST
135
+ */
136
+ apex_node *apex_parse(void *parser, const char *markdown, size_t length);
137
+
138
+ /**
139
+ * Free AST node and all children
140
+ *
141
+ * @param node Node to free
142
+ */
143
+ void apex_node_free(apex_node *node);
144
+
145
+ #ifdef __cplusplus
146
+ }
147
+ #endif
148
+
149
+ #endif /* APEX_PARSER_H */
150
+
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @file renderer.h
3
+ * @brief AST renderer interface
4
+ */
5
+
6
+ #ifndef APEX_RENDERER_H
7
+ #define APEX_RENDERER_H
8
+
9
+ #ifdef __cplusplus
10
+ extern "C" {
11
+ #endif
12
+
13
+ #include "parser.h"
14
+ #include "buffer.h"
15
+
16
+ /**
17
+ * Render AST to HTML
18
+ *
19
+ * @param root Root node of AST
20
+ * @param options Rendering options
21
+ * @return HTML string (must be freed with apex_free)
22
+ */
23
+ char *apex_render_html(apex_node *root, const apex_options *options);
24
+
25
+ /**
26
+ * Render AST to XML
27
+ *
28
+ * @param root Root node of AST
29
+ * @param options Rendering options
30
+ * @return XML string (must be freed with apex_free)
31
+ */
32
+ char *apex_render_xml(apex_node *root, const apex_options *options);
33
+
34
+ #ifdef __cplusplus
35
+ }
36
+ #endif
37
+
38
+ #endif /* APEX_RENDERER_H */
39
+
@@ -0,0 +1,374 @@
1
+ .\" Automatically generated by Pandoc 3.8.3
2
+ .\"
3
+ .TH "APEX\-CONFIG" "5" "December 2025" ""
4
+ .SH NAME
5
+ apex\-config \- Apex configuration file format
6
+ .SH DESCRIPTION
7
+ Apex supports flexible configuration through metadata files that allow
8
+ you to define defaults once and reuse them across many documents, while
9
+ still allowing per\-document and per\-invocation overrides.
10
+ .PP
11
+ Configuration can come from three main sources:
12
+ .IP "1." 3
13
+ \f[B]Global configuration file\f[R] \-
14
+ \f[CR]$XDG_CONFIG_HOME/apex/config.yml\f[R] or
15
+ \f[CR]\(ti/.config/apex/config.yml\f[R]
16
+ .IP "2." 3
17
+ \f[B]External metadata files\f[R] \- Any file passed via
18
+ \f[CR]\-\-meta\-file\f[R]
19
+ .IP "3." 3
20
+ \f[B]Per\-document metadata\f[R] \- YAML, MultiMarkdown, or
21
+ Pandoc\-style metadata in the document
22
+ .PP
23
+ Command\-line flags always override configuration file settings.
24
+ .SH GLOBAL CONFIG FILE
25
+ When you run \f[B]apex\f[R](1) without an explicit
26
+ \f[CR]\-\-meta\-file\f[R], Apex automatically checks for a global
27
+ configuration file:
28
+ .IP \(bu 2
29
+ If \f[CR]$XDG_CONFIG_HOME\f[R] is set:
30
+ \f[CR]$XDG_CONFIG_HOME/apex/config.yml\f[R]
31
+ .IP \(bu 2
32
+ Otherwise: \f[CR]\(ti/.config/apex/config.yml\f[R]
33
+ .PP
34
+ If the file exists, Apex loads it as if you had passed it via
35
+ \f[CR]\-\-meta\-file\f[R], and merges its metadata with the document and
36
+ any \f[CR]\-\-meta\f[R] command\-line metadata.
37
+ .PP
38
+ This makes \f[CR]config.yml\f[R] ideal for defining project\-agnostic
39
+ defaults such as:
40
+ .IP \(bu 2
41
+ Default \f[CR]mode\f[R] (e.g.\ \f[CR]unified\f[R], \f[CR]gfm\f[R],
42
+ \f[CR]mmd\f[R])
43
+ .IP \(bu 2
44
+ Default \f[CR]language\f[R] and \f[CR]quoteslanguage\f[R]
45
+ .IP \(bu 2
46
+ Common feature flags (\f[CR]pretty\f[R], \f[CR]standalone\f[R],
47
+ \f[CR]indices\f[R], \f[CR]wikilinks\f[R], etc.)
48
+ .IP \(bu 2
49
+ Default bibliography style
50
+ .SS Example \f[CR]config.yml\f[R]
51
+ .IP
52
+ .EX
53
+ \-\-\-
54
+ \f[I]# Default processor mode and output style\f[R]
55
+ mode\f[B]:\f[R] unified
56
+ standalone\f[B]:\f[R] true
57
+ pretty\f[B]:\f[R] true
58
+
59
+ \f[I]# Locale and quotation style\f[R]
60
+ language\f[B]:\f[R] en
61
+ quoteslanguage\f[B]:\f[R] english
62
+
63
+ \f[I]# Common feature flags\f[R]
64
+ autolink\f[B]:\f[R] true
65
+ includes\f[B]:\f[R] true
66
+ relaxed\-tables\f[B]:\f[R] true
67
+ sup\-sub\f[B]:\f[R] true
68
+
69
+ \f[I]# Index and bibliography defaults\f[R]
70
+ indices\f[B]:\f[R] true
71
+ group\-index\-by\-letter\f[B]:\f[R] true
72
+ bibliography\f[B]:\f[R] references.bib
73
+ csl\f[B]:\f[R] apa.csl
74
+ \-\-\-
75
+ .EE
76
+ .SH EXTERNAL METADATA FILES
77
+ For project\-specific or task\-specific configurations, use
78
+ \f[CR]\-\-meta\-file\f[R] to point to a reusable metadata file:
79
+ .IP
80
+ .EX
81
+ apex document.md \-\-meta\-file project\-defaults.yml
82
+ .EE
83
+ .PP
84
+ These files use the same metadata keys as \f[CR]config.yml\f[R] and
85
+ document front matter.
86
+ .SS Example project config
87
+ .IP
88
+ .EX
89
+ \-\-\-
90
+ mode\f[B]:\f[R] unified
91
+ standalone\f[B]:\f[R] true
92
+ pretty\f[B]:\f[R] true
93
+
94
+ \f[I]# Project\-specific bibliography\f[R]
95
+ bibliography\f[B]:\f[R] project\-refs.bib
96
+ csl\f[B]:\f[R] chicago\-note\-bibliography.csl
97
+
98
+ \f[I]# Enable wiki links and relaxed tables for this project\f[R]
99
+ wikilinks\f[B]:\f[R] true
100
+ relaxed\-tables\f[B]:\f[R] true
101
+ \-\-\-
102
+ .EE
103
+ .SH PER\-DOCUMENT METADATA
104
+ Each document can define its own metadata in YAML, MultiMarkdown, or
105
+ Pandoc formats.
106
+ Apex extracts this metadata before processing, merges it with any
107
+ file/config metadata, and then applies it to options.
108
+ .SS YAML front matter example
109
+ .IP
110
+ .EX
111
+ \f[I]\-\-\-\f[R]
112
+ \f[BI]title:\f[R]\f[I] My Research Paper\f[R]
113
+ \f[BI]author:\f[R]\f[I] Jane Doe\f[R]
114
+ \f[BI]mode:\f[R]\f[I] unified\f[R]
115
+ \f[BI]standalone:\f[R]\f[I] true\f[R]
116
+ \f[BI]pretty:\f[R]\f[I] true\f[R]
117
+ \f[BI]indices:\f[R]\f[I] false\f[R]
118
+ \f[BI]wikilinks:\f[R]\f[I] true\f[R]
119
+ \f[BI]bibliography:\f[R]\f[I] references.bib\f[R]
120
+ \f[BI]language:\f[R]\f[I] en\f[R]
121
+ \f[BI]quoteslanguage:\f[R]\f[I] english\f[R]
122
+ \f[I]\-\-\-\f[R]
123
+
124
+ # Introduction
125
+ \&...
126
+ .EE
127
+ .SS MultiMarkdown metadata example
128
+ .IP
129
+ .EX
130
+ \f[BI]Title:\f[R]\f[I] My Research Paper\f[R]
131
+ \f[BI]Author:\f[R]\f[I] Jane Doe\f[R]
132
+ \f[BI]Mode:\f[R]\f[I] unified\f[R]
133
+ \f[BI]Standalone:\f[R]\f[I] true\f[R]
134
+ \f[BI]Pretty:\f[R]\f[I] true\f[R]
135
+ \f[BI]Indices:\f[R]\f[I] false\f[R]
136
+ \f[BI]WikiLinks:\f[R]\f[I] true\f[R]
137
+ \f[BI]Bibliography:\f[R]\f[I] references.bib\f[R]
138
+ \f[BI]Language:\f[R]\f[I] en\f[R]
139
+ \f[BI]Quotes Language:\f[R]\f[I] english\f[R]
140
+
141
+ # Introduction
142
+ \&...
143
+ .EE
144
+ .PP
145
+ Apex normalizes keys (case\-insensitive, ignores spaces and dashes), so
146
+ \f[CR]Quotes Language\f[R], \f[CR]quoteslanguage\f[R], and
147
+ \f[CR]quotes\-language\f[R] are treated equivalently.
148
+ .SH PRECEDENCE AND MERGING
149
+ When Apex builds the final configuration for a run, it merges all
150
+ sources in this order:
151
+ .IP "1." 3
152
+ \f[B]File metadata\f[R] (lowest precedence)
153
+ .RS 4
154
+ .IP \(bu 2
155
+ Global \f[CR]config.yml\f[R] if present and no explicit
156
+ \f[CR]\-\-meta\-file\f[R] was given
157
+ .IP \(bu 2
158
+ Any metadata file provided via \f[CR]\-\-meta\-file\f[R]
159
+ .RE
160
+ .IP "2." 3
161
+ \f[B]Document metadata\f[R]
162
+ .RS 4
163
+ .IP \(bu 2
164
+ YAML/MultiMarkdown/Pandoc metadata inside the document
165
+ .RE
166
+ .IP "3." 3
167
+ \f[B]Command\-line metadata\f[R]
168
+ .RS 4
169
+ .IP \(bu 2
170
+ Values passed via \f[CR]\-\-meta KEY=VALUE\f[R]
171
+ .RE
172
+ .IP "4." 3
173
+ \f[B]Command\-line flags\f[R]
174
+ .RS 4
175
+ .IP \(bu 2
176
+ Flags like \f[CR]\-\-mode\f[R], \f[CR]\-\-pretty\f[R],
177
+ \f[CR]\-\-no\-tables\f[R], etc.
178
+ .RE
179
+ .PP
180
+ Later sources override earlier ones.
181
+ In practice:
182
+ .IP \(bu 2
183
+ A document can override defaults from \f[CR]config.yml\f[R] or
184
+ \f[CR]\-\-meta\-file\f[R]
185
+ .IP \(bu 2
186
+ \f[CR]\-\-meta\f[R] values can override both document and file metadata
187
+ .IP \(bu 2
188
+ Explicit CLI flags still behave as final overrides where applicable
189
+ .PP
190
+ \f[B]Note:\f[R] If \f[CR]mode\f[R] is specified in metadata (file or
191
+ document), Apex resets options to that mode\(cqs defaults before
192
+ applying other metadata keys, so the mode behaves as if you had passed
193
+ it on the command line first.
194
+ .SH CONFIGURATION KEYS
195
+ Configuration keys correspond closely to Apex command\-line options.
196
+ Most options can be controlled via metadata in \f[CR]config.yml\f[R],
197
+ \f[CR]\-\-meta\-file\f[R] files, or per\-document metadata.
198
+ .SS Boolean options
199
+ Boolean keys accept any of the following values (case\-insensitive):
200
+ .IP \(bu 2
201
+ \f[CR]true\f[R] / \f[CR]false\f[R]
202
+ .IP \(bu 2
203
+ \f[CR]yes\f[R] / \f[CR]no\f[R]
204
+ .IP \(bu 2
205
+ \f[CR]1\f[R] / \f[CR]0\f[R]
206
+ .PP
207
+ \f[B]Supported boolean keys include:\f[R]
208
+ .IP \(bu 2
209
+ \f[CR]indices\f[R] \- Enable index processing
210
+ .IP \(bu 2
211
+ \f[CR]wikilinks\f[R] \- Enable wiki link syntax (\f[CR][[Page]]\f[R])
212
+ .IP \(bu 2
213
+ \f[CR]includes\f[R] \- Enable file inclusion
214
+ .IP \(bu 2
215
+ \f[CR]relaxed\-tables\f[R] \- Enable relaxed table parsing
216
+ .IP \(bu 2
217
+ \f[CR]alpha\-lists\f[R] \- Enable alphabetic list markers
218
+ .IP \(bu 2
219
+ \f[CR]mixed\-lists\f[R] \- Allow mixing list marker types at the same
220
+ level
221
+ .IP \(bu 2
222
+ \f[CR]sup\-sub\f[R] \- Enable MultiMarkdown\-style superscript/subscript
223
+ .IP \(bu 2
224
+ \f[CR]autolink\f[R] \- Enable automatic URL/email linking
225
+ .IP \(bu 2
226
+ \f[CR]transforms\f[R] \- Enable metadata transforms
227
+ (\f[CR][%key:transform]\f[R])
228
+ .IP \(bu 2
229
+ \f[CR]unsafe\f[R] \- Allow raw HTML in output
230
+ .IP \(bu 2
231
+ \f[CR]tables\f[R] \- Enable/disable table support
232
+ .IP \(bu 2
233
+ \f[CR]footnotes\f[R] \- Enable/disable footnote support
234
+ .IP \(bu 2
235
+ \f[CR]smart\f[R] \- Enable/disable smart typography
236
+ .IP \(bu 2
237
+ \f[CR]math\f[R] \- Enable/disable math support
238
+ .IP \(bu 2
239
+ \f[CR]ids\f[R] \- Enable/disable automatic header IDs
240
+ .IP \(bu 2
241
+ \f[CR]header\-anchors\f[R] \- Use \f[CR]<a>\f[R] anchors instead of
242
+ plain \f[CR]id\f[R] attributes
243
+ .IP \(bu 2
244
+ \f[CR]embed\-images\f[R] \- Enable base64 image embedding
245
+ .IP \(bu 2
246
+ \f[CR]link\-citations\f[R] \- Link citations to bibliography entries
247
+ .IP \(bu 2
248
+ \f[CR]show\-tooltips\f[R] \- Add tooltips to citations
249
+ .IP \(bu 2
250
+ \f[CR]suppress\-bibliography\f[R] \- Suppress bibliography output
251
+ .IP \(bu 2
252
+ \f[CR]suppress\-index\f[R] \- Suppress index output while still creating
253
+ markers
254
+ .IP \(bu 2
255
+ \f[CR]group\-index\-by\-letter\f[R] \- Group index entries
256
+ alphabetically
257
+ .IP \(bu 2
258
+ \f[CR]obfuscate\-emails\f[R] \- Hex\-encode \f[CR]mailto:\f[R] links and
259
+ visible email addresses
260
+ .IP \(bu 2
261
+ \f[CR]pretty\f[R] \- Pretty\-print HTML
262
+ .IP \(bu 2
263
+ \f[CR]standalone\f[R] \- Generate a full HTML document
264
+ (\f[CR]<html>\f[R], \f[CR]<head>\f[R], \f[CR]<body>\f[R])
265
+ .IP \(bu 2
266
+ \f[CR]hardbreaks\f[R] \- Treat newlines as \f[CR]<br>\f[R]
267
+ .IP \(bu 2
268
+ \f[CR]plugins\f[R] \- Enable plugin processing (see
269
+ \f[B]apex\-plugins\f[R](7))
270
+ .SS String options
271
+ String keys take a free\-form string value (sometimes with a constrained
272
+ set of options):
273
+ .IP \(bu 2
274
+ \f[CR]mode\f[R]
275
+ .RS 2
276
+ .IP \(bu 2
277
+ Values: \f[CR]commonmark\f[R], \f[CR]gfm\f[R],
278
+ \f[CR]mmd\f[R]/\f[CR]multimarkdown\f[R], \f[CR]kramdown\f[R],
279
+ \f[CR]unified\f[R]
280
+ .RE
281
+ .IP \(bu 2
282
+ \f[CR]id\-format\f[R]
283
+ .RS 2
284
+ .IP \(bu 2
285
+ Values: \f[CR]gfm\f[R], \f[CR]mmd\f[R], \f[CR]kramdown\f[R]
286
+ .RE
287
+ .IP \(bu 2
288
+ \f[CR]title\f[R]
289
+ .RS 2
290
+ .IP \(bu 2
291
+ Document title (used especially in standalone mode)
292
+ .RE
293
+ .IP \(bu 2
294
+ \f[CR]style\f[R] / \f[CR]css\f[R]
295
+ .RS 2
296
+ .IP \(bu 2
297
+ Stylesheet path for standalone documents
298
+ .RE
299
+ .IP \(bu 2
300
+ \f[CR]base\-dir\f[R]
301
+ .RS 2
302
+ .IP \(bu 2
303
+ Base directory used for resolving relative paths (images, includes,
304
+ etc.)
305
+ .RE
306
+ .IP \(bu 2
307
+ \f[CR]bibliography\f[R]
308
+ .RS 2
309
+ .IP \(bu 2
310
+ Path to a bibliography file (\f[CR].bib\f[R], \f[CR].json\f[R],
311
+ \f[CR].yml\f[R], \f[CR].yaml\f[R])
312
+ .RE
313
+ .IP \(bu 2
314
+ \f[CR]csl\f[R]
315
+ .RS 2
316
+ .IP \(bu 2
317
+ Path to a CSL style file
318
+ .RE
319
+ .IP \(bu 2
320
+ \f[CR]language\f[R]
321
+ .RS 2
322
+ .IP \(bu 2
323
+ BCP 47 or similar language tag (e.g.\ \f[CR]en\f[R], \f[CR]en\-US\f[R],
324
+ \f[CR]fr\f[R]); sets the HTML \f[CR]lang\f[R] attribute
325
+ .RE
326
+ .IP \(bu 2
327
+ \f[CR]quoteslanguage\f[R] / \f[CR]Quotes Language\f[R]
328
+ .RS 2
329
+ .IP \(bu 2
330
+ Human\-readable language name used for quote styling
331
+ (e.g.\ \f[CR]english\f[R], \f[CR]french\f[R], \f[CR]german\f[R])
332
+ .RE
333
+ .PP
334
+ You can also use arbitrary keys for your own templates and transforms;
335
+ Apex simply passes them through to the metadata system so they can be
336
+ referenced via \f[CR][%key]\f[R] and \f[CR][%key:transform]\f[R].
337
+ .SH EXAMPLES
338
+ A typical setup might look like this:
339
+ .IP "1." 3
340
+ \f[B]Global defaults\f[R] in \f[CR]config.yml\f[R] for your overall
341
+ writing style and locale.
342
+ .IP "2." 3
343
+ \f[B]Project config\f[R] via \f[CR]\-\-meta\-file project.yml\f[R] for
344
+ bibliography and project\-specific settings.
345
+ .IP "3." 3
346
+ \f[B]Per\-document metadata\f[R] for title, author, and any exceptions
347
+ to the defaults.
348
+ .IP "4." 3
349
+ Occasional \f[B]CLI overrides\f[R] for ad\-hoc one\-off changes
350
+ (e.g.\ \f[CR]\-\-mode gfm\f[R] for a specific run).
351
+ .PP
352
+ Because all three configuration layers use the same metadata keys, you
353
+ can gradually refine behavior without repeating yourself:
354
+ .IP \(bu 2
355
+ Put long\-lived, cross\-project settings in \f[CR]config.yml\f[R]
356
+ .IP \(bu 2
357
+ Put project\-scoped settings in \f[CR]\-\-meta\-file\f[R] configs
358
+ .IP \(bu 2
359
+ Put document\-specific settings in front matter
360
+ .SH SEE ALSO
361
+ \f[B]apex\f[R](1), \f[B]apex\-plugins\f[R](7)
362
+ .PP
363
+ For complete documentation, see the \c
364
+ .UR https://github.com/ttscoff/apex/wiki
365
+ Apex Wiki
366
+ .UE \c
367
+ \&.
368
+ .SH AUTHOR
369
+ Brett Terpstra
370
+ .SH COPYRIGHT
371
+ Copyright (c) 2025 Brett Terpstra.
372
+ Licensed under MIT License.
373
+ .SH AUTHORS
374
+ Brett Terpstra.