apex-ruby 1.0.30 → 1.0.31

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/extconf.rb +31 -79
  20. data/lib/apex/version.rb +1 -1
  21. metadata +1 -470
  22. data/ext/apex_ext/apex_src/AGENTS.md +0 -41
  23. data/ext/apex_ext/apex_src/BENCHMARK.md +0 -32
  24. data/ext/apex_ext/apex_src/BENCHMARK_COMPARISON.md +0 -67
  25. data/ext/apex_ext/apex_src/CHANGELOG.md +0 -3373
  26. data/ext/apex_ext/apex_src/CMakeLists.txt +0 -481
  27. data/ext/apex_ext/apex_src/Dockerfile.linux-build +0 -15
  28. data/ext/apex_ext/apex_src/Formula/apex.rb +0 -43
  29. data/ext/apex_ext/apex_src/Info.plist.in +0 -27
  30. data/ext/apex_ext/apex_src/Package.swift +0 -192
  31. data/ext/apex_ext/apex_src/PackageSupport/README.md +0 -17
  32. data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark_gfm_spm_stub.c +0 -4
  33. data/ext/apex_ext/apex_src/README.md +0 -536
  34. data/ext/apex_ext/apex_src/ROADMAP.md +0 -5
  35. data/ext/apex_ext/apex_src/VERSION +0 -1
  36. data/ext/apex_ext/apex_src/apex-debug.log +0 -4
  37. data/ext/apex_ext/apex_src/apex-header-2-rb@2x.webp +0 -0
  38. data/ext/apex_ext/apex_src/apex-plugins.json.example +0 -20
  39. data/ext/apex_ext/apex_src/apex.code-workspace +0 -38
  40. data/ext/apex_ext/apex_src/apex.pc.in +0 -11
  41. data/ext/apex_ext/apex_src/apex.taskpaper +0 -12
  42. data/ext/apex_ext/apex_src/apex_deflist_debug.log +0 -25
  43. data/ext/apex_ext/apex_src/buildnotes.md +0 -1435
  44. data/ext/apex_ext/apex_src/cli/main.c +0 -4588
  45. data/ext/apex_ext/apex_src/debug.log +0 -7
  46. data/ext/apex_ext/apex_src/debug_test.sh +0 -22
  47. data/ext/apex_ext/apex_src/docs/API_REFERENCE.md +0 -451
  48. data/ext/apex_ext/apex_src/docs/ARCHITECTURE.md +0 -166
  49. data/ext/apex_ext/apex_src/docs/CITATIONS_EXAMPLES.md +0 -274
  50. data/ext/apex_ext/apex_src/docs/CITATIONS_IMPLEMENTATION_PLAN.md +0 -749
  51. data/ext/apex_ext/apex_src/docs/CITATIONS_PLAN.md +0 -744
  52. data/ext/apex_ext/apex_src/docs/CMARK_INTEGRATION.md +0 -220
  53. data/ext/apex_ext/apex_src/docs/CRITICMARKUP.md +0 -501
  54. data/ext/apex_ext/apex_src/docs/DEBUGGING.md +0 -73
  55. data/ext/apex_ext/apex_src/docs/FINAL_STATUS.md +0 -391
  56. data/ext/apex_ext/apex_src/docs/FINAL_STATUS_UPDATE.md +0 -237
  57. data/ext/apex_ext/apex_src/docs/IAL_FEATURES.md +0 -210
  58. data/ext/apex_ext/apex_src/docs/IAL_STATUS.md +0 -344
  59. data/ext/apex_ext/apex_src/docs/INDEX_IMPLEMENTATION_ANALYSIS.md +0 -382
  60. data/ext/apex_ext/apex_src/docs/INTEGRATION_EXAMPLE.m +0 -144
  61. data/ext/apex_ext/apex_src/docs/LIMITATIONS_RESOLVED.md +0 -278
  62. data/ext/apex_ext/apex_src/docs/OUTPUT_MODES.md +0 -321
  63. data/ext/apex_ext/apex_src/docs/PROGRESS.md +0 -167
  64. data/ext/apex_ext/apex_src/docs/STANDALONE_FEATURE.md +0 -174
  65. data/ext/apex_ext/apex_src/docs/TABLE_SPANS_STATUS.md +0 -243
  66. data/ext/apex_ext/apex_src/docs/TEST_COVERAGE.md +0 -316
  67. data/ext/apex_ext/apex_src/docs/USER_GUIDE.md +0 -803
  68. data/ext/apex_ext/apex_src/docs/WIKI_LINKS_ISSUE.md +0 -91
  69. data/ext/apex_ext/apex_src/docs/index.md +0 -459
  70. data/ext/apex_ext/apex_src/docs/plans/2025-02-27-man-page-output-implementation.md +0 -351
  71. data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-12-toc-output-format.md +0 -745
  72. data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-18-bear-image-attributes.md +0 -829
  73. data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-19-apex-node-npm.md +0 -1148
  74. data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-12-toc-output-format-design.md +0 -161
  75. data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-18-bear-image-attributes-design.md +0 -184
  76. data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-19-apex-node-npm-design.md +0 -211
  77. data/ext/apex_ext/apex_src/documentation/README.md +0 -160
  78. data/ext/apex_ext/apex_src/documentation/app-settings-table.md +0 -67
  79. data/ext/apex_ext/apex_src/documentation/app-transformed/Citations.md +0 -340
  80. data/ext/apex_ext/apex_src/documentation/app-transformed/Credits.md +0 -11
  81. data/ext/apex_ext/apex_src/documentation/app-transformed/Header-IDs.md +0 -234
  82. data/ext/apex_ext/apex_src/documentation/app-transformed/Inline-Attribute-Lists.md +0 -516
  83. data/ext/apex_ext/apex_src/documentation/app-transformed/Metadata-Transforms.md +0 -461
  84. data/ext/apex_ext/apex_src/documentation/app-transformed/Modes.md +0 -193
  85. data/ext/apex_ext/apex_src/documentation/app-transformed/Multi-File-Documents.md +0 -201
  86. data/ext/apex_ext/apex_src/documentation/app-transformed/Plugins.md +0 -678
  87. data/ext/apex_ext/apex_src/documentation/app-transformed/Syntax.md +0 -1367
  88. data/ext/apex_ext/apex_src/documentation/docsets/Apex Command Line Options.cheatsheet.txt +0 -371
  89. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Info.plist +0 -24
  90. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/C-API.html +0 -2211
  91. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Callouts.html +0 -1194
  92. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Citations.html +0 -1620
  93. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Command-Line-Options.html +0 -6024
  94. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Configuration.html +0 -1877
  95. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Credits.html +0 -1040
  96. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Examples.html +0 -1402
  97. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Filters.html +0 -1656
  98. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Generating-Man-Pages.html +0 -1226
  99. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Getting-Started.html +0 -1148
  100. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Header-IDs.html +0 -1478
  101. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Home.html +0 -1225
  102. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Indices.html +0 -2327
  103. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Inline-Attribute-Lists.html +0 -2041
  104. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Installation.html +0 -1314
  105. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Limitations-and-Roadmap.html +0 -1868
  106. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Metadata-Transforms.html +0 -1731
  107. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Modes.html +0 -2242
  108. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-File-Documents.html +0 -1533
  109. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-Format-Images.html +0 -1362
  110. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Pandoc-Integration.html +0 -1338
  111. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Plugins.html +0 -3188
  112. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Quarto-Mode.html +0 -1405
  113. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Rendering-Markdown-In-Terminal.html +0 -1902
  114. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Syntax.html +0 -4222
  115. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Tables.html +0 -1781
  116. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Troubleshooting.html +0 -1629
  117. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Usage.html +0 -1394
  118. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Using-Apex-with-Jekyll.html +0 -1132
  119. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Writing-Tests.html +0 -1754
  120. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Xcode-Integration.html +0 -2562
  121. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/docSet.dsidx +0 -0
  122. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
  123. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Info.plist +0 -22
  124. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans.woff +0 -0
  125. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold.woff +0 -0
  126. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold_Italic.woff +0 -0
  127. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold.woff +0 -0
  128. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold_Italic.woff +0 -0
  129. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Italic.woff +0 -0
  130. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold.woff +0 -0
  131. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold_Italic.woff +0 -0
  132. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/index.html +0 -914
  133. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/style.css +0 -399
  134. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/docSet.dsidx +0 -0
  135. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
  136. data/ext/apex_ext/apex_src/documentation/generate_app_docs.rb +0 -772
  137. data/ext/apex_ext/apex_src/documentation/generate_app_docs_ai.rb +0 -678
  138. data/ext/apex_ext/apex_src/documentation/generate_docset.rb +0 -873
  139. data/ext/apex_ext/apex_src/documentation/generate_single_html.rb +0 -733
  140. data/ext/apex_ext/apex_src/documentation/html/apex-app-docs.html +0 -8746
  141. data/ext/apex_ext/apex_src/documentation/html/apex-docs.html +0 -17073
  142. data/ext/apex_ext/apex_src/documentation/shared_scripts.js +0 -64
  143. data/ext/apex_ext/apex_src/documentation/shared_styles.css +0 -651
  144. data/ext/apex_ext/apex_src/documentation/transform_for_app.example.md +0 -260
  145. data/ext/apex_ext/apex_src/documentation/transform_for_app.md +0 -55
  146. data/ext/apex_ext/apex_src/escaping-repro.md +0 -103
  147. data/ext/apex_ext/apex_src/examples/bracketed_spans_demo.md +0 -119
  148. data/ext/apex_ext/apex_src/examples/emoji_span_plugin.yml +0 -11
  149. data/ext/apex_ext/apex_src/examples/example.html +0 -53
  150. data/ext/apex_ext/apex_src/examples/example.md +0 -85
  151. data/ext/apex_ext/apex_src/examples/fenced_divs_demo.md +0 -158
  152. data/ext/apex_ext/apex_src/examples/kbd.md +0 -8
  153. data/ext/apex_ext/apex_src/examples/kbd_plugin.rb +0 -250
  154. data/ext/apex_ext/apex_src/examples/kbd_plugin.yml +0 -9
  155. data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/Info.plist +0 -8
  156. data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/QuickLook/Preview.png +0 -0
  157. data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/document.wflow +0 -547
  158. data/ext/apex_ext/apex_src/examples/quick-actions/Markdown-to-RTF.workflow.zip +0 -0
  159. data/ext/apex_ext/apex_src/examples/quick-actions/README.md +0 -33
  160. data/ext/apex_ext/apex_src/ial.html +0 -24
  161. data/ext/apex_ext/apex_src/icon/apexicon-outline-black.png +0 -0
  162. data/ext/apex_ext/apex_src/icon/apexicon-outline-black@2x.png +0 -0
  163. data/ext/apex_ext/apex_src/icon/apexicon-outline-mark.png +0 -0
  164. data/ext/apex_ext/apex_src/icon/apexicon-outline-mark@2x.png +0 -0
  165. data/ext/apex_ext/apex_src/icon/apexicon-outline-white.png +0 -0
  166. data/ext/apex_ext/apex_src/icon/apexicon-outline-white@2x.png +0 -0
  167. data/ext/apex_ext/apex_src/icon/apexicon.png +0 -0
  168. data/ext/apex_ext/apex_src/icon/apexicon@2x.png +0 -0
  169. data/ext/apex_ext/apex_src/man/apex-config.5 +0 -455
  170. data/ext/apex_ext/apex_src/man/apex-config.5.md +0 -262
  171. data/ext/apex_ext/apex_src/man/apex-plugins.7 +0 -541
  172. data/ext/apex_ext/apex_src/man/apex-plugins.7.md +0 -365
  173. data/ext/apex_ext/apex_src/man/apex.1 +0 -583
  174. data/ext/apex_ext/apex_src/man/apex.1.html +0 -703
  175. data/ext/apex_ext/apex_src/man/apex.1.md +0 -803
  176. data/ext/apex_ext/apex_src/man/apex.1.new +0 -338
  177. data/ext/apex_ext/apex_src/objc/Apex.swift +0 -316
  178. data/ext/apex_ext/apex_src/objc/ApexPlugins.swift +0 -79
  179. data/ext/apex_ext/apex_src/objc/NSString+Apex.h +0 -207
  180. data/ext/apex_ext/apex_src/objc/NSString+Apex.m +0 -584
  181. data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.h +0 -76
  182. data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.m +0 -169
  183. data/ext/apex_ext/apex_src/output.html +0 -87
  184. data/ext/apex_ext/apex_src/pages/index.md +0 -459
  185. data/ext/apex_ext/apex_src/plans/quarto-mode.md +0 -442
  186. data/ext/apex_ext/apex_src/src/_README.md +0 -413
  187. data/ext/apex_ext/apex_src/src/extensions/github-emoji.txt +0 -869
  188. data/ext/apex_ext/apex_src/test-linux-build.sh +0 -20
  189. data/ext/apex_ext/apex_src/test.html +0 -103
  190. data/ext/apex_ext/apex_src/test_coverage.sh +0 -121
  191. data/ext/apex_ext/apex_src/test_ial_fenced.md +0 -6
  192. data/ext/apex_ext/apex_src/test_math_norm.py +0 -79
  193. data/ext/apex_ext/apex_src/test_pandoc_output.html +0 -48
  194. data/ext/apex_ext/apex_src/test_spm.sh +0 -107
  195. data/ext/apex_ext/apex_src/tests/ApexSPMTest/main.swift +0 -50
  196. data/ext/apex_ext/apex_src/tests/BENCHMARK_RESULTS.md +0 -229
  197. data/ext/apex_ext/apex_src/tests/CMakeLists.txt +0 -25
  198. data/ext/apex_ext/apex_src/tests/README.md +0 -152
  199. data/ext/apex_ext/apex_src/tests/benchmark.sh +0 -113
  200. data/ext/apex_ext/apex_src/tests/benchmark_comparison.sh +0 -166
  201. data/ext/apex_ext/apex_src/tests/compare_header_ids.sh +0 -31
  202. data/ext/apex_ext/apex_src/tests/fixtures/basic/headers.md +0 -25
  203. data/ext/apex_ext/apex_src/tests/fixtures/basic/list-interruption.md +0 -24
  204. data/ext/apex_ext/apex_src/tests/fixtures/basic/misc_markup.md +0 -33
  205. data/ext/apex_ext/apex_src/tests/fixtures/basic/test_basic.md +0 -26
  206. data/ext/apex_ext/apex_src/tests/fixtures/code/code-blocks.md +0 -260
  207. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/SUMMARY.md +0 -6
  208. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/chapter1.md +0 -7
  209. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/index.txt +0 -9
  210. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/intro.md +0 -5
  211. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/section1_1.md +0 -5
  212. data/ext/apex_ext/apex_src/tests/fixtures/comprehensive_test.md +0 -652
  213. data/ext/apex_ext/apex_src/tests/fixtures/debug_ref_image_ial.md +0 -3
  214. data/ext/apex_ext/apex_src/tests/fixtures/demos/ial.md +0 -11
  215. data/ext/apex_ext/apex_src/tests/fixtures/demos/ial_demo.md +0 -177
  216. data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji-autocorrect.md +0 -94
  217. data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji_test.md +0 -3
  218. data/ext/apex_ext/apex_src/tests/fixtures/extensions/kbd_test.md +0 -3
  219. data/ext/apex_ext/apex_src/tests/fixtures/filters/filter_output_with_rawblock.json +0 -1
  220. data/ext/apex_ext/apex_src/tests/fixtures/filters/unwrap.md +0 -7
  221. data/ext/apex_ext/apex_src/tests/fixtures/ial/bracketed_spans_test.md +0 -74
  222. data/ext/apex_ext/apex_src/tests/fixtures/images/auto-wildcard.md +0 -8
  223. data/ext/apex_ext/apex_src/tests/fixtures/images/bear_image_attributes.md +0 -10
  224. data/ext/apex_ext/apex_src/tests/fixtures/images/image_and_encoding_test.md +0 -27
  225. data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.avif +0 -0
  226. data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.jpg +0 -0
  227. data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.webp +0 -0
  228. data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.avif +0 -0
  229. data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.jpg +0 -0
  230. data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.webp +0 -0
  231. data/ext/apex_ext/apex_src/tests/fixtures/images/media_formats_test.md +0 -63
  232. data/ext/apex_ext/apex_src/tests/fixtures/images/multimarkdown_image_attributes_test.md +0 -60
  233. data/ext/apex_ext/apex_src/tests/fixtures/images/pandoc_ial_image_test.md +0 -27
  234. data/ext/apex_ext/apex_src/tests/fixtures/images/width_height_conversion_test.md +0 -94
  235. data/ext/apex_ext/apex_src/tests/fixtures/img-in-div.md +0 -16
  236. data/ext/apex_ext/apex_src/tests/fixtures/includes/code.py +0 -4
  237. data/ext/apex_ext/apex_src/tests/fixtures/includes/data-semi.csv +0 -3
  238. data/ext/apex_ext/apex_src/tests/fixtures/includes/data.csv +0 -5
  239. data/ext/apex_ext/apex_src/tests/fixtures/includes/data.tsv +0 -5
  240. data/ext/apex_ext/apex_src/tests/fixtures/includes/image.png +0 -2
  241. data/ext/apex_ext/apex_src/tests/fixtures/includes/metadata_options.yml +0 -11
  242. data/ext/apex_ext/apex_src/tests/fixtures/includes/nested.md +0 -8
  243. data/ext/apex_ext/apex_src/tests/fixtures/includes/raw.html +0 -4
  244. data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.md +0 -19
  245. data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.txt +0 -11
  246. data/ext/apex_ext/apex_src/tests/fixtures/includes/simple.md +0 -7
  247. data/ext/apex_ext/apex_src/tests/fixtures/includes/test_image.png +0 -0
  248. data/ext/apex_ext/apex_src/tests/fixtures/includes/with space.txt +0 -1
  249. data/ext/apex_ext/apex_src/tests/fixtures/large_doc.md +0 -1094
  250. data/ext/apex_ext/apex_src/tests/fixtures/metadata/mmd-metadata.md +0 -5
  251. data/ext/apex_ext/apex_src/tests/fixtures/metadata/pandoc-meta.md +0 -4
  252. data/ext/apex_ext/apex_src/tests/fixtures/metadata/yaml-frontmatter.md +0 -6
  253. data/ext/apex_ext/apex_src/tests/fixtures/metadata_options.yml +0 -11
  254. data/ext/apex_ext/apex_src/tests/fixtures/minimal_pb.md +0 -2
  255. data/ext/apex_ext/apex_src/tests/fixtures/obsidian-callouts.md +0 -46
  256. data/ext/apex_ext/apex_src/tests/fixtures/output/gfm_header_id_test.md +0 -96
  257. data/ext/apex_ext/apex_src/tests/fixtures/output/test_citations.md +0 -43
  258. data/ext/apex_ext/apex_src/tests/fixtures/output/test_def_list_links.md +0 -12
  259. data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_mmark.md +0 -53
  260. data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_textindex.md +0 -37
  261. data/ext/apex_ext/apex_src/tests/fixtures/pagebreak_html_repro.md +0 -5
  262. data/ext/apex_ext/apex_src/tests/fixtures/python-callouts.md +0 -47
  263. data/ext/apex_ext/apex_src/tests/fixtures/quarto/callouts.md +0 -3
  264. data/ext/apex_ext/apex_src/tests/fixtures/quarto/code-attrs.md +0 -3
  265. data/ext/apex_ext/apex_src/tests/fixtures/quarto/diagrams.md +0 -8
  266. data/ext/apex_ext/apex_src/tests/fixtures/quarto/lists.md +0 -19
  267. data/ext/apex_ext/apex_src/tests/fixtures/quarto/raw-content.md +0 -5
  268. data/ext/apex_ext/apex_src/tests/fixtures/quarto/shortcodes.md +0 -7
  269. data/ext/apex_ext/apex_src/tests/fixtures/quarto/smoke.md +0 -81
  270. data/ext/apex_ext/apex_src/tests/fixtures/quarto/spans.md +0 -5
  271. data/ext/apex_ext/apex_src/tests/fixtures/quarto-callouts.md +0 -47
  272. data/ext/apex_ext/apex_src/tests/fixtures/speed.md +0 -192
  273. data/ext/apex_ext/apex_src/tests/fixtures/tables/advanced_tables_test.md +0 -93
  274. data/ext/apex_ext/apex_src/tests/fixtures/tables/grid-tables.md +0 -37
  275. data/ext/apex_ext/apex_src/tests/fixtures/tables/inline_tables_test.md +0 -41
  276. data/ext/apex_ext/apex_src/tests/fixtures/tables/relaxed-table.md +0 -12
  277. data/ext/apex_ext/apex_src/tests/fixtures/tables/table_cr_line_endings.md +0 -15
  278. data/ext/apex_ext/apex_src/tests/fixtures/tables/table_no_trailing_newline.md +0 -15
  279. data/ext/apex_ext/apex_src/tests/generate_gfm_ids.sh +0 -105
  280. data/ext/apex_ext/apex_src/tests/generate_ial_demo.sh +0 -143
  281. data/ext/apex_ext/apex_src/tests/gfm_id_comparison_summary.md +0 -96
  282. data/ext/apex_ext/apex_src/tests/gh_api_test.md +0 -6
  283. data/ext/apex_ext/apex_src/tests/ial_demo.html +0 -186
  284. data/ext/apex_ext/apex_src/tests/include_code.py +0 -19
  285. data/ext/apex_ext/apex_src/tests/include_snippet.md +0 -15
  286. data/ext/apex_ext/apex_src/tests/metadata_cli_test.sh +0 -119
  287. data/ext/apex_ext/apex_src/tests/multi_file_cli_test.sh +0 -64
  288. data/ext/apex_ext/apex_src/tests/paginate_cli_test.sh +0 -80
  289. data/ext/apex_ext/apex_src/tests/sample_data.csv +0 -7
  290. data/ext/apex_ext/apex_src/tests/table_escaped_ltlt.md +0 -4
  291. data/ext/apex_ext/apex_src/tests/terminal_width_test.sh +0 -29
  292. data/ext/apex_ext/apex_src/tests/test-swift-package.sh +0 -14
  293. data/ext/apex_ext/apex_src/tests/test_basic.c +0 -74
  294. data/ext/apex_ext/apex_src/tests/test_bear_image_attrs.c +0 -301
  295. data/ext/apex_ext/apex_src/tests/test_cmark_callback.c +0 -189
  296. data/ext/apex_ext/apex_src/tests/test_concordance.tsv +0 -4
  297. data/ext/apex_ext/apex_src/tests/test_custom_plugins.c +0 -78
  298. data/ext/apex_ext/apex_src/tests/test_escaping_repro.c +0 -82
  299. data/ext/apex_ext/apex_src/tests/test_extensions.c +0 -3337
  300. data/ext/apex_ext/apex_src/tests/test_helpers.c +0 -183
  301. data/ext/apex_ext/apex_src/tests/test_helpers.h +0 -91
  302. data/ext/apex_ext/apex_src/tests/test_ial.c +0 -289
  303. data/ext/apex_ext/apex_src/tests/test_links.c +0 -418
  304. data/ext/apex_ext/apex_src/tests/test_marked_integration.c +0 -290
  305. data/ext/apex_ext/apex_src/tests/test_metadata.c +0 -1147
  306. data/ext/apex_ext/apex_src/tests/test_output.c +0 -2056
  307. data/ext/apex_ext/apex_src/tests/test_plugins.c +0 -219
  308. data/ext/apex_ext/apex_src/tests/test_refs.bib +0 -31
  309. data/ext/apex_ext/apex_src/tests/test_runner.c +0 -268
  310. data/ext/apex_ext/apex_src/tests/test_syntax_highlight.c +0 -198
  311. data/ext/apex_ext/apex_src/tests/test_tables.c +0 -1298
  312. data/ext/apex_ext/apex_src/tests/update_benchmarks.sh +0 -9
  313. data/ext/apex_ext/apex_src/tests/yaml_test.md +0 -13
  314. data/ext/apex_ext/apex_src/tests.rb +0 -39
  315. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CMakeLists.txt +0 -48
  316. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.c +0 -14
  317. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.cmake +0 -43
  318. data/ext/apex_ext/apex_src/vendor/cmark-gfm/FindAsan.cmake +0 -74
  319. data/ext/apex_ext/apex_src/vendor/cmark-gfm/Makefile.nmake +0 -38
  320. data/ext/apex_ext/apex_src/vendor/cmark-gfm/README.md +0 -206
  321. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/CMakeLists.txt +0 -30
  322. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.cpp +0 -15
  323. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.h +0 -16
  324. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.c +0 -111
  325. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.h +0 -35
  326. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/main.c +0 -1169
  327. data/ext/apex_ext/apex_src/vendor/cmark-gfm/appveyor.yml +0 -21
  328. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-flat.md +0 -16
  329. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-nested.md +0 -13
  330. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-code.md +0 -11
  331. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-fences.md +0 -14
  332. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-heading.md +0 -9
  333. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-hr.md +0 -10
  334. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-html.md +0 -32
  335. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-lheading.md +0 -8
  336. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-flat.md +0 -67
  337. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-nested.md +0 -36
  338. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-flat.md +0 -15
  339. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-nested.md +0 -17
  340. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-autolink.md +0 -14
  341. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-backticks.md +0 -3
  342. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-flat.md +0 -5
  343. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-nested.md +0 -5
  344. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-worst.md +0 -5
  345. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-entity.md +0 -11
  346. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-escape.md +0 -15
  347. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-html.md +0 -44
  348. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-flat.md +0 -23
  349. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-nested.md +0 -13
  350. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-newlines.md +0 -24
  351. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/lorem1.md +0 -13
  352. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/rawtabs.md +0 -18
  353. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/statistics.py +0 -595
  354. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/stats.py +0 -19
  355. data/ext/apex_ext/apex_src/vendor/cmark-gfm/benchmarks.md +0 -33
  356. data/ext/apex_ext/apex_src/vendor/cmark-gfm/changelog.txt +0 -1245
  357. data/ext/apex_ext/apex_src/vendor/cmark-gfm/data/CaseFolding.txt +0 -1495
  358. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/CMakeLists.txt +0 -119
  359. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.re +0 -92
  360. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/CMakeLists.txt +0 -22
  361. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/README.md +0 -12
  362. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic.c +0 -91
  363. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic_brackets.c +0 -110
  364. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzzloop.sh +0 -28
  365. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/CMakeLists.txt +0 -10
  366. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/make_man_page.py +0 -133
  367. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man1/cmark-gfm.1 +0 -78
  368. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man3/cmark-gfm.3 +0 -1041
  369. data/ext/apex_ext/apex_src/vendor/cmark-gfm/nmake.bat +0 -1
  370. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/CMakeLists.txt +0 -230
  371. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm_version.h.in +0 -7
  372. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h +0 -38
  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