apex-ruby 1.0.30 → 1.0.32

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 (490) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -8
  3. data/apex-ruby.gemspec +14 -3
  4. data/ext/apex_ext/apex_src/include/apex/apex.h +11 -2
  5. data/ext/apex_ext/apex_src/src/apex.c +64 -5
  6. data/ext/apex_ext/apex_src/src/ast_terminal.c +2 -4
  7. data/ext/apex_ext/apex_src/src/extensions/callouts.c +103 -63
  8. data/ext/apex_ext/apex_src/src/extensions/callouts.h +3 -2
  9. data/ext/apex_ext/apex_src/src/extensions/citations.c +15 -2
  10. data/ext/apex_ext/apex_src/src/extensions/emoji.c +73 -7
  11. data/ext/apex_ext/apex_src/src/extensions/html_markdown.c +25 -4
  12. data/ext/apex_ext/apex_src/src/extensions/html_markdown.h +4 -1
  13. data/ext/apex_ext/apex_src/src/extensions/insert.c +49 -0
  14. data/ext/apex_ext/apex_src/src/extensions/metadata.c +275 -55
  15. data/ext/apex_ext/apex_src/src/extensions/metadata.h +9 -0
  16. data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.c +172 -254
  17. data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.c +36 -127
  18. data/ext/apex_ext/apex_src/src/html_renderer.c +99 -157
  19. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/table.c +7 -0
  20. data/ext/apex_ext/extconf.rb +31 -79
  21. data/lib/apex/version.rb +1 -1
  22. metadata +1 -469
  23. data/ext/apex_ext/apex_src/AGENTS.md +0 -41
  24. data/ext/apex_ext/apex_src/BENCHMARK.md +0 -32
  25. data/ext/apex_ext/apex_src/BENCHMARK_COMPARISON.md +0 -67
  26. data/ext/apex_ext/apex_src/CHANGELOG.md +0 -3373
  27. data/ext/apex_ext/apex_src/CMakeLists.txt +0 -481
  28. data/ext/apex_ext/apex_src/Dockerfile.linux-build +0 -15
  29. data/ext/apex_ext/apex_src/Formula/apex.rb +0 -43
  30. data/ext/apex_ext/apex_src/Info.plist.in +0 -27
  31. data/ext/apex_ext/apex_src/Package.swift +0 -192
  32. data/ext/apex_ext/apex_src/PackageSupport/README.md +0 -17
  33. data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark_gfm_spm_stub.c +0 -4
  34. data/ext/apex_ext/apex_src/README.md +0 -536
  35. data/ext/apex_ext/apex_src/ROADMAP.md +0 -5
  36. data/ext/apex_ext/apex_src/VERSION +0 -1
  37. data/ext/apex_ext/apex_src/apex-debug.log +0 -4
  38. data/ext/apex_ext/apex_src/apex-header-2-rb@2x.webp +0 -0
  39. data/ext/apex_ext/apex_src/apex-plugins.json.example +0 -20
  40. data/ext/apex_ext/apex_src/apex.code-workspace +0 -38
  41. data/ext/apex_ext/apex_src/apex.pc.in +0 -11
  42. data/ext/apex_ext/apex_src/apex.taskpaper +0 -12
  43. data/ext/apex_ext/apex_src/apex_deflist_debug.log +0 -25
  44. data/ext/apex_ext/apex_src/buildnotes.md +0 -1435
  45. data/ext/apex_ext/apex_src/cli/main.c +0 -4588
  46. data/ext/apex_ext/apex_src/debug.log +0 -7
  47. data/ext/apex_ext/apex_src/debug_test.sh +0 -22
  48. data/ext/apex_ext/apex_src/docs/API_REFERENCE.md +0 -451
  49. data/ext/apex_ext/apex_src/docs/ARCHITECTURE.md +0 -166
  50. data/ext/apex_ext/apex_src/docs/CITATIONS_EXAMPLES.md +0 -274
  51. data/ext/apex_ext/apex_src/docs/CITATIONS_IMPLEMENTATION_PLAN.md +0 -749
  52. data/ext/apex_ext/apex_src/docs/CITATIONS_PLAN.md +0 -744
  53. data/ext/apex_ext/apex_src/docs/CMARK_INTEGRATION.md +0 -220
  54. data/ext/apex_ext/apex_src/docs/CRITICMARKUP.md +0 -501
  55. data/ext/apex_ext/apex_src/docs/DEBUGGING.md +0 -73
  56. data/ext/apex_ext/apex_src/docs/FINAL_STATUS.md +0 -391
  57. data/ext/apex_ext/apex_src/docs/FINAL_STATUS_UPDATE.md +0 -237
  58. data/ext/apex_ext/apex_src/docs/IAL_FEATURES.md +0 -210
  59. data/ext/apex_ext/apex_src/docs/IAL_STATUS.md +0 -344
  60. data/ext/apex_ext/apex_src/docs/INDEX_IMPLEMENTATION_ANALYSIS.md +0 -382
  61. data/ext/apex_ext/apex_src/docs/INTEGRATION_EXAMPLE.m +0 -144
  62. data/ext/apex_ext/apex_src/docs/LIMITATIONS_RESOLVED.md +0 -278
  63. data/ext/apex_ext/apex_src/docs/OUTPUT_MODES.md +0 -321
  64. data/ext/apex_ext/apex_src/docs/PROGRESS.md +0 -167
  65. data/ext/apex_ext/apex_src/docs/STANDALONE_FEATURE.md +0 -174
  66. data/ext/apex_ext/apex_src/docs/TABLE_SPANS_STATUS.md +0 -243
  67. data/ext/apex_ext/apex_src/docs/TEST_COVERAGE.md +0 -316
  68. data/ext/apex_ext/apex_src/docs/USER_GUIDE.md +0 -803
  69. data/ext/apex_ext/apex_src/docs/WIKI_LINKS_ISSUE.md +0 -91
  70. data/ext/apex_ext/apex_src/docs/index.md +0 -459
  71. data/ext/apex_ext/apex_src/docs/plans/2025-02-27-man-page-output-implementation.md +0 -351
  72. data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-12-toc-output-format.md +0 -745
  73. data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-18-bear-image-attributes.md +0 -829
  74. data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-19-apex-node-npm.md +0 -1148
  75. data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-12-toc-output-format-design.md +0 -161
  76. data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-18-bear-image-attributes-design.md +0 -184
  77. data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-19-apex-node-npm-design.md +0 -211
  78. data/ext/apex_ext/apex_src/documentation/README.md +0 -160
  79. data/ext/apex_ext/apex_src/documentation/app-settings-table.md +0 -67
  80. data/ext/apex_ext/apex_src/documentation/app-transformed/Citations.md +0 -340
  81. data/ext/apex_ext/apex_src/documentation/app-transformed/Credits.md +0 -11
  82. data/ext/apex_ext/apex_src/documentation/app-transformed/Header-IDs.md +0 -234
  83. data/ext/apex_ext/apex_src/documentation/app-transformed/Inline-Attribute-Lists.md +0 -516
  84. data/ext/apex_ext/apex_src/documentation/app-transformed/Metadata-Transforms.md +0 -461
  85. data/ext/apex_ext/apex_src/documentation/app-transformed/Modes.md +0 -193
  86. data/ext/apex_ext/apex_src/documentation/app-transformed/Multi-File-Documents.md +0 -201
  87. data/ext/apex_ext/apex_src/documentation/app-transformed/Plugins.md +0 -678
  88. data/ext/apex_ext/apex_src/documentation/app-transformed/Syntax.md +0 -1367
  89. data/ext/apex_ext/apex_src/documentation/docsets/Apex Command Line Options.cheatsheet.txt +0 -371
  90. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Info.plist +0 -24
  91. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/C-API.html +0 -2211
  92. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Callouts.html +0 -1194
  93. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Citations.html +0 -1620
  94. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Command-Line-Options.html +0 -6024
  95. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Configuration.html +0 -1877
  96. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Credits.html +0 -1040
  97. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Examples.html +0 -1402
  98. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Filters.html +0 -1656
  99. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Generating-Man-Pages.html +0 -1226
  100. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Getting-Started.html +0 -1148
  101. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Header-IDs.html +0 -1478
  102. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Home.html +0 -1225
  103. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Indices.html +0 -2327
  104. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Inline-Attribute-Lists.html +0 -2041
  105. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Installation.html +0 -1314
  106. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Limitations-and-Roadmap.html +0 -1868
  107. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Metadata-Transforms.html +0 -1731
  108. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Modes.html +0 -2242
  109. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-File-Documents.html +0 -1533
  110. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-Format-Images.html +0 -1362
  111. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Pandoc-Integration.html +0 -1338
  112. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Plugins.html +0 -3188
  113. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Quarto-Mode.html +0 -1405
  114. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Rendering-Markdown-In-Terminal.html +0 -1902
  115. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Syntax.html +0 -4222
  116. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Tables.html +0 -1781
  117. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Troubleshooting.html +0 -1629
  118. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Usage.html +0 -1394
  119. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Using-Apex-with-Jekyll.html +0 -1132
  120. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Writing-Tests.html +0 -1754
  121. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Xcode-Integration.html +0 -2562
  122. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/docSet.dsidx +0 -0
  123. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
  124. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Info.plist +0 -22
  125. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans.woff +0 -0
  126. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold.woff +0 -0
  127. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold_Italic.woff +0 -0
  128. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold.woff +0 -0
  129. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold_Italic.woff +0 -0
  130. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Italic.woff +0 -0
  131. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold.woff +0 -0
  132. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold_Italic.woff +0 -0
  133. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/index.html +0 -914
  134. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/style.css +0 -399
  135. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/docSet.dsidx +0 -0
  136. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
  137. data/ext/apex_ext/apex_src/documentation/generate_app_docs.rb +0 -772
  138. data/ext/apex_ext/apex_src/documentation/generate_app_docs_ai.rb +0 -678
  139. data/ext/apex_ext/apex_src/documentation/generate_docset.rb +0 -873
  140. data/ext/apex_ext/apex_src/documentation/generate_single_html.rb +0 -733
  141. data/ext/apex_ext/apex_src/documentation/html/apex-app-docs.html +0 -8746
  142. data/ext/apex_ext/apex_src/documentation/html/apex-docs.html +0 -17073
  143. data/ext/apex_ext/apex_src/documentation/shared_scripts.js +0 -64
  144. data/ext/apex_ext/apex_src/documentation/shared_styles.css +0 -651
  145. data/ext/apex_ext/apex_src/documentation/transform_for_app.example.md +0 -260
  146. data/ext/apex_ext/apex_src/documentation/transform_for_app.md +0 -55
  147. data/ext/apex_ext/apex_src/escaping-repro.md +0 -103
  148. data/ext/apex_ext/apex_src/examples/bracketed_spans_demo.md +0 -119
  149. data/ext/apex_ext/apex_src/examples/emoji_span_plugin.yml +0 -11
  150. data/ext/apex_ext/apex_src/examples/example.html +0 -53
  151. data/ext/apex_ext/apex_src/examples/example.md +0 -85
  152. data/ext/apex_ext/apex_src/examples/fenced_divs_demo.md +0 -158
  153. data/ext/apex_ext/apex_src/examples/kbd.md +0 -8
  154. data/ext/apex_ext/apex_src/examples/kbd_plugin.rb +0 -250
  155. data/ext/apex_ext/apex_src/examples/kbd_plugin.yml +0 -9
  156. data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/Info.plist +0 -8
  157. data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/QuickLook/Preview.png +0 -0
  158. data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/document.wflow +0 -547
  159. data/ext/apex_ext/apex_src/examples/quick-actions/Markdown-to-RTF.workflow.zip +0 -0
  160. data/ext/apex_ext/apex_src/examples/quick-actions/README.md +0 -33
  161. data/ext/apex_ext/apex_src/ial.html +0 -24
  162. data/ext/apex_ext/apex_src/icon/apexicon-outline-black.png +0 -0
  163. data/ext/apex_ext/apex_src/icon/apexicon-outline-black@2x.png +0 -0
  164. data/ext/apex_ext/apex_src/icon/apexicon-outline-mark.png +0 -0
  165. data/ext/apex_ext/apex_src/icon/apexicon-outline-mark@2x.png +0 -0
  166. data/ext/apex_ext/apex_src/icon/apexicon-outline-white.png +0 -0
  167. data/ext/apex_ext/apex_src/icon/apexicon-outline-white@2x.png +0 -0
  168. data/ext/apex_ext/apex_src/icon/apexicon.png +0 -0
  169. data/ext/apex_ext/apex_src/icon/apexicon@2x.png +0 -0
  170. data/ext/apex_ext/apex_src/man/apex-config.5 +0 -455
  171. data/ext/apex_ext/apex_src/man/apex-config.5.md +0 -262
  172. data/ext/apex_ext/apex_src/man/apex-plugins.7 +0 -541
  173. data/ext/apex_ext/apex_src/man/apex-plugins.7.md +0 -365
  174. data/ext/apex_ext/apex_src/man/apex.1 +0 -583
  175. data/ext/apex_ext/apex_src/man/apex.1.html +0 -703
  176. data/ext/apex_ext/apex_src/man/apex.1.md +0 -803
  177. data/ext/apex_ext/apex_src/man/apex.1.new +0 -338
  178. data/ext/apex_ext/apex_src/objc/Apex.swift +0 -316
  179. data/ext/apex_ext/apex_src/objc/ApexPlugins.swift +0 -79
  180. data/ext/apex_ext/apex_src/objc/NSString+Apex.h +0 -207
  181. data/ext/apex_ext/apex_src/objc/NSString+Apex.m +0 -584
  182. data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.h +0 -76
  183. data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.m +0 -169
  184. data/ext/apex_ext/apex_src/output.html +0 -87
  185. data/ext/apex_ext/apex_src/pages/index.md +0 -459
  186. data/ext/apex_ext/apex_src/plans/quarto-mode.md +0 -442
  187. data/ext/apex_ext/apex_src/src/_README.md +0 -413
  188. data/ext/apex_ext/apex_src/src/extensions/github-emoji.txt +0 -869
  189. data/ext/apex_ext/apex_src/test-linux-build.sh +0 -20
  190. data/ext/apex_ext/apex_src/test.html +0 -103
  191. data/ext/apex_ext/apex_src/test_coverage.sh +0 -121
  192. data/ext/apex_ext/apex_src/test_ial_fenced.md +0 -6
  193. data/ext/apex_ext/apex_src/test_math_norm.py +0 -79
  194. data/ext/apex_ext/apex_src/test_pandoc_output.html +0 -48
  195. data/ext/apex_ext/apex_src/test_spm.sh +0 -107
  196. data/ext/apex_ext/apex_src/tests/ApexSPMTest/main.swift +0 -50
  197. data/ext/apex_ext/apex_src/tests/BENCHMARK_RESULTS.md +0 -229
  198. data/ext/apex_ext/apex_src/tests/CMakeLists.txt +0 -25
  199. data/ext/apex_ext/apex_src/tests/README.md +0 -152
  200. data/ext/apex_ext/apex_src/tests/benchmark.sh +0 -113
  201. data/ext/apex_ext/apex_src/tests/benchmark_comparison.sh +0 -166
  202. data/ext/apex_ext/apex_src/tests/compare_header_ids.sh +0 -31
  203. data/ext/apex_ext/apex_src/tests/fixtures/basic/headers.md +0 -25
  204. data/ext/apex_ext/apex_src/tests/fixtures/basic/list-interruption.md +0 -24
  205. data/ext/apex_ext/apex_src/tests/fixtures/basic/misc_markup.md +0 -33
  206. data/ext/apex_ext/apex_src/tests/fixtures/basic/test_basic.md +0 -26
  207. data/ext/apex_ext/apex_src/tests/fixtures/code/code-blocks.md +0 -260
  208. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/SUMMARY.md +0 -6
  209. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/chapter1.md +0 -7
  210. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/index.txt +0 -9
  211. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/intro.md +0 -5
  212. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/section1_1.md +0 -5
  213. data/ext/apex_ext/apex_src/tests/fixtures/comprehensive_test.md +0 -652
  214. data/ext/apex_ext/apex_src/tests/fixtures/debug_ref_image_ial.md +0 -3
  215. data/ext/apex_ext/apex_src/tests/fixtures/demos/ial.md +0 -11
  216. data/ext/apex_ext/apex_src/tests/fixtures/demos/ial_demo.md +0 -177
  217. data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji-autocorrect.md +0 -94
  218. data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji_test.md +0 -3
  219. data/ext/apex_ext/apex_src/tests/fixtures/extensions/kbd_test.md +0 -3
  220. data/ext/apex_ext/apex_src/tests/fixtures/filters/filter_output_with_rawblock.json +0 -1
  221. data/ext/apex_ext/apex_src/tests/fixtures/filters/unwrap.md +0 -7
  222. data/ext/apex_ext/apex_src/tests/fixtures/ial/bracketed_spans_test.md +0 -74
  223. data/ext/apex_ext/apex_src/tests/fixtures/images/auto-wildcard.md +0 -8
  224. data/ext/apex_ext/apex_src/tests/fixtures/images/bear_image_attributes.md +0 -10
  225. data/ext/apex_ext/apex_src/tests/fixtures/images/image_and_encoding_test.md +0 -27
  226. data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.avif +0 -0
  227. data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.jpg +0 -0
  228. data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.webp +0 -0
  229. data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.avif +0 -0
  230. data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.jpg +0 -0
  231. data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.webp +0 -0
  232. data/ext/apex_ext/apex_src/tests/fixtures/images/media_formats_test.md +0 -63
  233. data/ext/apex_ext/apex_src/tests/fixtures/images/multimarkdown_image_attributes_test.md +0 -60
  234. data/ext/apex_ext/apex_src/tests/fixtures/images/pandoc_ial_image_test.md +0 -27
  235. data/ext/apex_ext/apex_src/tests/fixtures/images/width_height_conversion_test.md +0 -94
  236. data/ext/apex_ext/apex_src/tests/fixtures/img-in-div.md +0 -16
  237. data/ext/apex_ext/apex_src/tests/fixtures/includes/code.py +0 -4
  238. data/ext/apex_ext/apex_src/tests/fixtures/includes/data-semi.csv +0 -3
  239. data/ext/apex_ext/apex_src/tests/fixtures/includes/data.csv +0 -5
  240. data/ext/apex_ext/apex_src/tests/fixtures/includes/data.tsv +0 -5
  241. data/ext/apex_ext/apex_src/tests/fixtures/includes/image.png +0 -2
  242. data/ext/apex_ext/apex_src/tests/fixtures/includes/metadata_options.yml +0 -11
  243. data/ext/apex_ext/apex_src/tests/fixtures/includes/nested.md +0 -8
  244. data/ext/apex_ext/apex_src/tests/fixtures/includes/raw.html +0 -4
  245. data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.md +0 -19
  246. data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.txt +0 -11
  247. data/ext/apex_ext/apex_src/tests/fixtures/includes/simple.md +0 -7
  248. data/ext/apex_ext/apex_src/tests/fixtures/includes/test_image.png +0 -0
  249. data/ext/apex_ext/apex_src/tests/fixtures/includes/with space.txt +0 -1
  250. data/ext/apex_ext/apex_src/tests/fixtures/large_doc.md +0 -1094
  251. data/ext/apex_ext/apex_src/tests/fixtures/metadata/mmd-metadata.md +0 -5
  252. data/ext/apex_ext/apex_src/tests/fixtures/metadata/pandoc-meta.md +0 -4
  253. data/ext/apex_ext/apex_src/tests/fixtures/metadata/yaml-frontmatter.md +0 -6
  254. data/ext/apex_ext/apex_src/tests/fixtures/metadata_options.yml +0 -11
  255. data/ext/apex_ext/apex_src/tests/fixtures/minimal_pb.md +0 -2
  256. data/ext/apex_ext/apex_src/tests/fixtures/obsidian-callouts.md +0 -46
  257. data/ext/apex_ext/apex_src/tests/fixtures/output/gfm_header_id_test.md +0 -96
  258. data/ext/apex_ext/apex_src/tests/fixtures/output/test_citations.md +0 -43
  259. data/ext/apex_ext/apex_src/tests/fixtures/output/test_def_list_links.md +0 -12
  260. data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_mmark.md +0 -53
  261. data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_textindex.md +0 -37
  262. data/ext/apex_ext/apex_src/tests/fixtures/pagebreak_html_repro.md +0 -5
  263. data/ext/apex_ext/apex_src/tests/fixtures/python-callouts.md +0 -47
  264. data/ext/apex_ext/apex_src/tests/fixtures/quarto/callouts.md +0 -3
  265. data/ext/apex_ext/apex_src/tests/fixtures/quarto/code-attrs.md +0 -3
  266. data/ext/apex_ext/apex_src/tests/fixtures/quarto/diagrams.md +0 -8
  267. data/ext/apex_ext/apex_src/tests/fixtures/quarto/lists.md +0 -19
  268. data/ext/apex_ext/apex_src/tests/fixtures/quarto/raw-content.md +0 -5
  269. data/ext/apex_ext/apex_src/tests/fixtures/quarto/shortcodes.md +0 -7
  270. data/ext/apex_ext/apex_src/tests/fixtures/quarto/smoke.md +0 -81
  271. data/ext/apex_ext/apex_src/tests/fixtures/quarto/spans.md +0 -5
  272. data/ext/apex_ext/apex_src/tests/fixtures/quarto-callouts.md +0 -47
  273. data/ext/apex_ext/apex_src/tests/fixtures/speed.md +0 -192
  274. data/ext/apex_ext/apex_src/tests/fixtures/tables/advanced_tables_test.md +0 -93
  275. data/ext/apex_ext/apex_src/tests/fixtures/tables/grid-tables.md +0 -37
  276. data/ext/apex_ext/apex_src/tests/fixtures/tables/inline_tables_test.md +0 -41
  277. data/ext/apex_ext/apex_src/tests/fixtures/tables/relaxed-table.md +0 -12
  278. data/ext/apex_ext/apex_src/tests/fixtures/tables/table_cr_line_endings.md +0 -15
  279. data/ext/apex_ext/apex_src/tests/fixtures/tables/table_no_trailing_newline.md +0 -15
  280. data/ext/apex_ext/apex_src/tests/generate_gfm_ids.sh +0 -105
  281. data/ext/apex_ext/apex_src/tests/generate_ial_demo.sh +0 -143
  282. data/ext/apex_ext/apex_src/tests/gfm_id_comparison_summary.md +0 -96
  283. data/ext/apex_ext/apex_src/tests/gh_api_test.md +0 -6
  284. data/ext/apex_ext/apex_src/tests/ial_demo.html +0 -186
  285. data/ext/apex_ext/apex_src/tests/include_code.py +0 -19
  286. data/ext/apex_ext/apex_src/tests/include_snippet.md +0 -15
  287. data/ext/apex_ext/apex_src/tests/metadata_cli_test.sh +0 -119
  288. data/ext/apex_ext/apex_src/tests/multi_file_cli_test.sh +0 -64
  289. data/ext/apex_ext/apex_src/tests/paginate_cli_test.sh +0 -80
  290. data/ext/apex_ext/apex_src/tests/sample_data.csv +0 -7
  291. data/ext/apex_ext/apex_src/tests/table_escaped_ltlt.md +0 -4
  292. data/ext/apex_ext/apex_src/tests/terminal_width_test.sh +0 -29
  293. data/ext/apex_ext/apex_src/tests/test-swift-package.sh +0 -14
  294. data/ext/apex_ext/apex_src/tests/test_basic.c +0 -74
  295. data/ext/apex_ext/apex_src/tests/test_bear_image_attrs.c +0 -301
  296. data/ext/apex_ext/apex_src/tests/test_cmark_callback.c +0 -189
  297. data/ext/apex_ext/apex_src/tests/test_concordance.tsv +0 -4
  298. data/ext/apex_ext/apex_src/tests/test_custom_plugins.c +0 -78
  299. data/ext/apex_ext/apex_src/tests/test_escaping_repro.c +0 -82
  300. data/ext/apex_ext/apex_src/tests/test_extensions.c +0 -3337
  301. data/ext/apex_ext/apex_src/tests/test_helpers.c +0 -183
  302. data/ext/apex_ext/apex_src/tests/test_helpers.h +0 -91
  303. data/ext/apex_ext/apex_src/tests/test_ial.c +0 -289
  304. data/ext/apex_ext/apex_src/tests/test_links.c +0 -418
  305. data/ext/apex_ext/apex_src/tests/test_marked_integration.c +0 -290
  306. data/ext/apex_ext/apex_src/tests/test_metadata.c +0 -1147
  307. data/ext/apex_ext/apex_src/tests/test_output.c +0 -2056
  308. data/ext/apex_ext/apex_src/tests/test_plugins.c +0 -219
  309. data/ext/apex_ext/apex_src/tests/test_refs.bib +0 -31
  310. data/ext/apex_ext/apex_src/tests/test_runner.c +0 -268
  311. data/ext/apex_ext/apex_src/tests/test_syntax_highlight.c +0 -198
  312. data/ext/apex_ext/apex_src/tests/test_tables.c +0 -1298
  313. data/ext/apex_ext/apex_src/tests/update_benchmarks.sh +0 -9
  314. data/ext/apex_ext/apex_src/tests/yaml_test.md +0 -13
  315. data/ext/apex_ext/apex_src/tests.rb +0 -39
  316. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CMakeLists.txt +0 -48
  317. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.c +0 -14
  318. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.cmake +0 -43
  319. data/ext/apex_ext/apex_src/vendor/cmark-gfm/FindAsan.cmake +0 -74
  320. data/ext/apex_ext/apex_src/vendor/cmark-gfm/Makefile.nmake +0 -38
  321. data/ext/apex_ext/apex_src/vendor/cmark-gfm/README.md +0 -206
  322. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/CMakeLists.txt +0 -30
  323. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.cpp +0 -15
  324. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.h +0 -16
  325. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.c +0 -111
  326. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.h +0 -35
  327. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/main.c +0 -1169
  328. data/ext/apex_ext/apex_src/vendor/cmark-gfm/appveyor.yml +0 -21
  329. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-flat.md +0 -16
  330. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-nested.md +0 -13
  331. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-code.md +0 -11
  332. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-fences.md +0 -14
  333. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-heading.md +0 -9
  334. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-hr.md +0 -10
  335. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-html.md +0 -32
  336. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-lheading.md +0 -8
  337. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-flat.md +0 -67
  338. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-nested.md +0 -36
  339. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-flat.md +0 -15
  340. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-nested.md +0 -17
  341. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-autolink.md +0 -14
  342. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-backticks.md +0 -3
  343. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-flat.md +0 -5
  344. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-nested.md +0 -5
  345. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-worst.md +0 -5
  346. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-entity.md +0 -11
  347. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-escape.md +0 -15
  348. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-html.md +0 -44
  349. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-flat.md +0 -23
  350. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-nested.md +0 -13
  351. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-newlines.md +0 -24
  352. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/lorem1.md +0 -13
  353. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/rawtabs.md +0 -18
  354. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/statistics.py +0 -595
  355. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/stats.py +0 -19
  356. data/ext/apex_ext/apex_src/vendor/cmark-gfm/benchmarks.md +0 -33
  357. data/ext/apex_ext/apex_src/vendor/cmark-gfm/changelog.txt +0 -1245
  358. data/ext/apex_ext/apex_src/vendor/cmark-gfm/data/CaseFolding.txt +0 -1495
  359. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/CMakeLists.txt +0 -119
  360. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.re +0 -92
  361. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/CMakeLists.txt +0 -22
  362. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/README.md +0 -12
  363. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic.c +0 -91
  364. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic_brackets.c +0 -110
  365. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzzloop.sh +0 -28
  366. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/CMakeLists.txt +0 -10
  367. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/make_man_page.py +0 -133
  368. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man1/cmark-gfm.1 +0 -78
  369. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man3/cmark-gfm.3 +0 -1041
  370. data/ext/apex_ext/apex_src/vendor/cmark-gfm/nmake.bat +0 -1
  371. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/CMakeLists.txt +0 -230
  372. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm_version.h.in +0 -7
  373. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h.in +0 -76
  374. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/libcmark-gfm.pc.in +0 -10
  375. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.re +0 -365
  376. data/ext/apex_ext/apex_src/vendor/cmark-gfm/suppressions +0 -10
  377. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/CMakeLists.txt +0 -114
  378. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/__pycache__/cmark.cpython-314.pyc +0 -0
  379. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/__pycache__/normalize.cpython-314.pyc +0 -0
  380. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/afl_test_cases/test.md +0 -49
  381. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark-fuzz.c +0 -58
  382. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark.py +0 -105
  383. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/entity_tests.py +0 -67
  384. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-full-info-string.txt +0 -0
  385. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-table-prefer-style-attributes.txt +0 -38
  386. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions.txt +0 -989
  387. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/fuzzing_dictionary +0 -67
  388. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/normalize.py +0 -194
  389. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/pathological_tests.py +0 -160
  390. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/regression.txt +0 -375
  391. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/roundtrip_tests.py +0 -50
  392. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/run-cmark-fuzz +0 -4
  393. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/smart_punct.txt +0 -177
  394. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec.txt +0 -10212
  395. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec_tests.py +0 -152
  396. data/ext/apex_ext/apex_src/vendor/cmark-gfm/toolchain-mingw32.cmake +0 -17
  397. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/Dockerfile +0 -41
  398. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/appveyor-build.bat +0 -13
  399. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/make_entities_inc.py +0 -32
  400. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/mkcasefold.pl +0 -22
  401. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md.xsl +0 -319
  402. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md_gfm.xsl +0 -80
  403. data/ext/apex_ext/apex_src/vendor/cmark-gfm/why-cmark-and-not-x.md +0 -104
  404. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.js +0 -6
  405. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.py +0 -37
  406. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rb +0 -15
  407. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rkt +0 -208
  408. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper_ext.py +0 -109
  409. data/ext/apex_ext/apex_src/vendor/libyaml/CMakeLists.txt +0 -160
  410. data/ext/apex_ext/apex_src/vendor/libyaml/Changes +0 -372
  411. data/ext/apex_ext/apex_src/vendor/libyaml/License +0 -20
  412. data/ext/apex_ext/apex_src/vendor/libyaml/Makefile.am +0 -51
  413. data/ext/apex_ext/apex_src/vendor/libyaml/ReadMe.md +0 -46
  414. data/ext/apex_ext/apex_src/vendor/libyaml/announcement.msg +0 -89
  415. data/ext/apex_ext/apex_src/vendor/libyaml/bootstrap +0 -3
  416. data/ext/apex_ext/apex_src/vendor/libyaml/cmake/config.h.in +0 -4
  417. data/ext/apex_ext/apex_src/vendor/libyaml/configure.ac +0 -73
  418. data/ext/apex_ext/apex_src/vendor/libyaml/doc/doxygen.cfg +0 -222
  419. data/ext/apex_ext/apex_src/vendor/libyaml/docker/README.mkd +0 -17
  420. data/ext/apex_ext/apex_src/vendor/libyaml/docker/alpine-3.7 +0 -26
  421. data/ext/apex_ext/apex_src/vendor/libyaml/docker/fedora-25 +0 -26
  422. data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-14.04 +0 -29
  423. data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-16.04 +0 -24
  424. data/ext/apex_ext/apex_src/vendor/libyaml/examples/anchors.yaml +0 -10
  425. data/ext/apex_ext/apex_src/vendor/libyaml/examples/array.yaml +0 -2
  426. data/ext/apex_ext/apex_src/vendor/libyaml/examples/global-tag.yaml +0 -14
  427. data/ext/apex_ext/apex_src/vendor/libyaml/examples/json.yaml +0 -1
  428. data/ext/apex_ext/apex_src/vendor/libyaml/examples/mapping.yaml +0 -2
  429. data/ext/apex_ext/apex_src/vendor/libyaml/examples/numbers.yaml +0 -1
  430. data/ext/apex_ext/apex_src/vendor/libyaml/examples/strings.yaml +0 -7
  431. data/ext/apex_ext/apex_src/vendor/libyaml/examples/tags.yaml +0 -7
  432. data/ext/apex_ext/apex_src/vendor/libyaml/examples/yaml-version.yaml +0 -3
  433. data/ext/apex_ext/apex_src/vendor/libyaml/include/Makefile.am +0 -17
  434. data/ext/apex_ext/apex_src/vendor/libyaml/include/yaml.h +0 -1999
  435. data/ext/apex_ext/apex_src/vendor/libyaml/pkg/ReadMe.md +0 -77
  436. data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/Dockerfile +0 -32
  437. data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/output/ReadMe +0 -1
  438. data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/scripts/libyaml-dist.sh +0 -23
  439. data/ext/apex_ext/apex_src/vendor/libyaml/regression-inputs/clusterfuzz-testcase-minimized-5607885063061504.yml +0 -1
  440. data/ext/apex_ext/apex_src/vendor/libyaml/src/Makefile.am +0 -4
  441. data/ext/apex_ext/apex_src/vendor/libyaml/src/api.c +0 -1393
  442. data/ext/apex_ext/apex_src/vendor/libyaml/src/dumper.c +0 -394
  443. data/ext/apex_ext/apex_src/vendor/libyaml/src/emitter.c +0 -2358
  444. data/ext/apex_ext/apex_src/vendor/libyaml/src/loader.c +0 -544
  445. data/ext/apex_ext/apex_src/vendor/libyaml/src/parser.c +0 -1416
  446. data/ext/apex_ext/apex_src/vendor/libyaml/src/reader.c +0 -469
  447. data/ext/apex_ext/apex_src/vendor/libyaml/src/scanner.c +0 -3598
  448. data/ext/apex_ext/apex_src/vendor/libyaml/src/writer.c +0 -141
  449. data/ext/apex_ext/apex_src/vendor/libyaml/src/yaml_private.h +0 -684
  450. data/ext/apex_ext/apex_src/vendor/libyaml/tests/CMakeLists.txt +0 -27
  451. data/ext/apex_ext/apex_src/vendor/libyaml/tests/Makefile.am +0 -9
  452. data/ext/apex_ext/apex_src/vendor/libyaml/tests/ReadMe.md +0 -63
  453. data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor-alt.c +0 -800
  454. data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor.c +0 -1127
  455. data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter-alt.c +0 -217
  456. data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter.c +0 -202
  457. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-all-tests.sh +0 -29
  458. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-dumper.c +0 -314
  459. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter-test-suite.c +0 -290
  460. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter.c +0 -327
  461. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-loader.c +0 -63
  462. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser-test-suite.c +0 -196
  463. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser.c +0 -88
  464. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-scanner.c +0 -63
  465. data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-reader.c +0 -354
  466. data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-version.c +0 -29
  467. data/ext/apex_ext/apex_src/vendor/libyaml/yaml-0.1.pc.in +0 -10
  468. data/ext/apex_ext/apex_src/vendor/libyaml/yamlConfig.cmake.in +0 -16
  469. data/ext/apex_ext/apex_src/xcode_build/CMakeScripts/ReRunCMake.make +0 -74
  470. data/ext/apex_ext/apex_src/xcode_build/CTestTestfile.cmake +0 -22
  471. data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/Apex +0 -0
  472. data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/Resources/Info.plist +0 -44
  473. data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/_CodeSignature/CodeResources +0 -128
  474. data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.pbxproj +0 -5118
  475. data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -8
  476. data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcuserdata/ttscoff.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  477. data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcuserdata/ttscoff.xcuserdatad/WorkspaceSettings.xcsettings +0 -8
  478. data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/xcuserdata/ttscoff.xcuserdatad/xcschemes/xcschememanagement.plist +0 -99
  479. data/ext/apex_ext/apex_src/xcode_build/cmake_install.cmake +0 -452
  480. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/CMakeScripts/ReRunCMake.make +0 -52
  481. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmake_install.cmake +0 -55
  482. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.pbxproj +0 -2455
  483. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -8
  484. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/extensions/cmake_install.cmake +0 -171
  485. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/man/cmake_install.cmake +0 -55
  486. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmake_install.cmake +0 -220
  487. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_export.h +0 -43
  488. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_version.h +0 -7
  489. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/config.h +0 -76
  490. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/libcmark-gfm.pc +0 -10
