apex-ruby 1.0.17 → 1.0.20

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 (207) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -3
  3. data/ext/apex_ext/apex_ext.c +260 -91
  4. data/ext/apex_ext/apex_src/CHANGELOG.md +440 -0
  5. data/ext/apex_ext/apex_src/CMakeLists.txt +15 -1
  6. data/ext/apex_ext/apex_src/Formula/apex.rb +7 -2
  7. data/ext/apex_ext/apex_src/Package.swift +15 -4
  8. data/ext/apex_ext/apex_src/README.md +94 -35
  9. data/ext/apex_ext/apex_src/VERSION +1 -1
  10. data/ext/apex_ext/apex_src/apex-debug.log +4 -0
  11. data/ext/apex_ext/apex_src/apex.code-workspace +38 -0
  12. data/ext/apex_ext/apex_src/apex.taskpaper +12 -0
  13. data/ext/apex_ext/apex_src/apex_deflist_debug.log +25 -0
  14. data/ext/apex_ext/apex_src/buildnotes.md +1435 -0
  15. data/ext/apex_ext/apex_src/cli/main.c +262 -33
  16. data/ext/apex_ext/apex_src/debug.log +7 -0
  17. data/ext/apex_ext/apex_src/docs/CITATIONS_EXAMPLES.md +274 -0
  18. data/ext/apex_ext/apex_src/docs/CITATIONS_IMPLEMENTATION_PLAN.md +749 -0
  19. data/ext/apex_ext/apex_src/docs/CITATIONS_PLAN.md +744 -0
  20. data/ext/apex_ext/apex_src/docs/INDEX_IMPLEMENTATION_ANALYSIS.md +382 -0
  21. data/ext/apex_ext/apex_src/docs/plans/2025-02-27-man-page-output-implementation.md +351 -0
  22. data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-12-toc-output-format.md +745 -0
  23. data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-18-bear-image-attributes.md +829 -0
  24. data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-19-apex-node-npm.md +1148 -0
  25. data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-12-toc-output-format-design.md +161 -0
  26. data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-18-bear-image-attributes-design.md +184 -0
  27. data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-19-apex-node-npm-design.md +211 -0
  28. data/ext/apex_ext/apex_src/documentation/app-settings-table.md +67 -0
  29. data/ext/apex_ext/apex_src/documentation/app-transformed/Citations.md +340 -0
  30. data/ext/apex_ext/apex_src/documentation/app-transformed/Credits.md +11 -0
  31. data/ext/apex_ext/apex_src/documentation/app-transformed/Header-IDs.md +234 -0
  32. data/ext/apex_ext/apex_src/documentation/app-transformed/Inline-Attribute-Lists.md +516 -0
  33. data/ext/apex_ext/apex_src/documentation/app-transformed/Metadata-Transforms.md +461 -0
  34. data/ext/apex_ext/apex_src/documentation/app-transformed/Modes.md +193 -0
  35. data/ext/apex_ext/apex_src/documentation/app-transformed/Multi-File-Documents.md +201 -0
  36. data/ext/apex_ext/apex_src/documentation/app-transformed/Plugins.md +678 -0
  37. data/ext/apex_ext/apex_src/documentation/app-transformed/Syntax.md +1367 -0
  38. data/ext/apex_ext/apex_src/documentation/docsets/Apex Command Line Options.cheatsheet.txt +6 -0
  39. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/C-API.html +774 -300
  40. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Callouts.html +1194 -0
  41. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Citations.html +416 -216
  42. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Command-Line-Options.html +3544 -1094
  43. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Configuration.html +371 -97
  44. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Credits.html +153 -23
  45. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Examples.html +358 -124
  46. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Filters.html +1656 -0
  47. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Generating-Man-Pages.html +1226 -0
  48. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Getting-Started.html +201 -56
  49. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Header-IDs.html +279 -109
  50. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Home.html +200 -53
  51. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Indices.html +2327 -0
  52. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Inline-Attribute-Lists.html +690 -271
  53. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Installation.html +201 -55
  54. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Limitations-and-Roadmap.html +238 -68
  55. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Metadata-Transforms.html +421 -221
  56. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Modes.html +340 -78
  57. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-File-Documents.html +251 -86
  58. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-Format-Images.html +1362 -0
  59. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Pandoc-Integration.html +277 -90
  60. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Plugins.html +673 -346
  61. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Quarto-Mode.html +1405 -0
  62. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Rendering-Markdown-In-Terminal.html +1902 -0
  63. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Syntax.html +1939 -1698
  64. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Tables.html +1781 -0
  65. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Troubleshooting.html +315 -140
  66. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Usage.html +307 -113
  67. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Using-Apex-with-Jekyll.html +1132 -0
  68. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Writing-Tests.html +1754 -0
  69. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Xcode-Integration.html +872 -376
  70. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/docSet.dsidx +0 -0
  71. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
  72. data/ext/apex_ext/apex_src/documentation/html/apex-app-docs.html +8746 -0
  73. data/ext/apex_ext/apex_src/documentation/shared_styles.css +20 -15
  74. data/ext/apex_ext/apex_src/documentation/transform_for_app.md +55 -0
  75. data/ext/apex_ext/apex_src/escaping-repro.md +103 -0
  76. data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/Info.plist +8 -0
  77. data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/QuickLook/Preview.png +0 -0
  78. data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/document.wflow +547 -0
  79. data/ext/apex_ext/apex_src/examples/quick-actions/Markdown-to-RTF.workflow.zip +0 -0
  80. data/ext/apex_ext/apex_src/examples/quick-actions/README.md +33 -0
  81. data/ext/apex_ext/apex_src/include/apex/apex.h +92 -6
  82. data/ext/apex_ext/apex_src/include/apex/ast_rtf.h +23 -0
  83. data/ext/apex_ext/apex_src/include/apex/ast_terminal.h +6 -0
  84. data/ext/apex_ext/apex_src/include/apex/module.modulemap +5 -0
  85. data/ext/apex_ext/apex_src/include/apex/plugins.h +105 -0
  86. data/ext/apex_ext/apex_src/include/apexc.h +1 -0
  87. data/ext/apex_ext/apex_src/man/apex.1 +82 -78
  88. data/ext/apex_ext/apex_src/man/apex.1.md +81 -4
  89. data/ext/apex_ext/apex_src/objc/Apex.swift +73 -0
  90. data/ext/apex_ext/apex_src/objc/ApexPlugins.swift +79 -0
  91. data/ext/apex_ext/apex_src/objc/NSString+Apex.h +83 -5
  92. data/ext/apex_ext/apex_src/objc/NSString+Apex.m +244 -1
  93. data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.h +76 -0
  94. data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.m +169 -0
  95. data/ext/apex_ext/apex_src/output.html +87 -0
  96. data/ext/apex_ext/apex_src/plans/quarto-mode.md +442 -0
  97. data/ext/apex_ext/apex_src/src/_README.md +85 -32
  98. data/ext/apex_ext/apex_src/src/apex.c +770 -200
  99. data/ext/apex_ext/apex_src/src/ast_rtf.c +848 -0
  100. data/ext/apex_ext/apex_src/src/ast_terminal.c +184 -7
  101. data/ext/apex_ext/apex_src/src/extensions/abbreviations.c +10 -3
  102. data/ext/apex_ext/apex_src/src/extensions/advanced_tables.c +7 -11
  103. data/ext/apex_ext/apex_src/src/extensions/bear_image_attrs.c +467 -0
  104. data/ext/apex_ext/apex_src/src/extensions/bear_image_attrs.h +27 -0
  105. data/ext/apex_ext/apex_src/src/extensions/callouts.c +400 -4
  106. data/ext/apex_ext/apex_src/src/extensions/callouts.h +15 -5
  107. data/ext/apex_ext/apex_src/src/extensions/citations.c +26 -5
  108. data/ext/apex_ext/apex_src/src/extensions/code_fence_attrs.c +632 -0
  109. data/ext/apex_ext/apex_src/src/extensions/code_fence_attrs.h +22 -0
  110. data/ext/apex_ext/apex_src/src/extensions/concordance.c +632 -0
  111. data/ext/apex_ext/apex_src/src/extensions/definition_list.c +129 -15
  112. data/ext/apex_ext/apex_src/src/extensions/grid_tables.c +1050 -121
  113. data/ext/apex_ext/apex_src/src/extensions/html_markdown.c +569 -16
  114. data/ext/apex_ext/apex_src/src/extensions/ial.c +502 -52
  115. data/ext/apex_ext/apex_src/src/extensions/ial.h +2 -1
  116. data/ext/apex_ext/apex_src/src/extensions/includes.c +532 -33
  117. data/ext/apex_ext/apex_src/src/extensions/includes.h +7 -1
  118. data/ext/apex_ext/apex_src/src/extensions/index.c +1427 -140
  119. data/ext/apex_ext/apex_src/src/extensions/index.h +28 -0
  120. data/ext/apex_ext/apex_src/src/extensions/metadata.c +200 -161
  121. data/ext/apex_ext/apex_src/src/extensions/quarto_diagrams.c +251 -0
  122. data/ext/apex_ext/apex_src/src/extensions/quarto_diagrams.h +22 -0
  123. data/ext/apex_ext/apex_src/src/extensions/quarto_lists.c +624 -0
  124. data/ext/apex_ext/apex_src/src/extensions/quarto_lists.h +35 -0
  125. data/ext/apex_ext/apex_src/src/extensions/quarto_polish.c +264 -0
  126. data/ext/apex_ext/apex_src/src/extensions/quarto_polish.h +23 -0
  127. data/ext/apex_ext/apex_src/src/extensions/quarto_shortcodes.c +307 -0
  128. data/ext/apex_ext/apex_src/src/extensions/quarto_shortcodes.h +21 -0
  129. data/ext/apex_ext/apex_src/src/extensions/raw_content.c +351 -0
  130. data/ext/apex_ext/apex_src/src/extensions/raw_content.h +20 -0
  131. data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.c +117 -3
  132. data/ext/apex_ext/apex_src/src/extensions/special_markers.c +53 -0
  133. data/ext/apex_ext/apex_src/src/extensions/syntax_highlight.c +23 -1
  134. data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.c +83 -92
  135. data/ext/apex_ext/apex_src/src/extensions/toc.c +446 -25
  136. data/ext/apex_ext/apex_src/src/extensions/toc.h +26 -1
  137. data/ext/apex_ext/apex_src/src/extensions/wiki_links.c +28 -0
  138. data/ext/apex_ext/apex_src/src/html_renderer.c +387 -17
  139. data/ext/apex_ext/apex_src/src/plugin_catalog.c +517 -0
  140. data/ext/apex_ext/apex_src/src/plugins_remote.c +88 -14
  141. data/ext/apex_ext/apex_src/src/plugins_remote.h +34 -0
  142. data/ext/apex_ext/apex_src/src/pretty_html.c +6 -1
  143. data/ext/apex_ext/apex_src/tests/fixtures/comprehensive_test.md +21 -0
  144. data/ext/apex_ext/apex_src/tests/fixtures/images/bear_image_attributes.md +10 -0
  145. data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.md +19 -0
  146. data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.txt +11 -0
  147. data/ext/apex_ext/apex_src/tests/fixtures/minimal_pb.md +2 -0
  148. data/ext/apex_ext/apex_src/tests/fixtures/obsidian-callouts.md +46 -0
  149. data/ext/apex_ext/apex_src/tests/fixtures/pagebreak_html_repro.md +5 -0
  150. data/ext/apex_ext/apex_src/tests/fixtures/python-callouts.md +47 -0
  151. data/ext/apex_ext/apex_src/tests/fixtures/quarto/callouts.md +3 -0
  152. data/ext/apex_ext/apex_src/tests/fixtures/quarto/code-attrs.md +3 -0
  153. data/ext/apex_ext/apex_src/tests/fixtures/quarto/diagrams.md +8 -0
  154. data/ext/apex_ext/apex_src/tests/fixtures/quarto/lists.md +19 -0
  155. data/ext/apex_ext/apex_src/tests/fixtures/quarto/raw-content.md +5 -0
  156. data/ext/apex_ext/apex_src/tests/fixtures/quarto/shortcodes.md +7 -0
  157. data/ext/apex_ext/apex_src/tests/fixtures/quarto/smoke.md +81 -0
  158. data/ext/apex_ext/apex_src/tests/fixtures/quarto/spans.md +5 -0
  159. data/ext/apex_ext/apex_src/tests/fixtures/quarto-callouts.md +47 -0
  160. data/ext/apex_ext/apex_src/tests/fixtures/speed.md +192 -0
  161. data/ext/apex_ext/apex_src/tests/fixtures/tables/grid-tables.md +37 -0
  162. data/ext/apex_ext/apex_src/tests/paginate_cli_test.sh +16 -0
  163. data/ext/apex_ext/apex_src/tests/test_bear_image_attrs.c +301 -0
  164. data/ext/apex_ext/apex_src/tests/test_concordance.tsv +4 -0
  165. data/ext/apex_ext/apex_src/tests/test_escaping_repro.c +82 -0
  166. data/ext/apex_ext/apex_src/tests/test_extensions.c +821 -1
  167. data/ext/apex_ext/apex_src/tests/test_ial.c +7 -0
  168. data/ext/apex_ext/apex_src/tests/test_marked_integration.c +25 -0
  169. data/ext/apex_ext/apex_src/tests/test_metadata.c +129 -0
  170. data/ext/apex_ext/apex_src/tests/test_output.c +568 -2
  171. data/ext/apex_ext/apex_src/tests/test_runner.c +11 -0
  172. data/ext/apex_ext/apex_src/tests/test_tables.c +420 -0
  173. data/ext/apex_ext/apex_src/vendor/cmark-gfm/CMakeLists.txt +1 -1
  174. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/autolink.c +77 -1
  175. data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/table.c +135 -5
  176. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/blocks.c +56 -1
  177. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h +38 -0
  178. data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/main.c +1 -1
  179. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/__pycache__/cmark.cpython-314.pyc +0 -0
  180. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/__pycache__/normalize.cpython-314.pyc +0 -0
  181. data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions.txt +69 -0
  182. data/ext/apex_ext/apex_src/xcode_build/CMakeScripts/ReRunCMake.make +74 -0
  183. data/ext/apex_ext/apex_src/xcode_build/CTestTestfile.cmake +22 -0
  184. data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/Apex +0 -0
  185. data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/Resources/Info.plist +44 -0
  186. data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/_CodeSignature/CodeResources +128 -0
  187. data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.pbxproj +5118 -0
  188. data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
  189. data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcuserdata/ttscoff.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  190. data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcuserdata/ttscoff.xcuserdatad/WorkspaceSettings.xcsettings +8 -0
  191. data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/xcuserdata/ttscoff.xcuserdatad/xcschemes/xcschememanagement.plist +99 -0
  192. data/ext/apex_ext/apex_src/xcode_build/cmake_install.cmake +452 -0
  193. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/CMakeScripts/ReRunCMake.make +52 -0
  194. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmake_install.cmake +55 -0
  195. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.pbxproj +2455 -0
  196. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
  197. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/extensions/cmake_install.cmake +171 -0
  198. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/man/cmake_install.cmake +55 -0
  199. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmake_install.cmake +220 -0
  200. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_export.h +43 -0
  201. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_version.h +7 -0
  202. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/config.h +76 -0
  203. data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/libcmark-gfm.pc +10 -0
  204. data/ext/apex_ext/extconf.rb +35 -0
  205. data/lib/apex/version.rb +2 -2
  206. metadata +117 -2
  207. data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/tempOptimizedIndex.dsidx +0 -0
