apex-ruby 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (501) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +119 -0
  3. data/apex-ruby.gemspec +31 -0
  4. data/ext/apex_ext/apex_ext.c +215 -0
  5. data/ext/apex_ext/apex_src/BENCHMARK.md +32 -0
  6. data/ext/apex_ext/apex_src/BENCHMARK_COMPARISON.md +67 -0
  7. data/ext/apex_ext/apex_src/CHANGELOG.md +2454 -0
  8. data/ext/apex_ext/apex_src/CMakeLists.txt +454 -0
  9. data/ext/apex_ext/apex_src/Dockerfile.linux-build +15 -0
  10. data/ext/apex_ext/apex_src/Formula/apex.rb +38 -0
  11. data/ext/apex_ext/apex_src/Info.plist.in +27 -0
  12. data/ext/apex_ext/apex_src/LICENSE +21 -0
  13. data/ext/apex_ext/apex_src/Package.swift +160 -0
  14. data/ext/apex_ext/apex_src/PackageSupport/README.md +17 -0
  15. data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark-gfm_export.h +20 -0
  16. data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark-gfm_version.h +14 -0
  17. data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark_gfm_spm_stub.c +4 -0
  18. data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/config.h +41 -0
  19. data/ext/apex_ext/apex_src/README.md +452 -0
  20. data/ext/apex_ext/apex_src/VERSION +1 -0
  21. data/ext/apex_ext/apex_src/apex-header-2-rb@2x.webp +0 -0
  22. data/ext/apex_ext/apex_src/apex-plugins.json.example +20 -0
  23. data/ext/apex_ext/apex_src/apex.pc.in +11 -0
  24. data/ext/apex_ext/apex_src/cli/main.c +2720 -0
  25. data/ext/apex_ext/apex_src/debug_test.sh +22 -0
  26. data/ext/apex_ext/apex_src/docs/API_REFERENCE.md +451 -0
  27. data/ext/apex_ext/apex_src/docs/ARCHITECTURE.md +166 -0
  28. data/ext/apex_ext/apex_src/docs/CMARK_INTEGRATION.md +220 -0
  29. data/ext/apex_ext/apex_src/docs/CRITICMARKUP.md +501 -0
  30. data/ext/apex_ext/apex_src/docs/DEBUGGING.md +73 -0
  31. data/ext/apex_ext/apex_src/docs/FINAL_STATUS.md +391 -0
  32. data/ext/apex_ext/apex_src/docs/FINAL_STATUS_UPDATE.md +237 -0
  33. data/ext/apex_ext/apex_src/docs/FUTURE_FEATURES.md +456 -0
  34. data/ext/apex_ext/apex_src/docs/IAL_FEATURES.md +210 -0
  35. data/ext/apex_ext/apex_src/docs/IAL_STATUS.md +344 -0
  36. data/ext/apex_ext/apex_src/docs/INTEGRATION_EXAMPLE.m +144 -0
  37. data/ext/apex_ext/apex_src/docs/LIMITATIONS_RESOLVED.md +278 -0
  38. data/ext/apex_ext/apex_src/docs/OUTPUT_MODES.md +321 -0
  39. data/ext/apex_ext/apex_src/docs/PROGRESS.md +167 -0
  40. data/ext/apex_ext/apex_src/docs/STANDALONE_FEATURE.md +174 -0
  41. data/ext/apex_ext/apex_src/docs/TABLE_SPANS_STATUS.md +243 -0
  42. data/ext/apex_ext/apex_src/docs/TEST_COVERAGE.md +316 -0
  43. data/ext/apex_ext/apex_src/docs/USER_GUIDE.md +803 -0
  44. data/ext/apex_ext/apex_src/docs/WIKI_LINKS_ISSUE.md +91 -0
  45. data/ext/apex_ext/apex_src/documentation/README.md +160 -0
  46. data/ext/apex_ext/apex_src/documentation/docsets/Apex Command Line Options.cheatsheet.txt +365 -0
  47. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Info.plist +24 -0
  48. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/C-API.html +1737 -0
  49. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Citations.html +1420 -0
  50. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Command-Line-Options.html +3574 -0
  51. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Configuration.html +1603 -0
  52. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Credits.html +910 -0
  53. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Examples.html +1168 -0
  54. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Getting-Started.html +1003 -0
  55. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Header-IDs.html +1308 -0
  56. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Home.html +1078 -0
  57. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Inline-Attribute-Lists.html +1622 -0
  58. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Installation.html +1168 -0
  59. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Limitations-and-Roadmap.html +1698 -0
  60. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Metadata-Transforms.html +1531 -0
  61. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Modes.html +1980 -0
  62. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-File-Documents.html +1368 -0
  63. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Pandoc-Integration.html +1151 -0
  64. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Plugins.html +2861 -0
  65. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Syntax.html +3981 -0
  66. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Troubleshooting.html +1454 -0
  67. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Usage.html +1200 -0
  68. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Xcode-Integration.html +2066 -0
  69. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/docSet.dsidx +0 -0
  70. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
  71. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/tempOptimizedIndex.dsidx +0 -0
  72. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Info.plist +22 -0
  73. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans.woff +0 -0
  74. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold.woff +0 -0
  75. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold_Italic.woff +0 -0
  76. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold.woff +0 -0
  77. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold_Italic.woff +0 -0
  78. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Italic.woff +0 -0
  79. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold.woff +0 -0
  80. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold_Italic.woff +0 -0
  81. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/index.html +914 -0
  82. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/style.css +399 -0
  83. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/docSet.dsidx +0 -0
  84. data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
  85. data/ext/apex_ext/apex_src/documentation/generate_app_docs.rb +772 -0
  86. data/ext/apex_ext/apex_src/documentation/generate_app_docs_ai.rb +678 -0
  87. data/ext/apex_ext/apex_src/documentation/generate_docset.rb +873 -0
  88. data/ext/apex_ext/apex_src/documentation/generate_single_html.rb +733 -0
  89. data/ext/apex_ext/apex_src/documentation/html/apex-docs.html +17073 -0
  90. data/ext/apex_ext/apex_src/documentation/shared_scripts.js +64 -0
  91. data/ext/apex_ext/apex_src/documentation/shared_styles.css +646 -0
  92. data/ext/apex_ext/apex_src/documentation/transform_for_app.example.md +260 -0
  93. data/ext/apex_ext/apex_src/examples/bracketed_spans_demo.md +119 -0
  94. data/ext/apex_ext/apex_src/examples/emoji_span_plugin.yml +11 -0
  95. data/ext/apex_ext/apex_src/examples/example.html +53 -0
  96. data/ext/apex_ext/apex_src/examples/example.md +85 -0
  97. data/ext/apex_ext/apex_src/examples/fenced_divs_demo.md +158 -0
  98. data/ext/apex_ext/apex_src/examples/kbd.md +8 -0
  99. data/ext/apex_ext/apex_src/examples/kbd_plugin.rb +250 -0
  100. data/ext/apex_ext/apex_src/examples/kbd_plugin.yml +9 -0
  101. data/ext/apex_ext/apex_src/icon/apexicon-outline-black.png +0 -0
  102. data/ext/apex_ext/apex_src/icon/apexicon-outline-black@2x.png +0 -0
  103. data/ext/apex_ext/apex_src/icon/apexicon-outline-mark.png +0 -0
  104. data/ext/apex_ext/apex_src/icon/apexicon-outline-mark@2x.png +0 -0
  105. data/ext/apex_ext/apex_src/icon/apexicon-outline-white.png +0 -0
  106. data/ext/apex_ext/apex_src/icon/apexicon-outline-white@2x.png +0 -0
  107. data/ext/apex_ext/apex_src/icon/apexicon.png +0 -0
  108. data/ext/apex_ext/apex_src/icon/apexicon@2x.png +0 -0
  109. data/ext/apex_ext/apex_src/include/apex/apex.h +247 -0
  110. data/ext/apex_ext/apex_src/include/apex/buffer.h +93 -0
  111. data/ext/apex_ext/apex_src/include/apex/module.modulemap +16 -0
  112. data/ext/apex_ext/apex_src/include/apex/parser.h +150 -0
  113. data/ext/apex_ext/apex_src/include/apex/renderer.h +39 -0
  114. data/ext/apex_ext/apex_src/man/apex-config.5 +374 -0
  115. data/ext/apex_ext/apex_src/man/apex-config.5.md +260 -0
  116. data/ext/apex_ext/apex_src/man/apex-plugins.7 +456 -0
  117. data/ext/apex_ext/apex_src/man/apex-plugins.7.md +365 -0
  118. data/ext/apex_ext/apex_src/man/apex.1 +828 -0
  119. data/ext/apex_ext/apex_src/man/apex.1.md +643 -0
  120. data/ext/apex_ext/apex_src/man/apex.1.new +338 -0
  121. data/ext/apex_ext/apex_src/objc/Apex.swift +237 -0
  122. data/ext/apex_ext/apex_src/objc/NSString+Apex.h +117 -0
  123. data/ext/apex_ext/apex_src/objc/NSString+Apex.m +332 -0
  124. data/ext/apex_ext/apex_src/src/_README.md +358 -0
  125. data/ext/apex_ext/apex_src/src/apex.c +6326 -0
  126. data/ext/apex_ext/apex_src/src/buffer.c +93 -0
  127. data/ext/apex_ext/apex_src/src/extensions/abbreviations.c +362 -0
  128. data/ext/apex_ext/apex_src/src/extensions/abbreviations.h +45 -0
  129. data/ext/apex_ext/apex_src/src/extensions/advanced_footnotes.c +184 -0
  130. data/ext/apex_ext/apex_src/src/extensions/advanced_footnotes.h +50 -0
  131. data/ext/apex_ext/apex_src/src/extensions/advanced_tables.c +1897 -0
  132. data/ext/apex_ext/apex_src/src/extensions/advanced_tables.h +42 -0
  133. data/ext/apex_ext/apex_src/src/extensions/callouts.c +215 -0
  134. data/ext/apex_ext/apex_src/src/extensions/callouts.h +53 -0
  135. data/ext/apex_ext/apex_src/src/extensions/citations.c +2042 -0
  136. data/ext/apex_ext/apex_src/src/extensions/citations.h +163 -0
  137. data/ext/apex_ext/apex_src/src/extensions/critic.c +329 -0
  138. data/ext/apex_ext/apex_src/src/extensions/critic.h +48 -0
  139. data/ext/apex_ext/apex_src/src/extensions/definition_list.c +1670 -0
  140. data/ext/apex_ext/apex_src/src/extensions/definition_list.h +42 -0
  141. data/ext/apex_ext/apex_src/src/extensions/emoji.c +710 -0
  142. data/ext/apex_ext/apex_src/src/extensions/emoji.h +38 -0
  143. data/ext/apex_ext/apex_src/src/extensions/emoji_data.h +942 -0
  144. data/ext/apex_ext/apex_src/src/extensions/fenced_divs.c +925 -0
  145. data/ext/apex_ext/apex_src/src/extensions/fenced_divs.h +43 -0
  146. data/ext/apex_ext/apex_src/src/extensions/github-emoji.txt +869 -0
  147. data/ext/apex_ext/apex_src/src/extensions/grid_tables.c +1121 -0
  148. data/ext/apex_ext/apex_src/src/extensions/grid_tables.h +33 -0
  149. data/ext/apex_ext/apex_src/src/extensions/header_ids.c +626 -0
  150. data/ext/apex_ext/apex_src/src/extensions/header_ids.h +60 -0
  151. data/ext/apex_ext/apex_src/src/extensions/highlight.c +135 -0
  152. data/ext/apex_ext/apex_src/src/extensions/highlight.h +16 -0
  153. data/ext/apex_ext/apex_src/src/extensions/html_markdown.c +408 -0
  154. data/ext/apex_ext/apex_src/src/extensions/html_markdown.h +42 -0
  155. data/ext/apex_ext/apex_src/src/extensions/ial.c +4084 -0
  156. data/ext/apex_ext/apex_src/src/extensions/ial.h +145 -0
  157. data/ext/apex_ext/apex_src/src/extensions/includes.c +1536 -0
  158. data/ext/apex_ext/apex_src/src/extensions/includes.h +54 -0
  159. data/ext/apex_ext/apex_src/src/extensions/index.c +967 -0
  160. data/ext/apex_ext/apex_src/src/extensions/index.h +90 -0
  161. data/ext/apex_ext/apex_src/src/extensions/inline_footnotes.c +205 -0
  162. data/ext/apex_ext/apex_src/src/extensions/inline_footnotes.h +34 -0
  163. data/ext/apex_ext/apex_src/src/extensions/inline_tables.c +332 -0
  164. data/ext/apex_ext/apex_src/src/extensions/inline_tables.h +13 -0
  165. data/ext/apex_ext/apex_src/src/extensions/insert.c +248 -0
  166. data/ext/apex_ext/apex_src/src/extensions/insert.h +18 -0
  167. data/ext/apex_ext/apex_src/src/extensions/math.c +279 -0
  168. data/ext/apex_ext/apex_src/src/extensions/math.h +32 -0
  169. data/ext/apex_ext/apex_src/src/extensions/metadata.c +3046 -0
  170. data/ext/apex_ext/apex_src/src/extensions/metadata.h +125 -0
  171. data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.c +1297 -0
  172. data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.h +39 -0
  173. data/ext/apex_ext/apex_src/src/extensions/special_markers.c +194 -0
  174. data/ext/apex_ext/apex_src/src/extensions/special_markers.h +29 -0
  175. data/ext/apex_ext/apex_src/src/extensions/sup_sub.c +405 -0
  176. data/ext/apex_ext/apex_src/src/extensions/sup_sub.h +16 -0
  177. data/ext/apex_ext/apex_src/src/extensions/syntax_highlight.c +468 -0
  178. data/ext/apex_ext/apex_src/src/extensions/syntax_highlight.h +44 -0
  179. data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.c +2679 -0
  180. data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.h +23 -0
  181. data/ext/apex_ext/apex_src/src/extensions/toc.c +255 -0
  182. data/ext/apex_ext/apex_src/src/extensions/toc.h +34 -0
  183. data/ext/apex_ext/apex_src/src/extensions/wiki_links.c +624 -0
  184. data/ext/apex_ext/apex_src/src/extensions/wiki_links.h +58 -0
  185. data/ext/apex_ext/apex_src/src/html_renderer.c +2762 -0
  186. data/ext/apex_ext/apex_src/src/html_renderer.h +126 -0
  187. data/ext/apex_ext/apex_src/src/parser.c +227 -0
  188. data/ext/apex_ext/apex_src/src/plugins.c +895 -0
  189. data/ext/apex_ext/apex_src/src/plugins.h +39 -0
  190. data/ext/apex_ext/apex_src/src/plugins_env.c +187 -0
  191. data/ext/apex_ext/apex_src/src/plugins_remote.c +263 -0
  192. data/ext/apex_ext/apex_src/src/pretty_html.c +358 -0
  193. data/ext/apex_ext/apex_src/src/renderer.c +241 -0
  194. data/ext/apex_ext/apex_src/src/utf8.c +56 -0
  195. data/ext/apex_ext/apex_src/test-linux-build.sh +20 -0
  196. data/ext/apex_ext/apex_src/test.html +103 -0
  197. data/ext/apex_ext/apex_src/test_coverage.sh +121 -0
  198. data/ext/apex_ext/apex_src/test_ial_fenced.md +6 -0
  199. data/ext/apex_ext/apex_src/test_math_norm.py +79 -0
  200. data/ext/apex_ext/apex_src/test_pandoc_output.html +48 -0
  201. data/ext/apex_ext/apex_src/test_spm.sh +107 -0
  202. data/ext/apex_ext/apex_src/tests/ApexSPMTest/main.swift +50 -0
  203. data/ext/apex_ext/apex_src/tests/BENCHMARK_RESULTS.md +229 -0
  204. data/ext/apex_ext/apex_src/tests/CMakeLists.txt +24 -0
  205. data/ext/apex_ext/apex_src/tests/README.md +146 -0
  206. data/ext/apex_ext/apex_src/tests/benchmark.sh +113 -0
  207. data/ext/apex_ext/apex_src/tests/benchmark_comparison.sh +166 -0
  208. data/ext/apex_ext/apex_src/tests/compare_header_ids.sh +31 -0
  209. data/ext/apex_ext/apex_src/tests/fixtures/basic/headers.md +25 -0
  210. data/ext/apex_ext/apex_src/tests/fixtures/basic/list-interruption.md +24 -0
  211. data/ext/apex_ext/apex_src/tests/fixtures/basic/misc_markup.md +33 -0
  212. data/ext/apex_ext/apex_src/tests/fixtures/basic/test_basic.md +26 -0
  213. data/ext/apex_ext/apex_src/tests/fixtures/code/code-blocks.md +260 -0
  214. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/SUMMARY.md +6 -0
  215. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/chapter1.md +7 -0
  216. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/index.txt +9 -0
  217. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/intro.md +5 -0
  218. data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/section1_1.md +5 -0
  219. data/ext/apex_ext/apex_src/tests/fixtures/comprehensive_test.md +620 -0
  220. data/ext/apex_ext/apex_src/tests/fixtures/debug_ref_image_ial.md +3 -0
  221. data/ext/apex_ext/apex_src/tests/fixtures/demos/ial.md +11 -0
  222. data/ext/apex_ext/apex_src/tests/fixtures/demos/ial_demo.md +177 -0
  223. data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji-autocorrect.md +94 -0
  224. data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji_test.md +3 -0
  225. data/ext/apex_ext/apex_src/tests/fixtures/extensions/kbd_test.md +3 -0
  226. data/ext/apex_ext/apex_src/tests/fixtures/ial/bracketed_spans_test.md +74 -0
  227. data/ext/apex_ext/apex_src/tests/fixtures/images/image_and_encoding_test.md +27 -0
  228. data/ext/apex_ext/apex_src/tests/fixtures/images/multimarkdown_image_attributes_test.md +60 -0
  229. data/ext/apex_ext/apex_src/tests/fixtures/images/pandoc_ial_image_test.md +27 -0
  230. data/ext/apex_ext/apex_src/tests/fixtures/images/width_height_conversion_test.md +94 -0
  231. data/ext/apex_ext/apex_src/tests/fixtures/img-in-div.md +16 -0
  232. data/ext/apex_ext/apex_src/tests/fixtures/includes/code.py +4 -0
  233. data/ext/apex_ext/apex_src/tests/fixtures/includes/data.csv +5 -0
  234. data/ext/apex_ext/apex_src/tests/fixtures/includes/data.tsv +5 -0
  235. data/ext/apex_ext/apex_src/tests/fixtures/includes/image.png +2 -0
  236. data/ext/apex_ext/apex_src/tests/fixtures/includes/metadata_options.yml +11 -0
  237. data/ext/apex_ext/apex_src/tests/fixtures/includes/nested.md +8 -0
  238. data/ext/apex_ext/apex_src/tests/fixtures/includes/raw.html +4 -0
  239. data/ext/apex_ext/apex_src/tests/fixtures/includes/simple.md +7 -0
  240. data/ext/apex_ext/apex_src/tests/fixtures/includes/test_image.png +0 -0
  241. data/ext/apex_ext/apex_src/tests/fixtures/large_doc.md +1094 -0
  242. data/ext/apex_ext/apex_src/tests/fixtures/metadata_options.yml +11 -0
  243. data/ext/apex_ext/apex_src/tests/fixtures/output/gfm_header_id_test.md +96 -0
  244. data/ext/apex_ext/apex_src/tests/fixtures/output/test_citations.md +43 -0
  245. data/ext/apex_ext/apex_src/tests/fixtures/output/test_def_list_links.md +12 -0
  246. data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_mmark.md +53 -0
  247. data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_textindex.md +37 -0
  248. data/ext/apex_ext/apex_src/tests/fixtures/tables/advanced_tables_test.md +93 -0
  249. data/ext/apex_ext/apex_src/tests/fixtures/tables/inline_tables_test.md +38 -0
  250. data/ext/apex_ext/apex_src/tests/fixtures/tables/relaxed-table.md +12 -0
  251. data/ext/apex_ext/apex_src/tests/fixtures/tables/table_cr_line_endings.md +15 -0
  252. data/ext/apex_ext/apex_src/tests/fixtures/tables/table_no_trailing_newline.md +15 -0
  253. data/ext/apex_ext/apex_src/tests/generate_gfm_ids.sh +105 -0
  254. data/ext/apex_ext/apex_src/tests/generate_ial_demo.sh +143 -0
  255. data/ext/apex_ext/apex_src/tests/gfm_id_comparison_summary.md +96 -0
  256. data/ext/apex_ext/apex_src/tests/gh_api_test.md +6 -0
  257. data/ext/apex_ext/apex_src/tests/ial_demo.html +186 -0
  258. data/ext/apex_ext/apex_src/tests/include_code.py +19 -0
  259. data/ext/apex_ext/apex_src/tests/include_snippet.md +15 -0
  260. data/ext/apex_ext/apex_src/tests/multi_file_cli_test.sh +64 -0
  261. data/ext/apex_ext/apex_src/tests/sample_data.csv +7 -0
  262. data/ext/apex_ext/apex_src/tests/table_escaped_ltlt.md +4 -0
  263. data/ext/apex_ext/apex_src/tests/test_basic.c +74 -0
  264. data/ext/apex_ext/apex_src/tests/test_extensions.c +2116 -0
  265. data/ext/apex_ext/apex_src/tests/test_helpers.c +183 -0
  266. data/ext/apex_ext/apex_src/tests/test_helpers.h +91 -0
  267. data/ext/apex_ext/apex_src/tests/test_ial.c +282 -0
  268. data/ext/apex_ext/apex_src/tests/test_links.c +418 -0
  269. data/ext/apex_ext/apex_src/tests/test_marked_integration.c +265 -0
  270. data/ext/apex_ext/apex_src/tests/test_metadata.c +908 -0
  271. data/ext/apex_ext/apex_src/tests/test_output.c +1118 -0
  272. data/ext/apex_ext/apex_src/tests/test_plugins.c +219 -0
  273. data/ext/apex_ext/apex_src/tests/test_refs.bib +31 -0
  274. data/ext/apex_ext/apex_src/tests/test_runner.c +244 -0
  275. data/ext/apex_ext/apex_src/tests/test_syntax_highlight.c +198 -0
  276. data/ext/apex_ext/apex_src/tests/test_tables.c +862 -0
  277. data/ext/apex_ext/apex_src/tests/update_benchmarks.sh +9 -0
  278. data/ext/apex_ext/apex_src/tests/yaml_test.md +13 -0
  279. data/ext/apex_ext/apex_src/tests.rb +39 -0
  280. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CMakeLists.txt +48 -0
  281. data/ext/apex_ext/apex_src/vendor/cmark-gfm/COPYING +170 -0
  282. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.c +14 -0
  283. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.cmake +43 -0
  284. data/ext/apex_ext/apex_src/vendor/cmark-gfm/FindAsan.cmake +74 -0
  285. data/ext/apex_ext/apex_src/vendor/cmark-gfm/Makefile.nmake +38 -0
  286. data/ext/apex_ext/apex_src/vendor/cmark-gfm/README.md +206 -0
  287. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/CMakeLists.txt +30 -0
  288. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.cpp +15 -0
  289. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.h +16 -0
  290. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.c +111 -0
  291. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.h +35 -0
  292. data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/main.c +1169 -0
  293. data/ext/apex_ext/apex_src/vendor/cmark-gfm/appveyor.yml +21 -0
  294. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-flat.md +16 -0
  295. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-nested.md +13 -0
  296. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-code.md +11 -0
  297. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-fences.md +14 -0
  298. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-heading.md +9 -0
  299. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-hr.md +10 -0
  300. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-html.md +32 -0
  301. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-lheading.md +8 -0
  302. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-flat.md +67 -0
  303. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-nested.md +36 -0
  304. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-flat.md +15 -0
  305. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-nested.md +17 -0
  306. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-autolink.md +14 -0
  307. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-backticks.md +3 -0
  308. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-flat.md +5 -0
  309. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-nested.md +5 -0
  310. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-worst.md +5 -0
  311. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-entity.md +11 -0
  312. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-escape.md +15 -0
  313. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-html.md +44 -0
  314. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-flat.md +23 -0
  315. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-nested.md +13 -0
  316. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-newlines.md +24 -0
  317. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/lorem1.md +13 -0
  318. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/rawtabs.md +18 -0
  319. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/statistics.py +595 -0
  320. data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/stats.py +19 -0
  321. data/ext/apex_ext/apex_src/vendor/cmark-gfm/benchmarks.md +33 -0
  322. data/ext/apex_ext/apex_src/vendor/cmark-gfm/changelog.txt +1245 -0
  323. data/ext/apex_ext/apex_src/vendor/cmark-gfm/data/CaseFolding.txt +1495 -0
  324. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/CMakeLists.txt +119 -0
  325. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/autolink.c +508 -0
  326. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/autolink.h +8 -0
  327. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/cmark-gfm-core-extensions.h +54 -0
  328. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/core-extensions.c +27 -0
  329. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.c +879 -0
  330. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.h +24 -0
  331. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.re +92 -0
  332. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/strikethrough.c +167 -0
  333. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/strikethrough.h +9 -0
  334. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/table.c +917 -0
  335. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/table.h +12 -0
  336. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/tagfilter.c +60 -0
  337. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/tagfilter.h +8 -0
  338. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/tasklist.c +156 -0
  339. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/tasklist.h +8 -0
  340. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/CMakeLists.txt +22 -0
  341. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/README.md +12 -0
  342. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic.c +91 -0
  343. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic_brackets.c +110 -0
  344. data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzzloop.sh +28 -0
  345. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/CMakeLists.txt +10 -0
  346. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/make_man_page.py +133 -0
  347. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man1/cmark-gfm.1 +78 -0
  348. data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man3/cmark-gfm.3 +1041 -0
  349. data/ext/apex_ext/apex_src/vendor/cmark-gfm/nmake.bat +1 -0
  350. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/CMakeLists.txt +230 -0
  351. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/arena.c +104 -0
  352. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/blocks.c +1622 -0
  353. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/buffer.c +278 -0
  354. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/buffer.h +116 -0
  355. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/case_fold_switch.inc +4327 -0
  356. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/chunk.h +135 -0
  357. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm-extension_api.h +737 -0
  358. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm.h +833 -0
  359. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm_version.h.in +7 -0
  360. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark.c +55 -0
  361. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark_ctype.c +44 -0
  362. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark_ctype.h +33 -0
  363. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/commonmark.c +514 -0
  364. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h.in +76 -0
  365. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/entities.inc +2138 -0
  366. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/footnotes.c +63 -0
  367. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/footnotes.h +27 -0
  368. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/houdini.h +57 -0
  369. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/houdini_href_e.c +100 -0
  370. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/houdini_html_e.c +66 -0
  371. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/houdini_html_u.c +149 -0
  372. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/html.c +502 -0
  373. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/html.h +27 -0
  374. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/inlines.c +1788 -0
  375. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/inlines.h +29 -0
  376. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/iterator.c +159 -0
  377. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/iterator.h +26 -0
  378. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/latex.c +468 -0
  379. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/libcmark-gfm.pc.in +10 -0
  380. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/linked_list.c +37 -0
  381. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/main.c +328 -0
  382. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/man.c +274 -0
  383. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/map.c +129 -0
  384. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/map.h +44 -0
  385. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/node.c +1045 -0
  386. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/node.h +167 -0
  387. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/parser.h +59 -0
  388. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/plaintext.c +218 -0
  389. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/plugin.c +36 -0
  390. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/plugin.h +34 -0
  391. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/references.c +43 -0
  392. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/references.h +26 -0
  393. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/registry.c +63 -0
  394. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/registry.h +24 -0
  395. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/render.c +213 -0
  396. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/render.h +62 -0
  397. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.c +14056 -0
  398. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.h +70 -0
  399. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.re +365 -0
  400. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/syntax_extension.c +149 -0
  401. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/syntax_extension.h +34 -0
  402. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/utf8.c +317 -0
  403. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/utf8.h +35 -0
  404. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/xml.c +182 -0
  405. data/ext/apex_ext/apex_src/vendor/cmark-gfm/suppressions +10 -0
  406. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/CMakeLists.txt +114 -0
  407. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/afl_test_cases/test.md +49 -0
  408. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark-fuzz.c +58 -0
  409. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark.py +105 -0
  410. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/entity_tests.py +67 -0
  411. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-full-info-string.txt +0 -0
  412. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-table-prefer-style-attributes.txt +38 -0
  413. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions.txt +920 -0
  414. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/fuzzing_dictionary +67 -0
  415. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/normalize.py +194 -0
  416. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/pathological_tests.py +160 -0
  417. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/regression.txt +375 -0
  418. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/roundtrip_tests.py +50 -0
  419. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/run-cmark-fuzz +4 -0
  420. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/smart_punct.txt +177 -0
  421. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec.txt +10212 -0
  422. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec_tests.py +152 -0
  423. data/ext/apex_ext/apex_src/vendor/cmark-gfm/toolchain-mingw32.cmake +17 -0
  424. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/Dockerfile +41 -0
  425. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/appveyor-build.bat +13 -0
  426. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/make_entities_inc.py +32 -0
  427. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/mkcasefold.pl +22 -0
  428. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md.xsl +319 -0
  429. data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md_gfm.xsl +80 -0
  430. data/ext/apex_ext/apex_src/vendor/cmark-gfm/why-cmark-and-not-x.md +104 -0
  431. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.js +6 -0
  432. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.py +37 -0
  433. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rb +15 -0
  434. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rkt +208 -0
  435. data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper_ext.py +109 -0
  436. data/ext/apex_ext/apex_src/vendor/libyaml/CMakeLists.txt +160 -0
  437. data/ext/apex_ext/apex_src/vendor/libyaml/Changes +372 -0
  438. data/ext/apex_ext/apex_src/vendor/libyaml/License +20 -0
  439. data/ext/apex_ext/apex_src/vendor/libyaml/Makefile.am +51 -0
  440. data/ext/apex_ext/apex_src/vendor/libyaml/ReadMe.md +46 -0
  441. data/ext/apex_ext/apex_src/vendor/libyaml/announcement.msg +89 -0
  442. data/ext/apex_ext/apex_src/vendor/libyaml/bootstrap +3 -0
  443. data/ext/apex_ext/apex_src/vendor/libyaml/cmake/config.h.in +4 -0
  444. data/ext/apex_ext/apex_src/vendor/libyaml/configure.ac +73 -0
  445. data/ext/apex_ext/apex_src/vendor/libyaml/doc/doxygen.cfg +222 -0
  446. data/ext/apex_ext/apex_src/vendor/libyaml/docker/README.mkd +17 -0
  447. data/ext/apex_ext/apex_src/vendor/libyaml/docker/alpine-3.7 +26 -0
  448. data/ext/apex_ext/apex_src/vendor/libyaml/docker/fedora-25 +26 -0
  449. data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-14.04 +29 -0
  450. data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-16.04 +24 -0
  451. data/ext/apex_ext/apex_src/vendor/libyaml/examples/anchors.yaml +10 -0
  452. data/ext/apex_ext/apex_src/vendor/libyaml/examples/array.yaml +2 -0
  453. data/ext/apex_ext/apex_src/vendor/libyaml/examples/global-tag.yaml +14 -0
  454. data/ext/apex_ext/apex_src/vendor/libyaml/examples/json.yaml +1 -0
  455. data/ext/apex_ext/apex_src/vendor/libyaml/examples/mapping.yaml +2 -0
  456. data/ext/apex_ext/apex_src/vendor/libyaml/examples/numbers.yaml +1 -0
  457. data/ext/apex_ext/apex_src/vendor/libyaml/examples/strings.yaml +7 -0
  458. data/ext/apex_ext/apex_src/vendor/libyaml/examples/tags.yaml +7 -0
  459. data/ext/apex_ext/apex_src/vendor/libyaml/examples/yaml-version.yaml +3 -0
  460. data/ext/apex_ext/apex_src/vendor/libyaml/include/Makefile.am +17 -0
  461. data/ext/apex_ext/apex_src/vendor/libyaml/include/yaml.h +1999 -0
  462. data/ext/apex_ext/apex_src/vendor/libyaml/pkg/ReadMe.md +77 -0
  463. data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/Dockerfile +32 -0
  464. data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/output/ReadMe +1 -0
  465. data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/scripts/libyaml-dist.sh +23 -0
  466. data/ext/apex_ext/apex_src/vendor/libyaml/regression-inputs/clusterfuzz-testcase-minimized-5607885063061504.yml +1 -0
  467. data/ext/apex_ext/apex_src/vendor/libyaml/src/Makefile.am +4 -0
  468. data/ext/apex_ext/apex_src/vendor/libyaml/src/api.c +1393 -0
  469. data/ext/apex_ext/apex_src/vendor/libyaml/src/dumper.c +394 -0
  470. data/ext/apex_ext/apex_src/vendor/libyaml/src/emitter.c +2358 -0
  471. data/ext/apex_ext/apex_src/vendor/libyaml/src/loader.c +544 -0
  472. data/ext/apex_ext/apex_src/vendor/libyaml/src/parser.c +1416 -0
  473. data/ext/apex_ext/apex_src/vendor/libyaml/src/reader.c +469 -0
  474. data/ext/apex_ext/apex_src/vendor/libyaml/src/scanner.c +3598 -0
  475. data/ext/apex_ext/apex_src/vendor/libyaml/src/writer.c +141 -0
  476. data/ext/apex_ext/apex_src/vendor/libyaml/src/yaml_private.h +684 -0
  477. data/ext/apex_ext/apex_src/vendor/libyaml/tests/CMakeLists.txt +27 -0
  478. data/ext/apex_ext/apex_src/vendor/libyaml/tests/Makefile.am +9 -0
  479. data/ext/apex_ext/apex_src/vendor/libyaml/tests/ReadMe.md +63 -0
  480. data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor-alt.c +800 -0
  481. data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor.c +1127 -0
  482. data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter-alt.c +217 -0
  483. data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter.c +202 -0
  484. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-all-tests.sh +29 -0
  485. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-dumper.c +314 -0
  486. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter-test-suite.c +290 -0
  487. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter.c +327 -0
  488. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-loader.c +63 -0
  489. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser-test-suite.c +196 -0
  490. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser.c +88 -0
  491. data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-scanner.c +63 -0
  492. data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-reader.c +354 -0
  493. data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-version.c +29 -0
  494. data/ext/apex_ext/apex_src/vendor/libyaml/yaml-0.1.pc.in +10 -0
  495. data/ext/apex_ext/apex_src/vendor/libyaml/yamlConfig.cmake.in +16 -0
  496. data/ext/apex_ext/extconf.rb +103 -0
  497. data/lib/apex/configurable.rb +46 -0
  498. data/lib/apex/document.rb +66 -0
  499. data/lib/apex/version.rb +15 -0
  500. data/lib/apex.rb +28 -0
  501. metadata +544 -0