@@ -1,744 +0,0 @@
1
- # Citations and Bibliography Implementation Plan for Apex
2
-
3
- ## Overview
4
-
5
- This document outlines a plan for implementing citation and
6
- bibliography support in Apex, supporting multiple syntaxes
7
- (Pandoc, MultiMarkdown, mmark) and bibliography formats
8
- (BibTeX, BibLaTeX, CSL JSON, CSL YAML).
9
-
10
- ## Goals
11
-
12
- 1. Support multiple citation syntaxes (Pandoc `[@key]`,
13
-
14
- MultiMarkdown `[#key]`, mmark `[@RFC1234]`)
15
-
16
- 2. Support multiple bibliography formats (BibTeX, BibLaTeX,
17
-
18
- CSL JSON, CSL YAML)
19
-
20
- 3. Generate formatted bibliographies in HTML output
21
- 4. Support citation styles via CSL (Citation Style Language)
22
- 5. Integrate with existing metadata system
23
- 6. Mode-aware syntax detection (unified mode supports all
24
-
25
- syntaxes)
26
-
27
- ## Citation Syntaxes
28
-
29
- ### 1. Pandoc Syntax (Primary)
30
-
31
- **Format**: `[@key]` or `@key` (author-in-text)
32
-
33
- **Features**:
34
-
35
- - Multiple citations: `[@doe99; @smith2000]`
36
- - Prefixes: `[see @doe99, pp. 33-35]`
37
- - Locators: `[@doe99, p. 23]`
38
- - Suffixes: `[@doe99, and *passim*]`
39
- - Author suppression: `[-@smith04]` (when author mentioned
40
-
41
- in text)
42
-
43
- - Author-in-text: `@smith04 says blah` (renders author name)
44
- - Complex locators: `[@smith{ii, A, D-Z}]`
45
-
46
- **Key Rules**:
47
-
48
- Keys must start with letter/digit/`_` and contain alphanumerics + internal punctuation (`:.#$%&-+?<>~/`)
49
-
50
- Keys with special characters must be wrapped: `[@{https://example.com/bib?name=foobar}]`
51
-
52
- - Locator terms: page, chapter, section, etc. (from CSL
53
-
54
- locale files)
55
-
56
- ### 2. MultiMarkdown Syntax
57
-
58
- **Format**: `[locator][#key]` or `[][#key]` (no locator)
59
-
60
- **Features**:
61
-
62
- - Locator before citation: `[p. 23][#Doe:2006]`
63
- - Empty locator: `[][#Doe:2006]`
64
-
65
- Reference definitions at end: `[#Doe:2006]: John Doe. *Some Big Fancy Book*. Vanity Press, 2006.`
66
-
67
- Inline citations: `As per Doe.[#John Doe. *A Totally Fake Book 1*. Vanity Press, 2006.]`
68
-
69
- Uncited references: `[Not cited][#citekey]` (case insensitive)
70
-
71
- - LaTeX output: `[#citekey]` → `\citep{citekey}`,
72
-
73
- `[#citekey;]` → `\citet{citekey}`
74
-
75
- **Key Rules**:
76
-
77
- - Citation key format is flexible (e.g., `Doe:2006`)
78
- - Must be preceded by `#` (like footnotes use `^`)
79
- - Reference descriptions can contain Markdown
80
-
81
- ### 3. mmark Syntax (RFC/I-D focused)
82
-
83
- **Format**: `[@RFC2535]` or `[@!RFC2535]` (normative) or
84
- `[@-RFC1000]` (suppressed)
85
-
86
- **Features**:
87
-
88
- - Automatic reference generation for RFC, BCP, STD, I-D, W3C
89
-
90
- documents
91
-
92
- Modifiers: `?` (informative, default), `!` (normative), `-` (suppressed)
93
-
94
- - Multiple citations: `[@RFC1034;@RFC1035]`
95
- - Combined references: `[@RFCxxx@STDyy]` (RFC of STD)
96
- - I-D sequence numbers: `[@?I-D.blah#06]`
97
- - Bibliography section created automatically if
98
-
99
- `{backmatter}` present
100
-
101
- **Key Rules**:
102
-
103
- - First seen modifier determines type (suppressed,
104
-
105
- normative, informative)
106
-
107
- - Auto-detection for RFC/BCP/STD/I-D/W3C prefixes
108
- - No validation of RFC-STD relationships
109
-
110
- ## Bibliography Formats
111
-
112
- ### Supported Formats
113
-
114
- 1. **BibTeX** (`.bib`, `.bibtex`)
115
- - Most common format
116
- - LaTeX markup in fields
117
- - Requires parser library
118
-
119
- 2. **BibLaTeX** (`.bib`)
120
- - Extended BibTeX
121
- - More entry types
122
- - Same parser as BibTeX
123
-
124
- 3. **CSL JSON** (`.json`)
125
- - Citation Style Language JSON
126
-
127
- HTML-like markup: `<i>`, `<b>`, `<sub>`, `<sup>`, `<sc>`
128
-
129
- - Native format for citeproc
130
-
131
- 4. **CSL YAML** (`.yaml`, `.yml`)
132
- - CSL in YAML format
133
- - Supports Markdown in fields
134
- - Easy to read/write
135
-
136
- 5. **RIS** (`.ris`)
137
- - Research Information Systems format
138
- - Common in reference managers
139
- - Requires parser
140
-
141
- ### Format Priority
142
-
143
- For Apex, we should prioritize:
144
-
145
- 1. **CSL JSON** - Native format, easiest to process
146
- 2. **BibTeX/BibLaTeX** - Most common, requires parser
147
- 3. **CSL YAML** - Human-readable, good for inline references
148
- 4. **RIS** - Lower priority, can add later
149
-
150
- ## Bibliography Storage
151
-
152
- ### Option 1: External Files (Recommended)
153
-
154
- **Pros**:
155
-
156
- - Standard approach (Pandoc, Quarto, etc.)
157
- - Reusable across documents
158
- - Can be managed by reference managers
159
- - Supports multiple formats
160
-
161
- **Cons**:
162
-
163
- - Requires file I/O
164
- - Path resolution needed
165
-
166
- **Implementation**:
167
-
168
- - Metadata field: `bibliography: references.bib`
169
- - Command-line flag: `--bibliography references.bib`
170
-
171
- Support multiple files: `bibliography: [refs1.bib, refs2.bib]`
172
-
173
- - Auto-detect format from extension
174
-
175
- ### Option 2: Inline References (YAML Metadata)
176
-
177
- **Pros**:
178
-
179
- - Self-contained documents
180
- - No external file needed
181
- - Easy for simple documents
182
-
183
- **Cons**:
184
-
185
- - Not reusable
186
- - Verbose for large bibliographies
187
- - Harder to manage
188
-
189
- **Implementation**:
190
-
191
- - YAML metadata `references:` field
192
- - Array of CSL JSON objects
193
- - Can combine with external files (inline takes precedence)
194
-
195
- ### Option 3: MultiMarkdown Reference Definitions
196
-
197
- **Pros**:
198
-
199
- - Native to MultiMarkdown syntax
200
- - Inline with document
201
- - Simple format
202
-
203
- **Cons**:
204
-
205
- - Limited formatting
206
- - Not standardized
207
- - Hard to convert to other formats
208
-
209
- **Implementation**:
210
-
211
- - Parse `[#key]: ...` definitions
212
- - Convert to internal format
213
- - Generate bibliography from definitions
214
-
215
- ## Citation Processing Architecture
216
-
217
- ### Phase 1: Parsing
218
-
219
- 1. **Preprocessing**: Extract citations from markdown
220
- - Scan for citation patterns (mode-aware)
221
- - Extract citation keys, locators, prefixes, suffixes
222
- - Store in citation registry
223
-
224
- 2. **Syntax Detection** (unified mode):
225
- - Try Pandoc syntax first (`[@key]`)
226
- - Fall back to MultiMarkdown (`[#key]`)
227
- - Fall back to mmark (`[@RFC1234]`)
228
- - Or be explicit: detect based on `@` vs `#` prefix
229
-
230
- ### Phase 2: Bibliography Loading
231
-
232
- 1. **Load bibliography files**:
233
- - From metadata `bibliography` field
234
- - From command-line `--bibliography` flag
235
- - From inline YAML `references` field
236
- - From MultiMarkdown reference definitions
237
-
238
- 2. **Parse bibliography format**:
239
- - Auto-detect from extension (`.bib`, `.json`, `.yaml`,
240
-
241
- `.ris`)
242
-
243
- - Parse to internal CSL JSON format
244
- - Merge multiple sources (inline takes precedence)
245
-
246
- 3. **Build citation index**:
247
- - Map citation keys to bibliography entries
248
- - Handle missing citations (warn or ignore)
249
-
250
- ### Phase 3: Citation Rendering
251
-
252
- 1. **Citation Style Processing**:
253
- - Load CSL style file (default: Chicago author-date)
254
- - Process citations through citeproc engine
255
- - Generate formatted citation text
256
-
257
- 2. **HTML Generation**:
258
- - Replace citation markers with HTML
259
- - Add links to bibliography (if `link-citations: true`)
260
- - Add tooltips (if `show-tooltips: true`)
261
- - Apply CSS classes
262
-
263
- ### Phase 4: Bibliography Generation
264
-
265
- 1. **Collect cited items**:
266
- - Gather all unique citations from document
267
- - Include `nocite` items (uncited but in bibliography)
268
- - Sort by citation order or style rules
269
-
270
- 2. **Format bibliography**:
271
- - Apply CSL style formatting
272
- - Generate HTML for each entry
273
- - Add section heading (if not suppressed)
274
-
275
- 3. **Insert bibliography**:
276
- - At `<!-- REFERENCES -->` marker (if present)
277
- - At `{backmatter}` marker (mmark style)
278
- - At end of document (default)
279
- - In `{#refs}` div (if present)
280
-
281
- ## Implementation Plan
282
-
283
- ### Step 1: Core Infrastructure
284
-
285
- **Files to create**:
286
-
287
- - `src/extensions/citations.h` - Header file
288
- - `src/extensions/citations.c` - Main implementation
289
- - `src/extensions/bibliography.h` - Bibliography handling
290
-
291
- `src/extensions/bibliography.c` - Bibliography parsing/formatting
292
-
293
- **Dependencies**:
294
-
295
- - CSL processor (citeproc-js equivalent in C, or use
296
-
297
- existing library)
298
-
299
- - BibTeX parser (or use existing library like bibtexparser)
300
- - JSON parser (cJSON or similar, may already be available)
301
-
302
- **Core structures**:
303
- ```c
304
- typedef struct {
305
- char *key;
306
- char *prefix;
307
- char *locator;
308
- char *suffix;
309
- bool author_suppressed;
310
- bool author_in_text;
311
- int syntax_type; // PANDOC, MMD, MMARK
312
- } apex_citation;
313
-
314
- typedef struct {
315
- char *id;
316
- char *type; // article, book, etc.
317
- // ... CSL JSON fields
318
- char *raw_json; // Original CSL JSON
319
- } apex_bibliography_entry;
320
-
321
- ```
322
-
323
- ### Step 2: Citation Parsing
324
-
325
- **Preprocessing function**:
326
-
327
- - `apex_parse_citations()` - Scan document for citations
328
- - Mode-aware: enable syntaxes based on mode
329
- - Unified mode: try all syntaxes, detect automatically
330
-
331
- **Citation extraction**:
332
-
333
- - Regex patterns for each syntax
334
- - Extract key, locator, prefix, suffix
335
- - Handle edge cases (nested brackets, special characters)
336
-
337
- ### Step 3: Bibliography Loading
338
-
339
- **File loading**:
340
-
341
- - `apex_load_bibliography()` - Load from file(s)
342
- - Auto-detect format
343
- - Parse to internal format
344
- - Merge multiple sources
345
-
346
- **Format parsers**:
347
-
348
- - `apex_parse_bibtex()` - BibTeX parser
349
- - `apex_parse_csl_json()` - CSL JSON parser
350
- - `apex_parse_csl_yaml()` - CSL YAML parser
351
- - `apex_parse_ris()` - RIS parser (optional)
352
-
353
- **Metadata integration**:
354
-
355
- - Read `bibliography` from metadata
356
- - Read `references` from YAML metadata
357
- - Support command-line `--bibliography` flag
358
-
359
- ### Step 4: Citation Processing
360
-
361
- **CSL integration**:
362
-
363
- - Use citeproc library (C port or bindings)
364
- - Load CSL style file
365
- - Process citations with style
366
- - Generate formatted output
367
-
368
- **Citation rendering**:
369
-
370
- - Replace citation markers with HTML
371
- - Add CSS classes for styling
372
- - Support link-citations option
373
- - Support tooltips option
374
-
375
- ### Step 5: Bibliography Generation
376
-
377
- **Bibliography formatting**:
378
-
379
- - Apply CSL style to entries
380
- - Sort by citation order or style rules
381
- - Generate HTML for each entry
382
-
383
- **Bibliography insertion**:
384
-
385
- - Find insertion point (`<!-- REFERENCES -->`,
386
-
387
- `{backmatter}`, `{#refs}`, or end)
388
-
389
- - Insert formatted bibliography
390
- - Add section heading if needed
391
-
392
- ### Step 6: Integration
393
-
394
- **Extension registration**:
395
-
396
- - Add to `apex_register_extensions()` in `apex.c`
397
- - Enable based on mode (unified, mmd modes)
398
- - Add feature flag: `enable_citations`
399
-
400
- **CLI integration**:
401
-
402
- - Add `--bibliography` flag
403
- - Add `--csl` flag (citation style)
404
- - Add `--no-bibliography` flag (suppress)
405
- - Add `--link-citations` flag
406
- - Add `--show-tooltips` flag
407
-
408
- **Metadata integration**:
409
-
410
- - Support `bibliography` metadata field
411
- - Support `references` metadata field
412
- - Support `csl` metadata field
413
- - Support `nocite` metadata field
414
- - Support `suppress-bibliography` metadata field
415
-
416
- ## Output Format
417
-
418
- ### Citation HTML
419
-
420
- **Author-date style** (default):
421
- ```html
422
- <span class="citation" data-cites="doe99">
423
- (Doe 1999)
424
- </span>
425
-
426
- ```
427
-
428
- **Numeric style**:
429
- ```html
430
- <span class="citation" data-cites="doe99">
431
- [1]
432
- </span>
433
-
434
- ```
435
-
436
- **With links**:
437
- ```html
438
- <a href="#ref-doe99" class="citation" data-cites="doe99">
439
- (Doe 1999)
440
- </a>
441
-
442
- ```
443
-
444
- **With tooltips**:
445
- ```html
446
- <a href="#ref-doe99" class="citation" data-cites="doe99" title="Doe, John. 1999. 'Article Title.' Journal Name 1: 1-10.">
447
- (Doe 1999)
448
- </a>
449
-
450
- ```
451
-
452
- ### Bibliography HTML
453
-
454
- ```html
455
- <div id="refs" class="references csl-bib-body">
456
- <div id="ref-doe99" class="csl-entry">
457
- Doe, John. 1999. "Article Title." <i>Journal Name</i> 1: 1-10.
458
- </div>
459
- <div id="ref-smith2000" class="csl-entry">
460
- Smith, Jane. 2000. <i>Book Title</i>. Publisher.
461
- </div>
462
- </div>
463
-
464
- ```
465
-
466
- ## Dependencies
467
-
468
- ### Required Libraries
469
-
470
- 1. **CSL Processor**
471
-
472
- Option A: Use citeproc-js (via Node.js bindings) - complex
473
-
474
- Option B: Use citeproc-rs (Rust) via FFI - medium complexity
475
-
476
- - Option C: Implement minimal CSL processor in C - high
477
-
478
- complexity
479
-
480
- - Option D: Use pandoc's citeproc (Haskell) via bindings
481
- - complex
482
- - **Recommendation**: Start with Option C (minimal), or
483
-
484
- use existing C library if available
485
-
486
- 2. **BibTeX Parser**
487
- - Option A: Use bibtexparser (Python) - requires Python
488
-
489
- Option B: Use bibtex-rs (Rust) via FFI - medium complexity
490
-
491
- - Option C: Implement minimal BibTeX parser in C - medium
492
-
493
- complexity
494
-
495
- - **Recommendation**: Option C (implement minimal parser)
496
-
497
- 3. **JSON Parser**
498
- - Check if cmark-gfm or existing code has JSON support
499
- - If not, use cJSON (lightweight C JSON library)
500
- - **Recommendation**: Use cJSON if needed
501
-
502
- 4. **YAML Parser**
503
- - Apex already has YAML parsing for metadata
504
- - Reuse existing YAML parser if possible
505
- - **Recommendation**: Reuse existing parser
506
-
507
- ### Optional Libraries
508
-
509
- - **RIS Parser**: Lower priority, can implement later
510
- - **CSL Style Library**: Bundle common styles (APA, Chicago,
511
-
512
- MLA, etc.)
513
-
514
- ## Testing Strategy
515
-
516
- ### Unit Tests
517
-
518
- 1. **Citation parsing**:
519
- - Test each syntax (Pandoc, MMD, mmark)
520
- - Test edge cases (nested brackets, special characters)
521
- - Test mode detection
522
-
523
- 2. **Bibliography parsing**:
524
- - Test each format (BibTeX, CSL JSON, CSL YAML)
525
- - Test multiple files
526
- - Test inline references
527
- - Test error handling (missing files, invalid format)
528
-
529
- 3. **Citation rendering**:
530
- - Test different styles (author-date, numeric, note)
531
- - Test with/without links
532
- - Test with/without tooltips
533
- - Test multiple citations
534
-
535
- 4. **Bibliography generation**:
536
- - Test sorting
537
- - Test formatting
538
- - Test insertion points
539
- - Test suppression
540
-
541
- ### Integration Tests
542
-
543
- 1. **End-to-end**:
544
- - Full document with citations
545
- - Multiple bibliography sources
546
- - Different citation styles
547
- - Different output formats
548
-
549
- 2. **Mode compatibility**:
550
-
551
- Test in each mode (commonmark, gfm, mmd, kramdown, unified)
552
-
553
- - Test syntax detection in unified mode
554
- - Test feature flags
555
-
556
- ## Configuration Options
557
-
558
- ### Metadata Fields
559
-
560
- ```yaml
561
- ---
562
- bibliography: references.bib
563
- # or
564
- bibliography:
565
- - refs1.bib
566
- - refs2.bib
567
-
568
- csl: apa.csl # Citation style
569
- suppress-bibliography: false
570
- link-citations: true
571
- show-tooltips: false
572
- nocite: |
573
- @item1, @item2
574
- # or
575
- nocite: '@*' # All items
576
-
577
- references: # Inline references (CSL JSON)
578
- - id: doe99
579
- type: article-journal
580
- author:
581
- - family: Doe
582
- given: John
583
- issued:
584
- date-parts: [[1999]]
585
- title: Article Title
586
- container-title: Journal Name
587
- volume: 1
588
- page: 1-10
589
- ---
590
-
591
- ```
592
-
593
- ### Command-Line Flags
594
-
595
- ```bash
596
- apex input.md --bibliography refs.bib
597
- apex input.md --bibliography refs1.bib --bibliography refs2.bib
598
- apex input.md --csl apa.csl
599
- apex input.md --no-bibliography
600
- apex input.md --link-citations
601
- apex input.md --show-tooltips
602
-
603
- ```
604
-
605
- ### API Options
606
-
607
- ```c
608
- typedef struct {
609
- // ... existing options ...
610
-
611
- // Citation options
612
- bool enable_citations;
613
- char **bibliography_files; // NULL-terminated array
614
- const char *csl_file;
615
- bool suppress_bibliography;
616
- bool link_citations;
617
- bool show_tooltips;
618
- const char *nocite; // Comma-separated citation keys, or "*" for all
619
- } apex_options;
620
-
621
- ```
622
-
623
- ## Mode-Specific Behavior
624
-
625
- ### CommonMark Mode
626
- - **Citations**: Disabled (pure CommonMark)
627
- - **Syntax**: None
628
-
629
- ### GFM Mode
630
- - **Citations**: Disabled (GFM doesn't support citations)
631
- - **Syntax**: None
632
-
633
- ### MultiMarkdown Mode
634
- - **Citations**: Enabled
635
- - **Syntax**: MultiMarkdown syntax only (`[#key]`)
636
- - **Bibliography**: From reference definitions or external
637
-
638
- file
639
-
640
- ### Kramdown Mode
641
- - **Citations**: Disabled (Kramdown uses different citation
642
-
643
- system)
644
-
645
- - **Syntax**: None (or could add Kramdown citation syntax
646
-
647
- later)
648
-
649
- ### Unified Mode
650
- - **Citations**: Enabled
651
- - **Syntax**: All syntaxes (Pandoc, MultiMarkdown, mmark)
652
- - **Auto-detection**: Try Pandoc first, then MMD, then mmark
653
- - **Bibliography**: All sources (external files, inline
654
-
655
- YAML, MMD definitions)
656
-
657
- ## Future Enhancements
658
-
659
- 1. **LaTeX Output**: Support `\citep` and `\citet` for LaTeX
660
-
661
- rendering
662
-
663
- 2. **More Formats**: RIS, EndNote, RefWorks
664
- 3. **Citation Styles**: Bundle more CSL styles
665
- 4. **Interactive Citations**: JavaScript for hover/click
666
-
667
- interactions
668
-
669
- 5. **Citation Validation**: Warn about missing or duplicate
670
-
671
- citations
672
-
673
- 6. **Citation Analytics**: Count citations, find most cited
674
-
675
- items
676
-
677
- 7. **Export**: Export bibliography to different formats
678
-
679
- ## Implementation Phases
680
-
681
- ### Phase 1: Basic Citation Parsing (MVP)
682
- - Parse Pandoc syntax `[@key]`
683
-
684
- Parse citation keys only (no locators/prefixes/suffixes yet)
685
-
686
- - Store citations in registry
687
- - Basic HTML output (just key as text)
688
-
689
- ### Phase 2: Bibliography Loading
690
- - Load CSL JSON files
691
- - Parse to internal format
692
- - Match citations to bibliography entries
693
- - Generate basic bibliography HTML
694
-
695
- ### Phase 3: Citation Formatting
696
- - Integrate CSL processor (or minimal implementation)
697
- - Format citations with style
698
- - Generate proper HTML output
699
-
700
- ### Phase 4: Advanced Features
701
- - Support locators, prefixes, suffixes
702
- - Support multiple citation syntaxes
703
- - Support multiple bibliography formats
704
- - Support citation links and tooltips
705
-
706
- ### Phase 5: Polish
707
- - Error handling
708
- - Performance optimization
709
- - Comprehensive testing
710
- - Documentation
711
-
712
- ## Open Questions
713
-
714
- 1. **CSL Processor**: Which library to use? Implement
715
-
716
- minimal version or use existing?
717
-
718
- 2. **BibTeX Parser**: Implement or use library?
719
- 3. **Performance**: How to handle large bibliographies
720
-
721
- (1000+ entries)?
722
-
723
- 4. **Caching**: Cache parsed bibliographies?
724
- 5. **Validation**: How strict should citation validation be?
725
- 6. **Error Handling**: How to handle missing citations?
726
-
727
- Warn, error, or ignore?
728
-
729
- 7. **Backwards Compatibility**: How to ensure existing
730
-
731
- documents still work?
732
-
733
- ## References
734
-
735
- [Pandoc Citations](https://pandoc.org/demo/example33/8.20-citation-syntax.html)
736
-
737
- [MultiMarkdown Citations](https://fletcher.github.io/MultiMarkdown-6/Documentation/bibliography.html)
738
-
739
- - [mmark Citations](https://mmark.miek.nl/post/citations/)
740
- - [CSL Project](https://citationstyles.org/)
741
-
742
- [Citation Style Language](https://docs.citationstyles.org/en/stable/)
743
-
744
- [rehype-citation](https://unifiedjs.com/explore/package/rehype-citation) - JavaScript implementation reference