@@ -5,8 +5,97 @@
5
5
 
6
6
  <meta charset="UTF-8">
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
- <meta name="generator" content="Apex 0.1.49">
8
+ <meta name="generator" content="Apex 1.1.12">
9
9
  <title>Document</title>
10
+ <style>
11
+ /* GitHub-style syntax highlighting for Pygments and Skylighting */
12
+ /* Don't apply background to wrapper when code highlighting is enabled - let default styles handle it */
13
+ .code-highlighted .highlight, .code-highlighted .sourceCode { background: inherit; border-radius: 6px; padding: 16px; overflow-x: auto; }
14
+ .highlight pre, .sourceCode pre { margin: 0; padding: 0; background: transparent; }
15
+ .highlight code, .sourceCode code { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; font-size: 12px; line-height: 1.45; }
16
+ /* Pygments classes */
17
+ .highlight .k { color: #d73a49; font-weight: 600; } /* Keyword */
18
+ .highlight .kt { color: #d73a49; } /* Keyword.Type */
19
+ .highlight .kd { color: #d73a49; font-weight: 600; } /* Keyword.Declaration */
20
+ .highlight .kn { color: #d73a49; } /* Keyword.Namespace */
21
+ .highlight .kp { color: #d73a49; } /* Keyword.Pseudo */
22
+ .highlight .kr { color: #d73a49; font-weight: 600; } /* Keyword.Reserved */
23
+ .highlight .n { color: #6f42c1; } /* Name */
24
+ .highlight .na { color: #6f42c1; } /* Name.Attribute */
25
+ .highlight .nc { color: #6f42c1; font-weight: 600; } /* Name.Class */
26
+ .highlight .no { color: #005cc5; } /* Name.Constant */
27
+ .highlight .nd { color: #6f42c1; font-weight: 600; } /* Name.Decorator */
28
+ .highlight .ni { color: #800080; } /* Name.Entity */
29
+ .highlight .ne { color: #990000; font-weight: 600; } /* Name.Exception */
30
+ .highlight .nf { color: #6f42c1; font-weight: 600; } /* Name.Function */
31
+ .highlight .nl { color: #6f42c1; } /* Name.Label */
32
+ .highlight .nn { color: #555; } /* Name.Namespace */
33
+ .highlight .nt { color: #22863a; } /* Name.Tag */
34
+ .highlight .nv { color: #e36209; } /* Name.Variable */
35
+ .highlight .s { color: #032f62; } /* String */
36
+ .highlight .sb { color: #032f62; } /* String.Backtick */
37
+ .highlight .sc { color: #032f62; } /* String.Char */
38
+ .highlight .sd { color: #032f62; } /* String.Doc */
39
+ .highlight .s2 { color: #032f62; } /* String.Double */
40
+ .highlight .se { color: #032f62; } /* String.Escape */
41
+ .highlight .sh { color: #032f62; } /* String.Heredoc */
42
+ .highlight .si { color: #032f62; } /* String.Interpol */
43
+ .highlight .sx { color: #032f62; } /* String.Other */
44
+ .highlight .sr { color: #032f62; } /* String.Regex */
45
+ .highlight .s1 { color: #032f62; } /* String.Single */
46
+ .highlight .ss { color: #032f62; } /* String.Symbol */
47
+ .highlight .c { color: #6a737d; font-style: italic; } /* Comment */
48
+ .highlight .c1 { color: #6a737d; font-style: italic; } /* Comment.Single */
49
+ .highlight .cm { color: #6a737d; font-style: italic; } /* Comment.Multiline */
50
+ .highlight .cp { color: #6a737d; font-weight: 600; } /* Comment.Preproc */
51
+ .highlight .cs { color: #6a737d; font-weight: 600; font-style: italic; } /* Comment.Special */
52
+ .highlight .m { color: #005cc5; } /* Literal.Number */
53
+ .highlight .mb { color: #005cc5; } /* Literal.Number.Bin */
54
+ .highlight .mf { color: #005cc5; } /* Literal.Number.Float */
55
+ .highlight .mh { color: #005cc5; } /* Literal.Number.Hex */
56
+ .highlight .mi { color: #005cc5; } /* Literal.Number.Integer */
57
+ .highlight .il { color: #005cc5; } /* Literal.Number.Integer.Long */
58
+ .highlight .mo { color: #005cc5; } /* Literal.Number.Oct */
59
+ .highlight .o { color: #d73a49; } /* Operator */
60
+ .highlight .ow { color: #d73a49; } /* Operator.Word */
61
+ .highlight .p { color: #24292e; } /* Punctuation */
62
+ .highlight .w { color: #e1e4e8; } /* Text.Whitespace */
63
+ /* Skylighting classes */
64
+ .sourceCode .kw { color: #d73a49; font-weight: 600; } /* Keyword */
65
+ .sourceCode .dt { color: #6f42c1; } /* DataType */
66
+ .sourceCode .dv { color: #005cc5; } /* DecVal */
67
+ .sourceCode .bn { color: #005cc5; } /* BaseN */
68
+ .sourceCode .fl { color: #005cc5; } /* Float */
69
+ .sourceCode .ch { color: #032f62; } /* Char */
70
+ .sourceCode .st { color: #032f62; } /* String */
71
+ .sourceCode .co { color: #6a737d; font-style: italic; } /* Comment */
72
+ .sourceCode .ot { color: #22863a; } /* Other */
73
+ .sourceCode .al { color: #e36209; font-weight: 600; } /* Alert */
74
+ .sourceCode .fu { color: #6f42c1; font-weight: 600; } /* Function */
75
+ .sourceCode .re { color: #032f62; } /* RegionMarker */
76
+ .sourceCode .er { color: #d73a49; font-weight: 600; } /* Error */
77
+ .sourceCode .cf { color: #d73a49; font-weight: 600; } /* ControlFlow */
78
+ .sourceCode .op { color: #d73a49; } /* Operator */
79
+ .sourceCode .pp { color: #6a737d; } /* Preprocessor */
80
+ .sourceCode .at { color: #005cc5; } /* Attribute */
81
+ .sourceCode .do { color: #6a737d; font-style: italic; } /* Documentation */
82
+ .sourceCode .an { color: #6a737d; font-weight: 600; } /* Annotation */
83
+ .sourceCode .cv { color: #6a737d; font-weight: 600; font-style: italic; } /* CommentVar */
84
+ .sourceCode .in { color: #6a737d; } /* Information */
85
+ .sourceCode .wa { color: #e36209; font-weight: 600; } /* Warning */
86
+ .sourceCode .im { color: #d73a49; } /* Import */
87
+ .sourceCode .bu { color: #005cc5; } /* BuiltIn */
88
+ .sourceCode .ex { color: #6f42c1; } /* Extension */
89
+ .sourceCode .va { color: #e36209; } /* Variable */
90
+ .sourceCode .ss { color: #032f62; } /* SpecialString */
91
+ .sourceCode .sc { color: #032f62; } /* SpecialChar */
92
+ .sourceCode .vs { color: #032f62; } /* VerbatimString */
93
+ .sourceCode .il { color: #005cc5; } /* Special */
94
+ /* Line numbers (Skylighting) */
95
+ .sourceCode.numberSource .sourceCode { counter-reset: line; }
96
+ .sourceCode.numberSource .sourceCode > span { position: relative; left: -4em; counter-increment: line; }
97
+ .sourceCode.numberSource .sourceCode > span > a:first-child::before { content: counter(line); position: relative; left: -1em; text-align: right; vertical-align: baseline; border: none; display: inline-block; min-width: 1em; padding-right: 0.5em; color: #aaa; }
98
+ </style>
10
99
  <style>
11
100
  body {
12
101
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
@@ -35,10 +124,52 @@
35
124
  ins { background: #d4fcbc; text-decoration: none; }
36
125
  del { background: #fbb6c2; text-decoration: line-through; }
37
126
  mark { background: #fff3cd; }
127
+ .smallcaps { font-variant: small-caps; }
128
+ .underline { text-decoration: underline; }
129
+ span.mark { background: #fff3cd; }
130
+ .hidden { display: none; }
131
+ .quarto-xref { font-variant: normal; }
38
132
  .critic.comment { background: #e7e7e7; color: #666; font-style: italic; }
133
+ .mkhashtag { color: #666; }
134
+ .mkstyledtag {
135
+ display: inline-block;
136
+ background: #e0e0e0;
137
+ padding: 3px 9px;
138
+ border-radius: 20px;
139
+ font-size: 0.9em;
140
+ line-height: 1.4;
141
+ color: #333;
142
+ margin: 0 2px;
143
+ }
39
144
  </style>
145
+ <meta name="paginate" content="symbols"/>
146
+ <meta name="highlight-language-only" content="true"/>
147
+ <meta name="code-line-numbers" content="false"/>
148
+ <meta name="code-highlight" content="pygments"/>
149
+ <meta name="sup-sub" content="true"/>
150
+ <meta name="relaxed-tables" content="true"/>
151
+ <meta name="includes" content="true"/>
152
+ <meta name="autolink" content="true"/>
153
+ <meta name="pretty" content="false"/>
154
+ <meta name="standalone" content="false"/>
155
+ <meta name="mode" content="unified"/>
156
+ <meta name="markdown-in-html" content="true"/>
157
+ <meta name="image-captions" content="true"/>
158
+ <meta name="wikilink-extension" content="html"/>
159
+ <meta name="wikilink-space" content="hyphen"/>
160
+ <meta name="wikilinks" content="true"/>
161
+ <meta name="widont" content="true"/>
162
+ <meta name="plugins" content="true"/>
163
+ <meta name="id-format" content="gfm"/>
164
+
40
165
  <style>
41
- /* Base styles */
166
+ :root {
167
+ /* border-box width of the fixed sidebar; body offset includes a small gap */
168
+ --sidebar-width: 250px;
169
+ --sidebar-offset: 270px;
170
+ }
171
+
172
+ /* Base styles — override Apex standalone centering (max-width + margin: auto) */
42
173
  body {
43
174
  -webkit-font-smoothing: antialiased;
44
175
  -moz-osx-font-smoothing: grayscale;
@@ -48,6 +179,11 @@ body {
48
179
  line-height: 1.65;
49
180
  color: #1e293b;
50
181
  background-color: #fff;
182
+ max-width: none;
183
+ width: auto;
184
+ margin: 2rem 2rem 2rem var(--sidebar-offset);
185
+ padding: 0 1rem;
186
+ box-sizing: border-box;
51
187
  }
52
188
 
53
189
  /* Sidebar / Main TOC - wider on larger screens */
@@ -56,9 +192,10 @@ body {
56
192
  position: fixed;
57
193
  left: 0;
58
194
  top: 0;
59
- width: auto;
60
- min-width: 180px;
61
- max-width: 250px;
195
+ box-sizing: border-box;
196
+ width: var(--sidebar-width);
197
+ min-width: var(--sidebar-width);
198
+ max-width: var(--sidebar-width);
62
199
  height: 100vh;
63
200
  overflow-y: auto;
64
201
  background: #1e293b;
@@ -67,7 +204,6 @@ body {
67
204
  padding: 24px 20px 130px;
68
205
  font-size: 14px;
69
206
  z-index: 100;
70
- margin-right: 1rem;
71
207
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.08);
72
208
  transition: transform 0.3s ease;
73
209
  }
@@ -116,11 +252,6 @@ body {
116
252
  font-weight: 500;
117
253
  }
118
254
 
119
- /* Body margin for sidebar */
120
- body {
121
- margin-left: 270px;
122
- }
123
-
124
255
  /* Hamburger menu button */
125
256
  .hamburger-menu {
126
257
  display: none;
@@ -136,6 +267,7 @@ body {
136
267
  color: rgba(255, 255, 255, 0.9);
137
268
  font-size: 20px;
138
269
  line-height: 1;
270
+ box-sizing: border-box;
139
271
  width: 44px;
140
272
  height: 44px;
141
273
  align-items: center;
@@ -153,9 +285,7 @@ body {
153
285
 
154
286
  /* Move hamburger to the right of the sidebar when menu is open */
155
287
  .hamburger-menu.active {
156
- left: calc(
157
- 250px + 12px
158
- ); /* Position just to the right of sidebar (max-width 250px + 12px padding) */
288
+ left: calc(var(--sidebar-width) + 12px);
159
289
  }
160
290
 
161
291
  .hamburger-menu.active {
@@ -251,7 +381,7 @@ body {
251
381
  .floating-toc {
252
382
  position: fixed;
253
383
  top: 0;
254
- left: 270px;
384
+ left: var(--sidebar-offset);
255
385
  right: 0;
256
386
  z-index: 50;
257
387
  opacity: 0;
@@ -677,7 +807,7 @@ ol ul {
677
807
  }
678
808
 
679
809
  body {
680
- margin-left: 0;
810
+ margin: 2rem 1rem;
681
811
  }
682
812
 
683
813
  .floating-toc {
@@ -687,7 +817,7 @@ ol ul {
687
817
 
688
818
  </style></head>
689
819
 
690
- <body>
820
+ <body class="code-highlighted">
691
821
  <div class="floating-toc" id="floating-toc">
692
822
  <div class="floating-toc-container">
693
823
  <div class="floating-toc-header">
@@ -702,12 +832,12 @@ ol ul {
702
832
  <button class="hamburger-menu" id="hamburger-menu" aria-label="Toggle navigation"></button>
703
833
  <div class="mobile-menu-overlay" id="mobile-menu-overlay"></div>
704
834
 
705
- <nav class="main-toc"><ul><li><a href="Home.html">Home</a></li><li><a href="Getting-Started.html">Getting Started</a></li><li><a href="Installation.html">Installation</a></li><li><a href="Usage.html">Usage</a></li><li><a href="Syntax.html">Syntax</a></li><li><a href="Inline-Attribute-Lists.html">Inline Attribute Lists</a></li><li><a href="Modes.html">Modes</a></li><li><a href="Command-Line-Options.html">Command Line Options</a></li><li><a href="Multi-File-Documents.html">Multi-file Documents</a></li><li><a href="Citations.html">Citations</a></li><li><a href="Metadata-Transforms.html">Metadata Transforms</a></li><li><a href="Pandoc-Integration.html">Integrating with Pandoc</a></li><li><a href="Header-IDs.html">Header IDs</a></li><li><a href="C-API.html">C API</a></li><li><a href="Xcode-Integration.html">Xcode Integration</a></li><li><a href="Examples.html">Examples</a></li><li><a href="Plugins.html">Plugins</a></li><li><a href="Troubleshooting.html">Troubleshooting</a></li><li><a href="Credits.html">Credits</a></li></ul></nav>
835
+ <nav class="main-toc"><ul><li><a href="Home.html">Home</a></li><li><a href="Getting-Started.html">Getting Started</a></li><li><a href="Installation.html">Installation</a></li><li><a href="Usage.html">Usage</a></li><li><a href="Syntax.html">Syntax</a></li><li><a href="Callouts.html">Callouts</a></li><li><a href="Tables.html">Tables</a></li><li><a href="Inline-Attribute-Lists.html">Inline Attribute Lists</a></li><li><a href="Modes.html">Modes</a></li><li><a href="Quarto-Mode.html">Quarto Mode</a></li><li><a href="Command-Line-Options.html">Command Line Options</a></li><li><a href="Rendering-Markdown-In-Terminal.html">Rendering Markdown in the Terminal</a></li><li><a href="Generating-Man-Pages.html">Generating Man Pages</a></li><li><a href="Multi-File-Documents.html">Multi-file Documents</a></li><li><a href="Citations.html">Citations</a></li><li><a href="Indices.html">Indices</a></li><li><a href="Metadata-Transforms.html">Metadata Transforms</a></li><li><a href="Pandoc-Integration.html">Integrating with Pandoc</a></li><li><a href="Using-Apex-with-Jekyll.html">Using Apex with Jekyll</a></li><li><a href="Header-IDs.html">Header IDs</a></li><li><a href="C-API.html">C API</a></li><li><a href="Writing-Tests.html">Writing Tests</a></li><li><a href="Xcode-Integration.html">Xcode Integration</a></li><li><a href="Examples.html">Examples</a></li><li><a href="Plugins.html">Plugins</a></li><li><a href="Filters.html">Filters</a></li><li><a href="Troubleshooting.html">Troubleshooting</a></li><li><a href="Credits.html">Credits</a></li></ul></nav>
706
836
 
707
837
  <h1 id="configuration">
708
838
  Configuration
709
839
  </h1>
710
- <nav class="page-toc" id="page-toc-top"><ul><li><a href="#configuration">Configuration</a><ul><li><a href="#configuration-sources">Configuration sources</a></li><li><a href="#global-config-file-configyml">Global config file: config.yml</a><ul><li><a href="#example-configyml">Example config.yml</a></li></ul></li><li><a href="#reusable-config-files-with-meta-file">Reusable config files with --meta-file</a><ul><li><a href="#example-project-config-project-defaultsyml">Example project config (project-defaults.yml)</a></li></ul></li><li><a href="#per-document-metadata">Per-document metadata</a><ul><li><a href="#yaml-front-matter-example">YAML front matter example</a></li><li><a href="#multimarkdown-metadata-example">MultiMarkdown metadata example</a></li></ul></li><li><a href="#precedence-and-merging">Precedence and merging</a></li><li><a href="#available-configuration-keys">Available configuration keys</a><ul><li><a href="#boolean-options">Boolean options</a></li><li><a href="#string-options">String options</a></li></ul></li><li><a href="#putting-it-all-together">Putting it all together</a></li></ul></li></ul></nav>
840
+ <nav class="page-toc" id="page-toc-top"><ul><li><a href="#configuration">Configuration</a><ul><li><a href="#configuration-sources">Configuration&nbsp;sources</a></li><li><a href="#global-config-file-configyml">Global config file:&nbsp;config.yml</a><ul><li><a href="#example-configyml">Example&nbsp;config.yml</a></li></ul></li><li><a href="#project-config-file-apexconfigyml">Project config file:&nbsp;.apex/config.yml</a></li><li><a href="#reusable-config-files-with-meta-file">Reusable config files with&nbsp;--meta-file</a><ul><li><a href="#example-project-config-project-defaultsyml">Example project config&nbsp;(project-defaults.yml)</a></li></ul></li><li><a href="#per-document-metadata">Per-document&nbsp;metadata</a><ul><li><a href="#yaml-front-matter-example">YAML front matter&nbsp;example</a></li><li><a href="#multimarkdown-metadata-example">MultiMarkdown metadata&nbsp;example</a></li></ul></li><li><a href="#precedence-and-merging">Precedence and&nbsp;merging</a></li><li><a href="#available-configuration-keys">Available configuration&nbsp;keys</a><ul><li><a href="#boolean-options">Boolean&nbsp;options</a></li><li><a href="#string-options">String&nbsp;options</a></li></ul></li><li><a href="#putting-it-all-together">Putting it all&nbsp;together</a></li></ul></li></ul></nav>
711
841
 
712
842
  <p>
713
843
  Apex offers a flexible configuration system so you can define defaults once and reuse them across many documents, while still allowing per-document and per-invocation overrides.
@@ -747,17 +877,17 @@ ol ul {
747
877
 
748
878
  <hr />
749
879
  <h2 id="configuration-sources">
750
- Configuration sources
880
+ Configuration&nbsp;sources
751
881
  </h2>
752
882
 
753
883
  <p>
754
- Apex can read configuration from three main places:
884
+ Apex can read configuration from four main places:
755
885
  </p>
756
886
 
757
887
  <ol>
758
888
 
759
889
  <li>
760
- <strong> Global configuration file</strong>
890
+ <strong>Global configuration file</strong>
761
891
  <ul>
762
892
 
763
893
  <li>
@@ -768,8 +898,36 @@ ol ul {
768
898
  <code>~/.config/apex/config.yml</code> when <code>XDG_CONFIG_HOME</code> is not set
769
899
  </li>
770
900
 
901
+ </ul>
902
+
903
+ </li>
904
+
905
+ <li>
906
+ <strong>Project configuration file</strong>
907
+ <ul>
908
+
909
+ <li>
910
+ <code>.apex/config.yml</code> in your project
911
+ </li>
912
+
771
913
  <li>
772
- Loaded <strong>automatically</strong> when present if you do <strong>not</strong> pass <code>--meta-file</code>
914
+ Searched in this order:
915
+ <ul>
916
+
917
+ <li>
918
+ Current working directory: <code>./.apex/config.yml</code>
919
+ </li>
920
+
921
+ <li>
922
+ <code>--base-dir DIR</code>: <code>DIR/.apex/config.yml</code>
923
+ </li>
924
+
925
+ <li>
926
+ Git repository root (when inside a work tree): <code>&lt;git-root&gt;/.apex/config.yml</code>
927
+ </li>
928
+
929
+ </ul>
930
+
773
931
  </li>
774
932
 
775
933
  </ul>
@@ -777,7 +935,7 @@ ol ul {
777
935
  </li>
778
936
 
779
937
  <li>
780
- <strong> External metadata files</strong>
938
+ <strong>External metadata files</strong>
781
939
  <ul>
782
940
 
783
941
  <li>
@@ -793,7 +951,7 @@ ol ul {
793
951
  </li>
794
952
 
795
953
  <li>
796
- <strong> Per-document metadata</strong>
954
+ <strong>Per-document metadata</strong>
797
955
  <ul>
798
956
 
799
957
  <li>
@@ -816,11 +974,11 @@ ol ul {
816
974
 
817
975
  <hr />
818
976
  <h2 id="global-config-file-configyml">
819
- Global config file: <code>config.yml</code>
977
+ Global config file:&nbsp;<code>config.yml</code>
820
978
  </h2>
821
979
 
822
980
  <p>
823
- When you run <code>apex</code> <strong>without</strong> an explicit <code>--meta-file</code>, Apex will check for a global configuration file named <code>config.yml</code> in an XDG-aware location:
981
+ When you run <code>apex</code>, Apex will check for a global configuration file named <code>config.yml</code> in an XDG-aware location:
824
982
  </p>
825
983
 
826
984
  <ul>
@@ -852,7 +1010,7 @@ ol ul {
852
1010
  </ul>
853
1011
 
854
1012
  <p>
855
- If the file exists, Apex loads it <strong>as if you had passed it via <code>--meta-file</code></strong>, and merges its metadata with the document and any <code>--meta</code> command-line metadata using the normal precedence rules (see below).
1013
+ If the file exists, Apex loads it and merges its metadata with any project config, explicit <code>--meta-file</code>, document metadata, and <code>--meta</code> command-line metadata using the normal precedence rules (see below).
856
1014
  </p>
857
1015
 
858
1016
  <p>
@@ -880,95 +1038,139 @@ ol ul {
880
1038
  </ul>
881
1039
 
882
1040
  <h3 id="example-configyml">
883
- Example <code>config.yml</code>
1041
+ Example&nbsp;<code>config.yml</code>
884
1042
  </h3>
885
1043
 
886
- <pre><code class="highlight language-yaml"><span class="nn">---</span>
1044
+ <div class="highlight">
1045
+ <pre><span></span><span class="nn">---</span>
887
1046
  <span class="c1"># Default processor mode and output style</span>
888
- <span class="na">mode</span><span class="pi">:</span> <span class="s">unified</span>
889
- <span class="na">standalone</span><span class="pi">:</span> <span class="kc">true</span>
890
- <span class="na">pretty</span><span class="pi">:</span> <span class="kc">true</span>
1047
+ <span class="nt">mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">unified</span>
1048
+ <span class="nt">standalone</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
1049
+ <span class="nt">pretty</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
891
1050
 
892
1051
  <span class="c1"># Locale and quotation style</span>
893
- <span class="na">language</span><span class="pi">:</span> <span class="s">en</span>
894
- <span class="na">quoteslanguage</span><span class="pi">:</span> <span class="s">english</span>
1052
+ <span class="nt">language</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">en</span>
1053
+ <span class="nt">quoteslanguage</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">english</span>
895
1054
 
896
1055
  <span class="c1"># Common feature flags</span>
897
- <span class="na">autolink</span><span class="pi">:</span> <span class="kc">true</span>
898
- <span class="na">includes</span><span class="pi">:</span> <span class="kc">true</span>
899
- <span class="na">relaxed-tables</span><span class="pi">:</span> <span class="kc">true</span>
900
- <span class="na">sup-sub</span><span class="pi">:</span> <span class="kc">true</span>
1056
+ <span class="nt">autolink</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
1057
+ <span class="nt">includes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
1058
+ <span class="nt">relaxed-tables</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
1059
+ <span class="nt">sup-sub</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
901
1060
 
902
1061
  <span class="c1"># Index and bibliography defaults</span>
903
- <span class="na">indices</span><span class="pi">:</span> <span class="kc">true</span>
904
- <span class="na">group-index-by-letter</span><span class="pi">:</span> <span class="kc">true</span>
905
- <span class="na">bibliography</span><span class="pi">:</span> <span class="s">references.bib</span>
906
- <span class="na">csl</span><span class="pi">:</span> <span class="s">apa.csl</span>
1062
+ <span class="nt">indices</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
1063
+ <span class="nt">group-index-by-letter</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
1064
+ <span class="nt">bibliography</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">references.bib</span>
1065
+ <span class="nt">csl</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">apa.csl</span>
1066
+
1067
+ <span class="c1"># Syntax highlighting (optional)</span>
1068
+ <span class="nt">code-highlight</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pygments</span>
1069
+ <span class="nt">code-line-numbers</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
1070
+ <span class="nt">highlight-language-only</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
907
1071
  <span class="nn">---</span>
908
- </code></pre>
1072
+ </pre>
1073
+ </div>
909
1074
 
910
1075
  <p>
911
1076
  With this configuration in place, a simple command like:
912
1077
  </p>
913
1078
 
914
- <pre><code class="highlight language-bash">apex document.md
915
- </code></pre>
1079
+ <div class="highlight">
1080
+ <pre><span></span>apex<span class="w"> </span>document.md
1081
+ </pre>
1082
+ </div>
916
1083
 
917
1084
  <p>
918
1085
  will automatically use your global defaults. You can then override any of them with per-document metadata or CLI flags when needed.
919
1086
  </p>
920
1087
 
1088
+ <hr />
1089
+ <h2 id="project-config-file-apexconfigyml">
1090
+ Project config file:&nbsp;<code>.apex/config.yml</code>
1091
+ </h2>
1092
+
1093
+ <p>
1094
+ For <strong>project-level defaults</strong>, you can add a <code>.apex/config.yml</code> file to your project. Apex will look for the first existing file in this order:
1095
+ </p>
1096
+
1097
+ <ol>
1098
+
1099
+ <li>
1100
+ <code>./.apex/config.yml</code> (current working directory)
1101
+ </li>
1102
+
1103
+ <li>
1104
+ <code>BASE/.apex/config.yml</code> when you pass <code>--base-dir BASE</code>
1105
+ </li>
1106
+
1107
+ <li>
1108
+ <code>&lt;git-root&gt;/.apex/config.yml</code> when the current directory is inside a Git work tree
1109
+ </li>
1110
+
1111
+ </ol>
1112
+
1113
+ <p>
1114
+ If found, Apex merges the project config <strong>on top of</strong> the global config, so project keys override global ones while still inheriting unspecified global defaults.
1115
+ </p>
1116
+
921
1117
  <hr />
922
1118
  <h2 id="reusable-config-files-with-meta-file">
923
- Reusable config files with <code>--meta-file</code>
1119
+ Reusable config files with&nbsp;<code>--meta-file</code>
924
1120
  </h2>
925
1121
 
926
1122
  <p>
927
- For <strong>project-specific</strong> or <strong>task-specific</strong> configurations, use <code>--meta-file</code> to point to a reusable metadata file:
1123
+ For additional <strong>project-specific</strong> or <strong>task-specific</strong> configurations, use <code>--meta-file</code> to point to a reusable metadata file:
928
1124
  </p>
929
1125
 
930
- <pre><code class="highlight language-bash">apex document.md <span class="nt">--meta-file</span> project-defaults.yml
931
- </code></pre>
1126
+ <div class="highlight">
1127
+ <pre><span></span>apex<span class="w"> </span>document.md<span class="w"> </span>--meta-file<span class="w"> </span>project-defaults.yml
1128
+ </pre>
1129
+ </div>
932
1130
 
933
1131
  <p>
934
1132
  These files use the same metadata keys as <code>config.yml</code> and document front matter.
935
1133
  </p>
936
1134
 
937
1135
  <h3 id="example-project-config-project-defaultsyml">
938
- Example project config (<code>project-defaults.yml</code>)
1136
+ Example project config&nbsp;(<code>project-defaults.yml</code>)
939
1137
  </h3>
940
1138
 
941
- <pre><code class="highlight language-yaml"><span class="nn">---</span>
942
- <span class="na">mode</span><span class="pi">:</span> <span class="s">unified</span>
943
- <span class="na">standalone</span><span class="pi">:</span> <span class="kc">true</span>
944
- <span class="na">pretty</span><span class="pi">:</span> <span class="kc">true</span>
1139
+ <div class="highlight">
1140
+ <pre><span></span><span class="nn">---</span>
1141
+ <span class="nt">mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">unified</span>
1142
+ <span class="nt">standalone</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
1143
+ <span class="nt">pretty</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
945
1144
 
946
1145
  <span class="c1"># Project-specific bibliography</span>
947
- <span class="na">bibliography</span><span class="pi">:</span> <span class="s">project-refs.bib</span>
948
- <span class="na">csl</span><span class="pi">:</span> <span class="s">chicago-note-bibliography.csl</span>
1146
+ <span class="nt">bibliography</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">project-refs.bib</span>
1147
+ <span class="nt">csl</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">chicago-note-bibliography.csl</span>
949
1148
 
950
1149
  <span class="c1"># Enable wiki links and relaxed tables for this project</span>
951
- <span class="na">wikilinks</span><span class="pi">:</span> <span class="kc">true</span>
952
- <span class="na">relaxed-tables</span><span class="pi">:</span> <span class="kc">true</span>
1150
+ <span class="nt">wikilinks</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
1151
+ <span class="nt">relaxed-tables</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
953
1152
  <span class="nn">---</span>
954
- </code></pre>
1153
+ </pre>
1154
+ </div>
955
1155
 
956
1156
  <p>
957
1157
  You can reuse the same <code>project-defaults.yml</code> for many documents:
958
1158
  </p>
959
1159
 
960
- <pre><code class="highlight language-bash">apex chapter1.md <span class="nt">--meta-file</span> project-defaults.yml
961
- apex chapter2.md <span class="nt">--meta-file</span> project-defaults.yml
962
- apex appendix.md <span class="nt">--meta-file</span> project-defaults.yml
963
- </code></pre>
1160
+ <div class="highlight">
1161
+ <pre><span></span>apex<span class="w"> </span>chapter1.md<span class="w"> </span>--meta-file<span class="w"> </span>project-defaults.yml
1162
+ apex<span class="w"> </span>chapter2.md<span class="w"> </span>--meta-file<span class="w"> </span>project-defaults.yml
1163
+ apex<span class="w"> </span>appendix.md<span class="w"> </span>--meta-file<span class="w"> </span>project-defaults.yml
1164
+ </pre>
1165
+ </div>
964
1166
 
965
1167
  <p>
966
- If a global <code>config.yml</code> is also present, the <strong>explicit</strong> <code>--meta-file</code> still participates as the “file metadata” layer; precedence is determined by the rules below.
1168
+ If global and/or project config files are also present, the <strong>explicit</strong> <code>--meta-file</code> is merged on top of them; overall precedence is determined by the rules below.
967
1169
  </p>
968
1170
 
969
1171
  <hr />
970
1172
  <h2 id="per-document-metadata">
971
- Per-document metadata
1173
+ Per-document&nbsp;metadata
972
1174
  </h2>
973
1175
 
974
1176
  <p>
@@ -976,31 +1178,34 @@ apex appendix.md <span class="nt">--meta-file</span> project-defaults.yml
976
1178
  </p>
977
1179
 
978
1180
  <h3 id="yaml-front-matter-example">
979
- YAML front matter example
1181
+ YAML front matter&nbsp;example
980
1182
  </h3>
981
1183
 
982
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
983
- <span class="na">title</span><span class="pi">:</span> <span class="s">My Research Paper</span>
984
- <span class="na">author</span><span class="pi">:</span> <span class="s">Jane Doe</span>
985
- <span class="na">mode</span><span class="pi">:</span> <span class="s">unified</span>
986
- <span class="na">standalone</span><span class="pi">:</span> <span class="kc">true</span>
987
- <span class="na">pretty</span><span class="pi">:</span> <span class="kc">true</span>
988
- <span class="na">indices</span><span class="pi">:</span> <span class="kc">false</span>
989
- <span class="na">wikilinks</span><span class="pi">:</span> <span class="kc">true</span>
990
- <span class="na">bibliography</span><span class="pi">:</span> <span class="s">references.bib</span>
991
- <span class="na">language</span><span class="pi">:</span> <span class="s">en</span>
992
- <span class="na">quoteslanguage</span><span class="pi">:</span> <span class="s">english</span>
993
- <span class="nn">---</span>
1184
+ <div class="highlight">
1185
+ <pre><span></span>---
1186
+ title: My Research Paper
1187
+ author: Jane Doe
1188
+ mode: unified
1189
+ standalone: true
1190
+ pretty: true
1191
+ indices: false
1192
+ wikilinks: true
1193
+ bibliography: references.bib
1194
+ language: en
1195
+ <span class="gu">quoteslanguage: english</span>
1196
+ <span class="gu">---</span>
994
1197
 
995
1198
  <span class="gh"># Introduction</span>
996
1199
  ...
997
- </code></pre>
1200
+ </pre>
1201
+ </div>
998
1202
 
999
1203
  <h3 id="multimarkdown-metadata-example">
1000
- MultiMarkdown metadata example
1204
+ MultiMarkdown metadata&nbsp;example
1001
1205
  </h3>
1002
1206
 
1003
- <pre><code class="highlight language-markdown">Title: My Research Paper
1207
+ <div class="highlight">
1208
+ <pre><span></span>Title: My Research Paper
1004
1209
  Author: Jane Doe
1005
1210
  Mode: unified
1006
1211
  Standalone: true
@@ -1013,7 +1218,8 @@ Quotes Language: english
1013
1218
 
1014
1219
  <span class="gh"># Introduction</span>
1015
1220
  ...
1016
- </code></pre>
1221
+ </pre>
1222
+ </div>
1017
1223
 
1018
1224
  <p>
1019
1225
  Apex normalizes keys (case-insensitive, ignores spaces and dashes), so <code>Quotes Language</code>, <code>quoteslanguage</code>, and <code>quotes-language</code> are treated equivalently.
@@ -1021,7 +1227,7 @@ Quotes Language: english
1021
1227
 
1022
1228
  <hr />
1023
1229
  <h2 id="precedence-and-merging">
1024
- Precedence and merging
1230
+ Precedence and&nbsp;merging
1025
1231
  </h2>
1026
1232
 
1027
1233
  <p>
@@ -1031,11 +1237,15 @@ Quotes Language: english
1031
1237
  <ol>
1032
1238
 
1033
1239
  <li>
1034
- <strong> File metadata</strong> (lowest precedence)
1240
+ <strong>File metadata</strong> (lowest precedence)
1035
1241
  <ul>
1036
1242
 
1037
1243
  <li>
1038
- Global <code>config.yml</code> if present and no explicit <code>--meta-file</code> was given
1244
+ Global <code>config.yml</code> (if present)
1245
+ </li>
1246
+
1247
+ <li>
1248
+ Project <code>.apex/config.yml</code> (if present)
1039
1249
  </li>
1040
1250
 
1041
1251
  <li>
@@ -1047,7 +1257,7 @@ Quotes Language: english
1047
1257
  </li>
1048
1258
 
1049
1259
  <li>
1050
- <strong> Document metadata</strong>
1260
+ <strong>Document metadata</strong>
1051
1261
  <ul>
1052
1262
 
1053
1263
  <li>
@@ -1059,7 +1269,7 @@ Quotes Language: english
1059
1269
  </li>
1060
1270
 
1061
1271
  <li>
1062
- <strong> Command-line metadata</strong>
1272
+ <strong>Command-line metadata</strong>
1063
1273
  <ul>
1064
1274
 
1065
1275
  <li>
@@ -1071,7 +1281,7 @@ Quotes Language: english
1071
1281
  </li>
1072
1282
 
1073
1283
  <li>
1074
- <strong> Command-line flags</strong>
1284
+ <strong>Command-line flags</strong>
1075
1285
  <ul>
1076
1286
 
1077
1287
  <li>
@@ -1110,7 +1320,7 @@ Quotes Language: english
1110
1320
 
1111
1321
  <hr />
1112
1322
  <h2 id="available-configuration-keys">
1113
- Available configuration keys
1323
+ Available configuration&nbsp;keys
1114
1324
  </h2>
1115
1325
 
1116
1326
  <p>
@@ -1118,7 +1328,7 @@ Quotes Language: english
1118
1328
  </p>
1119
1329
 
1120
1330
  <h3 id="boolean-options">
1121
- Boolean options
1331
+ Boolean&nbsp;options
1122
1332
  </h3>
1123
1333
 
1124
1334
  <p>
@@ -1142,7 +1352,7 @@ Quotes Language: english
1142
1352
  </ul>
1143
1353
 
1144
1354
  <p>
1145
- <strong> Supported boolean keys include:</strong>
1355
+ <strong>Supported boolean keys include:</strong>
1146
1356
  </p>
1147
1357
 
1148
1358
  <ul>
@@ -1163,6 +1373,10 @@ Quotes Language: english
1163
1373
  <code>relaxed-tables</code> – Enable relaxed table parsing
1164
1374
  </li>
1165
1375
 
1376
+ <li>
1377
+ <code>per-cell-alignment</code> – Enable per-cell alignment markers (colons at start/end of cells)
1378
+ </li>
1379
+
1166
1380
  <li>
1167
1381
  <code>alpha-lists</code> – Enable alphabetic list markers
1168
1382
  </li>
@@ -1255,10 +1469,58 @@ Quotes Language: english
1255
1469
  <code>plugins</code> – Enable plugin processing for this document (see <a href="Plugins.html">Plugins</a>)
1256
1470
  </li>
1257
1471
 
1472
+ <li>
1473
+ <code>code-line-numbers</code> – Include line numbers in syntax-highlighted code blocks
1474
+ </li>
1475
+
1476
+ <li>
1477
+ <code>highlight-language-only</code> – Only highlight code blocks that have a language specified
1478
+ </li>
1479
+
1480
+ <li>
1481
+ <code>widont</code> – Prevent short widows in headings by inserting non-breaking spaces between trailing words
1482
+ </li>
1483
+
1484
+ <li>
1485
+ <code>code-is-poetry</code> – Treat code blocks without a language as poetry (adds <code>poetry</code> class, implies <code>highlight-language-only</code>)
1486
+ </li>
1487
+
1488
+ <li>
1489
+ <code>markdown-in-html</code> – Enable markdown processing inside HTML blocks with markdown attributes
1490
+ </li>
1491
+
1492
+ <li>
1493
+ <code>random-footnote-ids</code> – Use hash-based footnote IDs to avoid collisions when combining documents
1494
+ </li>
1495
+
1496
+ <li>
1497
+ <code>hashtags</code> – Convert <code>#tags</code> into span-wrapped hashtags
1498
+ </li>
1499
+
1500
+ <li>
1501
+ <code>style-hashtags</code> – Use <code>mkstyledtag</code> class instead of <code>mkhashtag</code> for hashtags
1502
+ </li>
1503
+
1504
+ <li>
1505
+ <code>proofreader</code> – Treat <code>==highlight==</code> and <code>~~delete~~</code> as CriticMarkup syntax
1506
+ </li>
1507
+
1508
+ <li>
1509
+ <code>hr-page-break</code> – Replace <code>&lt;hr&gt;</code> elements with Marked-style page break divs
1510
+ </li>
1511
+
1512
+ <li>
1513
+ <code>title-from-h1</code> – Use the first H1 as document title when none is specified
1514
+ </li>
1515
+
1516
+ <li>
1517
+ <code>page-break-before-footnotes</code> – Insert a page break before the footnotes section
1518
+ </li>
1519
+
1258
1520
  </ul>
1259
1521
 
1260
1522
  <h3 id="string-options">
1261
- String options
1523
+ String&nbsp;options
1262
1524
  </h3>
1263
1525
 
1264
1526
  <p>
@@ -1375,6 +1637,18 @@ Quotes Language: english
1375
1637
 
1376
1638
  </li>
1377
1639
 
1640
+ <li>
1641
+ <code>code-highlight</code>
1642
+ <ul>
1643
+
1644
+ <li>
1645
+ External syntax highlighting tool: <code>pygments</code> (or <code>p</code>/<code>pyg</code>), <code>skylighting</code> (or <code>s</code>/<code>sky</code>), or <code>false</code>/<code>none</code> to disable
1646
+ </li>
1647
+
1648
+ </ul>
1649
+
1650
+ </li>
1651
+
1378
1652
  </ul>
1379
1653
 
1380
1654
  <p>
@@ -1383,7 +1657,7 @@ Quotes Language: english
1383
1657
 
1384
1658
  <hr />
1385
1659
  <h2 id="putting-it-all-together">
1386
- Putting it all together
1660
+ Putting it all&nbsp;together
1387
1661
  </h2>
1388
1662
 
1389
1663
  <p>
@@ -1393,15 +1667,15 @@ Quotes Language: english
1393
1667
  <ol>
1394
1668
 
1395
1669
  <li>
1396
- <strong> Global defaults</strong> in <code>config.yml</code> for your overall writing style and locale.
1670
+ <strong>Global defaults</strong> in <code>config.yml</code> for your overall writing style and locale.
1397
1671
  </li>
1398
1672
 
1399
1673
  <li>
1400
- <strong> Project config</strong> via <code>--meta-file project.yml</code> for bibliography and project-specific settings.
1674
+ <strong>Project config</strong> via <code>--meta-file project.yml</code> for bibliography and project-specific settings.
1401
1675
  </li>
1402
1676
 
1403
1677
  <li>
1404
- <strong> Per-document metadata</strong> for title, author, and any exceptions to the defaults.
1678
+ <strong>Per-document metadata</strong> for title, author, and any exceptions to the defaults.
1405
1679
  </li>
1406
1680
 
1407
1681
  <li>