@@ -0,0 +1,104 @@
1
+ Why use `cmark` and not X?
2
+ ==========================
3
+
4
+ `hoedown`
5
+ ---------
6
+
7
+ `hoedown` (which derives from `sundown`) is slightly faster
8
+ than `cmark` in our benchmarks (0.21s vs. 0.29s). But both
9
+ are much faster than any other available implementations.
10
+
11
+ `hoedown` boasts of including "protection against all possible
12
+ DOS attacks," but there are some chinks in the armor:
13
+
14
+ % time python -c 'print(("[" * 50000) + "a" + ("]" * 50000))' | cmark
15
+ ...
16
+ user 0m0.073s
17
+ % time python -c 'print(("[" * 50000) + "a" + ("]" * 50000))' | hoedown
18
+ ...
19
+ 0m17.84s
20
+
21
+ `hoedown` has many parsing bugs. Here is a selection (as of
22
+ v3.0.3):
23
+
24
+ % hoedown
25
+ - one
26
+ - two
27
+ 1. three
28
+ ^D
29
+ <ul>
30
+ <li>one
31
+
32
+ <ul>
33
+ <li>two</li>
34
+ <li>three</li>
35
+ </ul></li>
36
+ </ul>
37
+
38
+
39
+ % hoedown
40
+ ## hi\###
41
+ ^D
42
+ <h2>hi\</h2>
43
+
44
+
45
+ % hoedown
46
+ [ΑΓΩ]: /φου
47
+
48
+ [αγω]
49
+ ^D
50
+ <p>[αγω]</p>
51
+
52
+
53
+ % hoedown
54
+ ```
55
+ [foo]: /url
56
+ ```
57
+
58
+ [foo]
59
+ ^D
60
+ <p>```</p>
61
+
62
+ <p>```</p>
63
+
64
+ <p><a href="/url">foo</a></p>
65
+
66
+
67
+ % hoedown
68
+ [foo](url "ti\*tle")
69
+ ^D
70
+ <p><a href="url" title="ti\*tle">foo</a></p>
71
+
72
+
73
+ % ./hoedown
74
+ - one
75
+ - two
76
+ - three
77
+ - four
78
+ ^D
79
+ <ul>
80
+ <li>one
81
+
82
+ <ul>
83
+ <li>two</li>
84
+ <li>three</li>
85
+ <li>four</li>
86
+ </ul></li>
87
+ </ul>
88
+
89
+
90
+ `discount`
91
+ ----------
92
+
93
+ `cmark` is about six times faster.
94
+
95
+ `kramdown`
96
+ ----------
97
+
98
+ `cmark` is about a hundred times faster.
99
+
100
+ `kramdown` also gets tied in knots by pathological input like
101
+
102
+ python -c 'print(("[" * 50000) + "a" + ("]" * 50000))'
103
+
104
+
@@ -0,0 +1,6 @@
1
+
2
+ const cmark = require('node-cmark');
3
+
4
+ const markdown = '# h1 title';
5
+
6
+ cmark.markdown2html(markdown);
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env python
2
+
3
+ # Example for using the shared library from python
4
+ # Will work with either python 2 or python 3
5
+ # Requires cmark library to be installed
6
+
7
+ from ctypes import CDLL, c_char_p, c_long
8
+ import sys
9
+ import platform
10
+
11
+ sysname = platform.system()
12
+
13
+ if sysname == 'Darwin':
14
+ libname = "libcmark.dylib"
15
+ elif sysname == 'Windows':
16
+ libname = "cmark.dll"
17
+ else:
18
+ libname = "libcmark.so"
19
+ cmark = CDLL(libname)
20
+
21
+ markdown = cmark.cmark_markdown_to_html
22
+ markdown.restype = c_char_p
23
+ markdown.argtypes = [c_char_p, c_long, c_long]
24
+
25
+ opts = 0 # defaults
26
+
27
+ def md2html(text):
28
+ if sys.version_info >= (3,0):
29
+ textbytes = text.encode('utf-8')
30
+ textlen = len(textbytes)
31
+ return markdown(textbytes, textlen, opts).decode('utf-8')
32
+ else:
33
+ textbytes = text
34
+ textlen = len(text)
35
+ return markdown(textbytes, textlen, opts)
36
+
37
+ sys.stdout.write(md2html(sys.stdin.read()))
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ require 'ffi'
3
+
4
+ module CMark
5
+ extend FFI::Library
6
+ ffi_lib ['libcmark', 'cmark']
7
+ attach_function :cmark_markdown_to_html, [:string, :int, :int], :string
8
+ end
9
+
10
+ def markdown_to_html(s)
11
+ len = s.bytesize
12
+ CMark::cmark_markdown_to_html(s, len, 0)
13
+ end
14
+
15
+ STDOUT.write(markdown_to_html(ARGF.read()))
@@ -0,0 +1,208 @@
1
+ #lang racket/base
2
+
3
+ ;; requires racket >= 5.3 because of submodules
4
+
5
+ ;; Lowlevel interface
6
+
7
+ (module low-level racket/base
8
+
9
+ (require ffi/unsafe ffi/unsafe/define)
10
+
11
+ (provide (all-defined-out))
12
+
13
+ (define-ffi-definer defcmark (ffi-lib "libcmark"))
14
+
15
+ (define _cmark_node_type
16
+ (_enum '(;; Error status
17
+ none
18
+ ;; Block
19
+ document block-quote list item code-block
20
+ html-block custom-block
21
+ paragraph heading thematic-break
22
+ ;; ?? first-block = document
23
+ ;; ?? last-block = thematic-break
24
+ ;; Inline
25
+ text softbreak linebreak code html-inline custom-inline
26
+ emph strong link image
27
+ ;; ?? first-inline = text
28
+ ;; ?? last-inline = image
29
+ )))
30
+ (define _cmark_list_type
31
+ (_enum '(no_list bullet_list ordered_list)))
32
+ (define _cmark_delim_type
33
+ (_enum '(no_delim period_delim paren_delim)))
34
+ (define _cmark_opts
35
+ (_bitmask
36
+ '(sourcepos = 2 ; include sourcepos attribute on block elements
37
+ hardbreaks = 4 ; render `softbreak` elements as hard line breaks
38
+ safe = 8 ; suppress raw HTML and unsafe links
39
+ nobreaks = 16 ; render `softbreak` elements as spaces
40
+ normalize = 256 ; legacy (no effect)
41
+ validate-utf8 = 512 ; validate UTF-8 in the input
42
+ smart = 1024 ; straight quotes to curly, ---/-- to em/en dashes
43
+ )))
44
+
45
+ (define-cpointer-type _node)
46
+
47
+ (defcmark cmark_markdown_to_html
48
+ (_fun [bs : _bytes] [_int = (bytes-length bs)] _cmark_opts
49
+ -> [r : _bytes] -> (begin0 (bytes->string/utf-8 r) (free r))))
50
+
51
+ (defcmark cmark_parse_document
52
+ (_fun [bs : _bytes] [_int = (bytes-length bs)] _cmark_opts
53
+ -> _node))
54
+
55
+ (defcmark cmark_render_html
56
+ (_fun _node _cmark_opts
57
+ -> [r : _bytes] -> (begin0 (bytes->string/utf-8 r) (free r))))
58
+
59
+ (defcmark cmark_node_new (_fun _cmark_node_type -> _node))
60
+ (defcmark cmark_node_free (_fun _node -> _void))
61
+
62
+ (defcmark cmark_node_next (_fun _node -> _node/null))
63
+ (defcmark cmark_node_previous (_fun _node -> _node/null))
64
+ (defcmark cmark_node_parent (_fun _node -> _node/null))
65
+ (defcmark cmark_node_first_child (_fun _node -> _node/null))
66
+ (defcmark cmark_node_last_child (_fun _node -> _node/null))
67
+
68
+ (defcmark cmark_node_get_user_data (_fun _node -> _racket))
69
+ (defcmark cmark_node_set_user_data (_fun _node _racket -> _bool))
70
+ (defcmark cmark_node_get_type (_fun _node -> _cmark_node_type))
71
+ (defcmark cmark_node_get_type_string (_fun _node -> _bytes))
72
+ (defcmark cmark_node_get_literal (_fun _node -> _string))
73
+ (defcmark cmark_node_set_literal (_fun _node _string -> _bool))
74
+ (defcmark cmark_node_get_heading_level (_fun _node -> _int))
75
+ (defcmark cmark_node_set_heading_level (_fun _node _int -> _bool))
76
+ (defcmark cmark_node_get_list_type (_fun _node -> _cmark_list_type))
77
+ (defcmark cmark_node_set_list_type (_fun _node _cmark_list_type -> _bool))
78
+ (defcmark cmark_node_get_list_delim (_fun _node -> _cmark_delim_type))
79
+ (defcmark cmark_node_set_list_delim (_fun _node _cmark_delim_type -> _bool))
80
+ (defcmark cmark_node_get_list_start (_fun _node -> _int))
81
+ (defcmark cmark_node_set_list_start (_fun _node _int -> _bool))
82
+ (defcmark cmark_node_get_list_tight (_fun _node -> _bool))
83
+ (defcmark cmark_node_set_list_tight (_fun _node _bool -> _bool))
84
+ (defcmark cmark_node_get_fence_info (_fun _node -> _string))
85
+ (defcmark cmark_node_set_fence_info (_fun _node _string -> _bool))
86
+ (defcmark cmark_node_get_url (_fun _node -> _string))
87
+ (defcmark cmark_node_set_url (_fun _node _string -> _bool))
88
+ (defcmark cmark_node_get_title (_fun _node -> _string))
89
+ (defcmark cmark_node_set_title (_fun _node _string -> _bool))
90
+ (defcmark cmark_node_get_start_line (_fun _node -> _int))
91
+ (defcmark cmark_node_get_start_column (_fun _node -> _int))
92
+ (defcmark cmark_node_get_end_line (_fun _node -> _int))
93
+ (defcmark cmark_node_get_end_column (_fun _node -> _int))
94
+
95
+ (defcmark cmark_node_unlink (_fun _node -> _void))
96
+ (defcmark cmark_node_insert_before (_fun _node _node -> _bool))
97
+ (defcmark cmark_node_insert_after (_fun _node _node -> _bool))
98
+ (defcmark cmark_node_prepend_child (_fun _node _node -> _bool))
99
+ (defcmark cmark_node_append_child (_fun _node _node -> _bool))
100
+ (defcmark cmark_consolidate_text_nodes (_fun _node -> _void))
101
+
102
+ (defcmark cmark_version (_fun -> _int))
103
+ (defcmark cmark_version_string (_fun -> _string))
104
+
105
+ )
106
+
107
+ ;; Rackety interface
108
+
109
+ (module high-level racket/base
110
+
111
+ (require (submod ".." low-level) ffi/unsafe)
112
+
113
+ (provide cmark-markdown-to-html)
114
+ (define (cmark-markdown-to-html str [options '(normalize smart)])
115
+ (cmark_markdown_to_html (if (bytes? str) str (string->bytes/utf-8 str))
116
+ options))
117
+
118
+ (require (for-syntax racket/base racket/syntax))
119
+ (define-syntax (make-getter+setter stx)
120
+ (syntax-case stx ()
121
+ [(_ name) (with-syntax ([(getter setter)
122
+ (map (λ(op) (format-id #'name "cmark_node_~a_~a"
123
+ op #'name))
124
+ '(get set))])
125
+ #'(cons getter setter))]))
126
+ (define-syntax-rule (define-getters+setters name [type field ...] ...)
127
+ (define name (list (list 'type (make-getter+setter field) ...) ...)))
128
+ (define-getters+setters getters+setters
129
+ [heading heading_level] [code-block fence_info]
130
+ [link url title] [image url title]
131
+ [list list_type list_delim list_start list_tight])
132
+
133
+ (provide cmark->sexpr)
134
+ (define (cmark->sexpr node)
135
+ (define text (cmark_node_get_literal node))
136
+ (define type (cmark_node_get_type node))
137
+ (define children
138
+ (let loop ([node (cmark_node_first_child node)])
139
+ (if (not node) '()
140
+ (cons (cmark->sexpr node) (loop (cmark_node_next node))))))
141
+ (define info
142
+ (cond [(assq type getters+setters)
143
+ => (λ(gss) (map (λ(gs) ((car gs) node)) (cdr gss)))]
144
+ [else '()]))
145
+ (define (assert-no what-not b)
146
+ (when b (error 'cmark->sexpr "unexpected ~a in ~s" what-not type)))
147
+ (cond [(memq type '(document paragraph heading block-quote list item
148
+ emph strong link image))
149
+ (assert-no 'text text)
150
+ (list type info children)]
151
+ [(memq type '(text code code-block html-block html-inline
152
+ softbreak linebreak thematic-break))
153
+ (assert-no 'children (pair? children))
154
+ (list type info text)]
155
+ [else (error 'cmark->sexpr "unknown type: ~s" type)]))
156
+
157
+ (provide sexpr->cmark)
158
+ (define (sexpr->cmark sexpr) ; assumes valid input, as generated by the above
159
+ (define (loop sexpr)
160
+ (define type (car sexpr))
161
+ (define info (cadr sexpr))
162
+ (define data (caddr sexpr))
163
+ (define node (cmark_node_new type))
164
+ (let ([gss (assq type getters+setters)])
165
+ (when gss
166
+ (unless (= (length (cdr gss)) (length info))
167
+ (error 'sexpr->cmark "bad number of info values in ~s" sexpr))
168
+ (for-each (λ(gs x) ((cdr gs) node x)) (cdr gss) info)))
169
+ (cond [(string? data) (cmark_node_set_literal node data)]
170
+ [(not data) (void)]
171
+ [(list? data)
172
+ (for ([child (in-list data)])
173
+ (cmark_node_append_child node (sexpr->cmark child)))]
174
+ [else (error 'sexpr->cmark "bad data in ~s" sexpr)])
175
+ node)
176
+ (define root (loop sexpr))
177
+ (register-finalizer root cmark_node_free)
178
+ root)
179
+
180
+ ;; Registers a `cmark_node_free` finalizer
181
+ (provide cmark-parse-document)
182
+ (define (cmark-parse-document str [options '(normalize smart)])
183
+ (define root (cmark_parse_document
184
+ (if (bytes? str) str (string->bytes/utf-8 str))
185
+ options))
186
+ (register-finalizer root cmark_node_free)
187
+ root)
188
+
189
+ (provide cmark-render-html)
190
+ (define (cmark-render-html root [options '(normalize smart)])
191
+ (cmark_render_html root options)))
192
+
193
+ #; ;; sample use
194
+ (begin
195
+ (require 'high-level racket/string)
196
+ (cmark-render-html
197
+ (cmark-parse-document
198
+ (string-join '("foo"
199
+ "==="
200
+ ""
201
+ "> blah"
202
+ ">"
203
+ "> blah *blah* `bar()` blah:"
204
+ ">"
205
+ "> function foo() {"
206
+ "> bar();"
207
+ "> }")
208
+ "\n"))))
@@ -0,0 +1,109 @@
1
+ #!/usr/bin/env python
2
+
3
+ #
4
+ # Example for using the shared library from python.
5
+ # Will work with either python 2 or python 3.
6
+ # Requires cmark-gfm and cmark-gfm-extensions libraries to be installed.
7
+ #
8
+ # This particular example uses the GitHub extensions from the gfm-extensions
9
+ # library. EXTENSIONS specifies which to use, and the sample shows how to
10
+ # connect them into a parser.
11
+ #
12
+
13
+ import sys
14
+ import ctypes
15
+
16
+ if sys.platform == 'darwin':
17
+ libname = 'libcmark-gfm.dylib'
18
+ extname = 'libcmark-gfm-extensions.dylib'
19
+ elif sys.platform == 'win32':
20
+ libname = 'cmark-gfm.dll'
21
+ extname = 'cmark-gfm-extensions.dll'
22
+ else:
23
+ libname = 'libcmark-gfm.so'
24
+ extname = 'libcmark-gfm-extensions.so'
25
+ cmark = ctypes.CDLL(libname)
26
+ cmark_ext = ctypes.CDLL(extname)
27
+
28
+ # Options for the GFM rendering call
29
+ OPTS = 0 # defaults
30
+
31
+ # The GFM extensions that we want to use
32
+ EXTENSIONS = (
33
+ 'autolink',
34
+ 'table',
35
+ 'strikethrough',
36
+ 'tagfilter',
37
+ )
38
+
39
+ # Use ctypes to access the functions in libcmark-gfm
40
+
41
+ F_cmark_parser_new = cmark.cmark_parser_new
42
+ F_cmark_parser_new.restype = ctypes.c_void_p
43
+ F_cmark_parser_new.argtypes = (ctypes.c_int,)
44
+
45
+ F_cmark_parser_feed = cmark.cmark_parser_feed
46
+ F_cmark_parser_feed.restype = None
47
+ F_cmark_parser_feed.argtypes = (ctypes.c_void_p, ctypes.c_char_p, ctypes.c_size_t)
48
+
49
+ F_cmark_parser_finish = cmark.cmark_parser_finish
50
+ F_cmark_parser_finish.restype = ctypes.c_void_p
51
+ F_cmark_parser_finish.argtypes = (ctypes.c_void_p,)
52
+
53
+ F_cmark_parser_attach_syntax_extension = cmark.cmark_parser_attach_syntax_extension
54
+ F_cmark_parser_attach_syntax_extension.restype = ctypes.c_int
55
+ F_cmark_parser_attach_syntax_extension.argtypes = (ctypes.c_void_p, ctypes.c_void_p)
56
+
57
+ F_cmark_parser_get_syntax_extensions = cmark.cmark_parser_get_syntax_extensions
58
+ F_cmark_parser_get_syntax_extensions.restype = ctypes.c_void_p
59
+ F_cmark_parser_get_syntax_extensions.argtypes = (ctypes.c_void_p,)
60
+
61
+ F_cmark_parser_free = cmark.cmark_parser_free
62
+ F_cmark_parser_free.restype = None
63
+ F_cmark_parser_free.argtypes = (ctypes.c_void_p,)
64
+
65
+ F_cmark_node_free = cmark.cmark_node_free
66
+ F_cmark_node_free.restype = None
67
+ F_cmark_node_free.argtypes = (ctypes.c_void_p,)
68
+
69
+ F_cmark_find_syntax_extension = cmark.cmark_find_syntax_extension
70
+ F_cmark_find_syntax_extension.restype = ctypes.c_void_p
71
+ F_cmark_find_syntax_extension.argtypes = (ctypes.c_char_p,)
72
+
73
+ F_cmark_render_html = cmark.cmark_render_html
74
+ F_cmark_render_html.restype = ctypes.c_char_p
75
+ F_cmark_render_html.argtypes = (ctypes.c_void_p, ctypes.c_int, ctypes.c_void_p)
76
+
77
+
78
+ # Set up the libcmark-gfm library and its extensions
79
+ F_register = cmark_ext.cmark_gfm_core_extensions_ensure_registered
80
+ F_register.restype = None
81
+ F_register.argtypes = ( )
82
+ F_register()
83
+
84
+
85
+ def md2html(text):
86
+ "Use cmark-gfm to render the Markdown into an HTML fragment."
87
+
88
+ parser = F_cmark_parser_new(OPTS)
89
+ assert parser
90
+ for name in EXTENSIONS:
91
+ ext = F_cmark_find_syntax_extension(name)
92
+ assert ext
93
+ rv = F_cmark_parser_attach_syntax_extension(parser, ext)
94
+ assert rv
95
+ exts = F_cmark_parser_get_syntax_extensions(parser)
96
+
97
+ F_cmark_parser_feed(parser, text, len(text))
98
+ doc = F_cmark_parser_finish(parser)
99
+ assert doc
100
+
101
+ output = F_cmark_render_html(doc, OPTS, exts)
102
+
103
+ F_cmark_parser_free(parser)
104
+ F_cmark_node_free(doc)
105
+
106
+ return output
107
+
108
+
109
+ sys.stdout.write(md2html(sys.stdin.read()))
@@ -0,0 +1,160 @@
1
+
2
+ cmake_minimum_required(VERSION 3.0)
3
+ project (yaml C)
4
+
5
+ set (YAML_VERSION_MAJOR 0)
6
+ set (YAML_VERSION_MINOR 2)
7
+ set (YAML_VERSION_PATCH 5)
8
+ set (YAML_VERSION_STRING "${YAML_VERSION_MAJOR}.${YAML_VERSION_MINOR}.${YAML_VERSION_PATCH}")
9
+
10
+ option(BUILD_SHARED_LIBS "Build libyaml as a shared library" OFF)
11
+ set(YAML_STATIC_LIB_NAME "yaml" CACHE STRING "Base name of static library output")
12
+
13
+ #
14
+ # Output directories for a build tree
15
+ #
16
+ if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
17
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
18
+ endif()
19
+
20
+ #
21
+ # Install relative directories
22
+ #
23
+ if(NOT DEFINED INSTALL_LIB_DIR)
24
+ set(INSTALL_LIB_DIR lib)
25
+ endif()
26
+ if(NOT DEFINED INSTALL_BIN_DIR)
27
+ set(INSTALL_BIN_DIR bin)
28
+ endif()
29
+ if(NOT DEFINED INSTALL_INCLUDE_DIR)
30
+ set(INSTALL_INCLUDE_DIR include)
31
+ endif()
32
+ if(NOT DEFINED INSTALL_CMAKE_DIR)
33
+ set(INSTALL_CMAKE_DIR cmake)
34
+ endif()
35
+
36
+ #
37
+ # Build library
38
+ #
39
+ set(SRCS
40
+ src/api.c
41
+ src/dumper.c
42
+ src/emitter.c
43
+ src/loader.c
44
+ src/parser.c
45
+ src/reader.c
46
+ src/scanner.c
47
+ src/writer.c
48
+ )
49
+
50
+ set(config_h ${CMAKE_CURRENT_BINARY_DIR}/include/config.h)
51
+ configure_file(
52
+ cmake/config.h.in
53
+ ${config_h}
54
+ )
55
+
56
+ add_library(yaml ${SRCS})
57
+
58
+ if(NOT BUILD_SHARED_LIBS)
59
+ set_target_properties(yaml
60
+ PROPERTIES OUTPUT_NAME ${YAML_STATIC_LIB_NAME}
61
+ )
62
+ endif()
63
+
64
+ set_target_properties(yaml
65
+ PROPERTIES DEFINE_SYMBOL YAML_DECLARE_EXPORT
66
+ )
67
+
68
+ target_compile_definitions(yaml
69
+ PRIVATE HAVE_CONFIG_H
70
+ PUBLIC
71
+ $<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:YAML_DECLARE_STATIC>
72
+ $<$<BOOL:${MSVC}>:_CRT_SECURE_NO_WARNINGS>
73
+ )
74
+
75
+ target_include_directories(yaml PUBLIC
76
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
77
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
78
+ $<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR}>
79
+ )
80
+
81
+ #
82
+ # Install rules
83
+ #
84
+ install(
85
+ FILES
86
+ include/yaml.h
87
+ DESTINATION include COMPONENT Development
88
+ )
89
+
90
+ install(
91
+ TARGETS yaml
92
+ EXPORT yamlTargets
93
+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT Runtime
94
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT Development
95
+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT Development
96
+ )
97
+
98
+ #
99
+ # Add tests
100
+ #
101
+ include(CTest) # This module defines BUILD_TESTING option
102
+ if(BUILD_TESTING)
103
+ add_subdirectory(tests)
104
+ endif()
105
+
106
+ #
107
+ # Generate 'yamlConfig.cmake', 'yamlConfigVersion.cmake' and 'yamlTargets.cmake'
108
+ #
109
+ include(CMakePackageConfigHelpers)
110
+
111
+ # Configure 'yamlConfig.cmake' for a build tree
112
+ set(CONFIG_DIR_CONFIG ${PROJECT_BINARY_DIR})
113
+ set(config_file ${PROJECT_BINARY_DIR}/yamlConfig.cmake)
114
+ configure_package_config_file(
115
+ yamlConfig.cmake.in
116
+ ${config_file}
117
+ INSTALL_DESTINATION ${PROJECT_BINARY_DIR}
118
+ PATH_VARS CONFIG_DIR_CONFIG
119
+ NO_CHECK_REQUIRED_COMPONENTS_MACRO
120
+ )
121
+
122
+ # Configure 'yamlTargets.cmake' for a build tree
123
+ export(TARGETS yaml
124
+ FILE ${PROJECT_BINARY_DIR}/yamlTargets.cmake
125
+ )
126
+
127
+ # Configure and install 'yamlConfig.cmake' for an install tree
128
+ set(CONFIG_DIR_CONFIG ${INSTALL_CMAKE_DIR})
129
+ set(install_config_file ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/yamlConfig.cmake )
130
+ configure_package_config_file(
131
+ yamlConfig.cmake.in
132
+ ${install_config_file}
133
+ INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR}
134
+ PATH_VARS CONFIG_DIR_CONFIG
135
+ NO_CHECK_REQUIRED_COMPONENTS_MACRO
136
+ )
137
+ install(
138
+ FILES ${install_config_file}
139
+ DESTINATION ${INSTALL_CMAKE_DIR} COMPONENT Development
140
+ )
141
+
142
+ # Configure and install 'yamlTargets.cmake' for an install tree
143
+ install(EXPORT yamlTargets
144
+ FILE yamlTargets.cmake
145
+ DESTINATION ${INSTALL_CMAKE_DIR}
146
+ COMPONENT Development
147
+ )
148
+
149
+ # Configure 'yamlConfigVersion.cmake' for a build tree
150
+ set(config_version_file ${PROJECT_BINARY_DIR}/yamlConfigVersion.cmake)
151
+ write_basic_package_version_file(
152
+ ${config_version_file}
153
+ VERSION ${YAML_VERSION_STRING}
154
+ COMPATIBILITY AnyNewerVersion
155
+ )
156
+ # ... and install for an install tree
157
+ install(
158
+ FILES ${config_version_file}
159
+ DESTINATION ${INSTALL_CMAKE_DIR} COMPONENT Development
160
+ )