apex-ruby 1.0.18 → 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,19 +832,19 @@ 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="metadata-transforms">
708
- Metadata Transforms
838
+ Metadata&nbsp;Transforms
709
839
  </h1>
710
- <nav class="page-toc" id="page-toc-top"><ul><li><a href="#metadata-transforms">Metadata Transforms</a><ul><li><a href="#metadata-sources">Metadata Sources</a></li><li><a href="#basic-usage">Basic Usage</a></li><li><a href="#enabling-transforms">Enabling Transforms</a></li><li><a href="#case-transforms">Case Transforms</a><ul><li><a href="#upper">upper</a></li><li><a href="#lower">lower</a></li><li><a href="#title">title</a></li><li><a href="#capitalize">capitalize</a></li></ul></li><li><a href="#string-manipulation">String Manipulation</a><ul><li><a href="#trim">trim</a></li><li><a href="#slug-slugify">slug / slugify</a></li><li><a href="#replaceoldnew-replaceregexpatternreplacement">replace(OLD,NEW) / replace(regex:PATTERN,REPLACEMENT)</a></li><li><a href="#substringstartend-substrstartend">substring(START,END) / substr(START,END)</a></li><li><a href="#truncatelengthsuffix">truncate(LENGTH,SUFFIX)</a></li><li><a href="#reverse">reverse</a></li></ul></li><li><a href="#array-transforms">Array Transforms</a><ul><li><a href="#splitdelimiter">split(DELIMITER)</a></li><li><a href="#joindelimiter">join(DELIMITER)</a></li><li><a href="#first">first</a></li><li><a href="#last">last</a></li><li><a href="#slicestartlength">slice(START,LENGTH)</a></li></ul></li><li><a href="#utility-transforms">Utility Transforms</a><ul><li><a href="#defaultvalue">default(VALUE)</a></li><li><a href="#escape-htmlescape">escape / html_escape</a></li><li><a href="#basename">basename</a></li><li><a href="#urlencode">urlencode</a></li><li><a href="#urldecode">urldecode</a></li><li><a href="#prefixvalue">prefix(VALUE)</a></li><li><a href="#suffixvalue">suffix(VALUE)</a></li><li><a href="#removestring">remove(STRING)</a></li><li><a href="#repeatcount">repeat(COUNT)</a></li></ul></li><li><a href="#formatting-transforms">Formatting Transforms</a><ul><li><a href="#formatformatstring">format(FORMAT_STRING)</a></li><li><a href="#length">length</a></li><li><a href="#padwidthchar">pad(WIDTH,CHAR)</a></li><li><a href="#containsstring">contains(STRING)</a></li></ul></li><li><a href="#datetime-transforms">Date/Time Transforms</a><ul><li><a href="#strftimeformat">strftime(FORMAT)</a></li></ul></li><li><a href="#transform-chaining">Transform Chaining</a></li><li><a href="#notes">Notes</a></li></ul></li></ul></nav>
840
+ <nav class="page-toc" id="page-toc-top"><ul><li><a href="#metadata-transforms">Metadata&nbsp;Transforms</a><ul><li><a href="#metadata-sources">Metadata&nbsp;Sources</a></li><li><a href="#basic-usage">Basic&nbsp;Usage</a></li><li><a href="#enabling-transforms">Enabling&nbsp;Transforms</a></li><li><a href="#case-transforms">Case&nbsp;Transforms</a><ul><li><a href="#upper">upper</a></li><li><a href="#lower">lower</a></li><li><a href="#title">title</a></li><li><a href="#capitalize">capitalize</a></li></ul></li><li><a href="#string-manipulation">String Manipulation</a><ul><li><a href="#trim">trim</a></li><li><a href="#slug-slugify">slug&nbsp;/&nbsp;slugify</a></li><li><a href="#replaceoldnew-replaceregexpatternreplacement">replace(OLD,NEW) / replace(regex:PATTERN,REPLACEMENT)</a></li><li><a href="#substringstartend-substrstartend">substring(START,END) / substr(START,END)</a></li><li><a href="#truncatelengthsuffix">truncate(LENGTH,SUFFIX)</a></li><li><a href="#reverse">reverse</a></li></ul></li><li><a href="#array-transforms">Array&nbsp;Transforms</a><ul><li><a href="#splitdelimiter">split(DELIMITER)</a></li><li><a href="#joindelimiter">join(DELIMITER)</a></li><li><a href="#first">first</a></li><li><a href="#last">last</a></li><li><a href="#slicestartlength">slice(START,LENGTH)</a></li></ul></li><li><a href="#utility-transforms">Utility&nbsp;Transforms</a><ul><li><a href="#defaultvalue">default(VALUE)</a></li><li><a href="#escape-htmlescape">escape / html_escape</a></li><li><a href="#basename">basename</a></li><li><a href="#urlencode">urlencode</a></li><li><a href="#urldecode">urldecode</a></li><li><a href="#prefixvalue">prefix(VALUE)</a></li><li><a href="#suffixvalue">suffix(VALUE)</a></li><li><a href="#removestring">remove(STRING)</a></li><li><a href="#repeatcount">repeat(COUNT)</a></li></ul></li><li><a href="#formatting-transforms">Formatting&nbsp;Transforms</a><ul><li><a href="#formatformatstring">format(FORMAT_STRING)</a></li><li><a href="#length">length</a></li><li><a href="#padwidthchar">pad(WIDTH,CHAR)</a></li><li><a href="#containsstring">contains(STRING)</a></li></ul></li><li><a href="#datetime-transforms">Date/Time&nbsp;Transforms</a><ul><li><a href="#strftimeformat">strftime(FORMAT)</a></li></ul></li><li><a href="#transform-chaining">Transform&nbsp;Chaining</a></li><li><a href="#notes">Notes</a></li></ul></li></ul></nav>
711
841
 
712
842
  <p>
713
843
  Metadata transforms allow you to modify metadata values using the <code>[%key:transform]</code> syntax. Transforms can be chained together, and many accept optional parameters.
714
844
  </p>
715
845
 
716
846
  <h2 id="metadata-sources">
717
- Metadata Sources
847
+ Metadata&nbsp;Sources
718
848
  </h2>
719
849
 
720
850
  <p>
@@ -724,15 +854,15 @@ ol ul {
724
854
  <ol>
725
855
 
726
856
  <li>
727
- <strong> Command-line</strong>: <code>--meta KEY=VALUE</code> (highest priority)
857
+ <strong>Command-line</strong>: <code>--meta KEY=VALUE</code> (highest priority)
728
858
  </li>
729
859
 
730
860
  <li>
731
- <strong> Document</strong>: Metadata embedded in the document (YAML, MMD, or Pandoc format)
861
+ <strong>Document</strong>: Metadata embedded in the document (YAML, MMD, or Pandoc format)
732
862
  </li>
733
863
 
734
864
  <li>
735
- <strong> External file</strong>: <code>--meta-file FILE</code> (lowest priority)
865
+ <strong>External file</strong>: <code>--meta-file FILE</code> (lowest priority)
736
866
  </li>
737
867
 
738
868
  </ol>
@@ -742,50 +872,56 @@ ol ul {
742
872
  </p>
743
873
 
744
874
  <h2 id="basic-usage">
745
- Basic Usage
875
+ Basic&nbsp;Usage
746
876
  </h2>
747
877
 
748
878
  <p>
749
879
  The basic syntax is <code>[%key:transform]</code> where <code>key</code> is a metadata key and <code>transform</code> is one of the available transforms:
750
880
  </p>
751
881
 
752
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
753
- <span class="na">title</span><span class="pi">:</span> <span class="s">hello world</span>
754
- <span class="nn">---</span>
882
+ <div class="highlight">
883
+ <pre><span></span>---
884
+ <span class="gu">title: hello world</span>
885
+ <span class="gu">---</span>
755
886
 
756
887
  <span class="gh"># [%title:upper]</span>
757
- <span class="c">&lt;!-- Outputs: # HELLO WORLD --&gt;</span>
758
- </code></pre>
888
+ &lt;!-- Outputs: # HELLO WORLD --&gt;
889
+ </pre>
890
+ </div>
759
891
 
760
892
  <p>
761
893
  Transforms can be chained using colons:
762
894
  </p>
763
895
 
764
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
765
- <span class="na">title</span><span class="pi">:</span> <span class="s">hello world</span>
766
- <span class="nn">---</span>
896
+ <div class="highlight">
897
+ <pre><span></span>---
898
+ <span class="gu">title: hello world</span>
899
+ <span class="gu">---</span>
767
900
 
768
- <span class="gh"># [%title🐢split( ):first]</span>
769
- <span class="c">&lt;!-- Outputs: # Hello --&gt;</span>
770
- </code></pre>
901
+ <span class="gh"># [%title<span class=\"emoji\">:title:</span>split( ):first]</span>
902
+ &lt;!-- Outputs: # Hello --&gt;
903
+ </pre>
904
+ </div>
771
905
 
772
906
  <h2 id="enabling-transforms">
773
- Enabling Transforms
907
+ Enabling&nbsp;Transforms
774
908
  </h2>
775
909
 
776
910
  <p>
777
911
  Metadata transforms are <strong>enabled by default in unified mode</strong>. For other modes, use the <code>--transforms</code> flag:
778
912
  </p>
779
913
 
780
- <pre><code class="highlight language-bash">apex document.md <span class="nt">--transforms</span>
781
- </code></pre>
914
+ <div class="highlight">
915
+ <pre><span></span>apex<span class="w"> </span>document.md<span class="w"> </span>--transforms
916
+ </pre>
917
+ </div>
782
918
 
783
919
  <p>
784
920
  To disable transforms (even in unified mode), use <code>--no-transforms</code>.
785
921
  </p>
786
922
 
787
923
  <h2 id="case-transforms">
788
- Case Transforms
924
+ Case&nbsp;Transforms
789
925
  </h2>
790
926
 
791
927
  <h3 id="upper">
@@ -796,13 +932,15 @@ ol ul {
796
932
  Converts the value to uppercase.
797
933
  </p>
798
934
 
799
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
800
- <span class="na">title</span><span class="pi">:</span> <span class="s">hello world</span>
801
- <span class="nn">---</span>
935
+ <div class="highlight">
936
+ <pre><span></span>---
937
+ <span class="gu">title: hello world</span>
938
+ <span class="gu">---</span>
802
939
 
803
940
  [%title:upper]
804
- <span class="c">&lt;!-- Outputs: HELLO WORLD --&gt;</span>
805
- </code></pre>
941
+ &lt;!-- Outputs: HELLO WORLD --&gt;
942
+ </pre>
943
+ </div>
806
944
 
807
945
  <h3 id="lower">
808
946
  <code>lower</code>
@@ -812,13 +950,15 @@ ol ul {
812
950
  Converts the value to lowercase.
813
951
  </p>
814
952
 
815
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
816
- <span class="na">title</span><span class="pi">:</span> <span class="s">HELLO WORLD</span>
817
- <span class="nn">---</span>
953
+ <div class="highlight">
954
+ <pre><span></span>---
955
+ <span class="gu">title: HELLO WORLD</span>
956
+ <span class="gu">---</span>
818
957
 
819
958
  [%title:lower]
820
- <span class="c">&lt;!-- Outputs: hello world --&gt;</span>
821
- </code></pre>
959
+ &lt;!-- Outputs: hello world --&gt;
960
+ </pre>
961
+ </div>
822
962
 
823
963
  <h3 id="title">
824
964
  <code>title</code>
@@ -828,13 +968,15 @@ ol ul {
828
968
  Converts the value to title case (capitalizes first letter of each word).
829
969
  </p>
830
970
 
831
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
832
- <span class="na">title</span><span class="pi">:</span> <span class="s">hello world</span>
833
- <span class="nn">---</span>
971
+ <div class="highlight">
972
+ <pre><span></span>---
973
+ <span class="gu">title: hello world</span>
974
+ <span class="gu">---</span>
834
975
 
835
976
  [%title:title]
836
- <span class="c">&lt;!-- Outputs: Hello World --&gt;</span>
837
- </code></pre>
977
+ &lt;!-- Outputs: Hello World --&gt;
978
+ </pre>
979
+ </div>
838
980
 
839
981
  <h3 id="capitalize">
840
982
  <code>capitalize</code>
@@ -844,13 +986,15 @@ ol ul {
844
986
  Capitalizes only the first letter of the value.
845
987
  </p>
846
988
 
847
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
848
- <span class="na">title</span><span class="pi">:</span> <span class="s">hello world</span>
849
- <span class="nn">---</span>
989
+ <div class="highlight">
990
+ <pre><span></span>---
991
+ <span class="gu">title: hello world</span>
992
+ <span class="gu">---</span>
850
993
 
851
994
  [%title:capitalize]
852
- <span class="c">&lt;!-- Outputs: Hello world --&gt;</span>
853
- </code></pre>
995
+ &lt;!-- Outputs: Hello world --&gt;
996
+ </pre>
997
+ </div>
854
998
 
855
999
  <h2 id="string-manipulation">
856
1000
  String Manipulation
@@ -864,29 +1008,33 @@ ol ul {
864
1008
  Removes leading and trailing whitespace.
865
1009
  </p>
866
1010
 
867
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
868
- <span class="na">title</span><span class="pi">:</span> <span class="s2">"</span><span class="nv"> </span><span class="s">hello</span><span class="nv"> </span><span class="s">world</span><span class="nv"> </span><span class="s">"</span>
869
- <span class="nn">---</span>
1011
+ <div class="highlight">
1012
+ <pre><span></span>---
1013
+ <span class="gu">title: &quot; hello world &quot;</span>
1014
+ <span class="gu">---</span>
870
1015
 
871
1016
  [%title:trim]
872
- <span class="c">&lt;!-- Outputs: hello world --&gt;</span>
873
- </code></pre>
1017
+ &lt;!-- Outputs: hello world --&gt;
1018
+ </pre>
1019
+ </div>
874
1020
 
875
1021
  <h3 id="slug-slugify">
876
- <code>slug</code> / <code>slugify</code>
1022
+ <code>slug</code>&nbsp;/&nbsp;<code>slugify</code>
877
1023
  </h3>
878
1024
 
879
1025
  <p>
880
1026
  Converts the value to a URL-friendly slug (lowercase, spaces and special characters replaced with hyphens).
881
1027
  </p>
882
1028
 
883
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
884
- <span class="na">title</span><span class="pi">:</span> <span class="s">My Great Post!</span>
885
- <span class="nn">---</span>
1029
+ <div class="highlight">
1030
+ <pre><span></span>---
1031
+ <span class="gu">title: My Great Post!</span>
1032
+ <span class="gu">---</span>
886
1033
 
887
1034
  [%title:slug]
888
- <span class="c">&lt;!-- Outputs: my-great-post --&gt;</span>
889
- </code></pre>
1035
+ &lt;!-- Outputs: my-great-post --&gt;
1036
+ </pre>
1037
+ </div>
890
1038
 
891
1039
  <h3 id="replaceoldnew-replaceregexpatternreplacement">
892
1040
  <code>replace(OLD,NEW)</code> / <code>replace(regex:PATTERN,REPLACEMENT)</code>
@@ -896,25 +1044,29 @@ ol ul {
896
1044
  Replaces occurrences of <code>OLD</code> with <code>NEW</code>. Supports both simple string replacement and regex patterns.
897
1045
  </p>
898
1046
 
899
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
900
- <span class="na">url</span><span class="pi">:</span> <span class="s">http://example.com</span>
901
- <span class="nn">---</span>
1047
+ <div class="highlight">
1048
+ <pre><span></span>---
1049
+ <span class="gu">url: http://example.com</span>
1050
+ <span class="gu">---</span>
902
1051
 
903
1052
  [%url:replace(http:,https:)]
904
- <span class="c">&lt;!-- Outputs: https://example.com --&gt;</span>
905
- </code></pre>
1053
+ &lt;!-- Outputs: https://example.com --&gt;
1054
+ </pre>
1055
+ </div>
906
1056
 
907
1057
  <p>
908
- <strong> Regex replacement:</strong>
1058
+ <strong>Regex replacement:</strong>
909
1059
  </p>
910
1060
 
911
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
912
- <span class="na">text</span><span class="pi">:</span> <span class="s">Hello 123 World</span>
913
- <span class="nn">---</span>
1061
+ <div class="highlight">
1062
+ <pre><span></span>---
1063
+ <span class="gu">text: Hello 123 World</span>
1064
+ <span class="gu">---</span>
914
1065
 
915
1066
  [%text:replace(regex:[0-9]+,N)]
916
- <span class="c">&lt;!-- Outputs: Hello N World --&gt;</span>
917
- </code></pre>
1067
+ &lt;!-- Outputs: Hello N World --&gt;
1068
+ </pre>
1069
+ </div>
918
1070
 
919
1071
  <h3 id="substringstartend-substrstartend">
920
1072
  <code>substring(START,END)</code> / <code>substr(START,END)</code>
@@ -924,16 +1076,18 @@ ol ul {
924
1076
  Extracts a substring. Supports negative indices (from end).
925
1077
  </p>
926
1078
 
927
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
928
- <span class="na">title</span><span class="pi">:</span> <span class="s">Hello World</span>
929
- <span class="nn">---</span>
1079
+ <div class="highlight">
1080
+ <pre><span></span>---
1081
+ <span class="gu">title: Hello World</span>
1082
+ <span class="gu">---</span>
930
1083
 
931
1084
  [%title:substr(0,5)]
932
- <span class="c">&lt;!-- Outputs: Hello --&gt;</span>
1085
+ &lt;!-- Outputs: Hello --&gt;
933
1086
 
934
1087
  [%title:substr(-5)]
935
- <span class="c">&lt;!-- Outputs: World (last 5 characters) --&gt;</span>
936
- </code></pre>
1088
+ &lt;!-- Outputs: World (last 5 characters) --&gt;
1089
+ </pre>
1090
+ </div>
937
1091
 
938
1092
  <h3 id="truncatelengthsuffix">
939
1093
  <code>truncate(LENGTH,SUFFIX)</code>
@@ -943,13 +1097,15 @@ ol ul {
943
1097
  Truncates the value to the specified length, optionally appending a suffix.
944
1098
  </p>
945
1099
 
946
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
947
- <span class="na">title</span><span class="pi">:</span> <span class="s">This is a very long title</span>
948
- <span class="nn">---</span>
1100
+ <div class="highlight">
1101
+ <pre><span></span>---
1102
+ <span class="gu">title: This is a very long title</span>
1103
+ <span class="gu">---</span>
949
1104
 
950
1105
  [%title:truncate(15,...)]
951
- <span class="c">&lt;!-- Outputs: This is a very... --&gt;</span>
952
- </code></pre>
1106
+ &lt;!-- Outputs: This is a very... --&gt;
1107
+ </pre>
1108
+ </div>
953
1109
 
954
1110
  <h3 id="reverse">
955
1111
  <code>reverse</code>
@@ -959,16 +1115,18 @@ ol ul {
959
1115
  Reverses the order of characters in the value.
960
1116
  </p>
961
1117
 
962
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
963
- <span class="na">text</span><span class="pi">:</span> <span class="s">Hello</span>
964
- <span class="nn">---</span>
1118
+ <div class="highlight">
1119
+ <pre><span></span>---
1120
+ <span class="gu">text: Hello</span>
1121
+ <span class="gu">---</span>
965
1122
 
966
1123
  [%text:reverse]
967
- <span class="c">&lt;!-- Outputs: olleH --&gt;</span>
968
- </code></pre>
1124
+ &lt;!-- Outputs: olleH --&gt;
1125
+ </pre>
1126
+ </div>
969
1127
 
970
1128
  <h2 id="array-transforms">
971
- Array Transforms
1129
+ Array&nbsp;Transforms
972
1130
  </h2>
973
1131
 
974
1132
  <h3 id="splitdelimiter">
@@ -979,14 +1137,16 @@ ol ul {
979
1137
  Splits a string into an array using the specified delimiter (default: space).
980
1138
  </p>
981
1139
 
982
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
983
- <span class="na">tags</span><span class="pi">:</span> <span class="s">tag1,tag2,tag3</span>
984
- <span class="nn">---</span>
1140
+ <div class="highlight">
1141
+ <pre><span></span>---
1142
+ <span class="gu">tags: tag1,tag2,tag3</span>
1143
+ <span class="gu">---</span>
985
1144
 
986
1145
  [%tags:split(,)]
987
- <span class="c">&lt;!-- Outputs: tag1 (first element as representation) --&gt;</span>
988
- <span class="c">&lt;!-- Use with :first, :last, :slice, or :join to work with the array --&gt;</span>
989
- </code></pre>
1146
+ &lt;!-- Outputs: tag1 (first element as representation) --&gt;
1147
+ &lt;!-- Use with :first, :last, :slice, or :join to work with the array --&gt;
1148
+ </pre>
1149
+ </div>
990
1150
 
991
1151
  <h3 id="joindelimiter">
992
1152
  <code>join(DELIMITER)</code>
@@ -996,13 +1156,15 @@ ol ul {
996
1156
  Joins an array into a string using the specified delimiter.
997
1157
  </p>
998
1158
 
999
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1000
- <span class="na">tags</span><span class="pi">:</span> <span class="s">tag1,tag2,tag3</span>
1001
- <span class="nn">---</span>
1159
+ <div class="highlight">
1160
+ <pre><span></span>---
1161
+ <span class="gu">tags: tag1,tag2,tag3</span>
1162
+ <span class="gu">---</span>
1002
1163
 
1003
1164
  [%tags:split(,):join( | )]
1004
- <span class="c">&lt;!-- Outputs: tag1 | tag2 | tag3 --&gt;</span>
1005
- </code></pre>
1165
+ &lt;!-- Outputs: tag1 | tag2 | tag3 --&gt;
1166
+ </pre>
1167
+ </div>
1006
1168
 
1007
1169
  <h3 id="first">
1008
1170
  <code>first</code>
@@ -1012,13 +1174,15 @@ ol ul {
1012
1174
  Returns the first element of an array.
1013
1175
  </p>
1014
1176
 
1015
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1016
- <span class="na">tags</span><span class="pi">:</span> <span class="s">tag1,tag2,tag3</span>
1017
- <span class="nn">---</span>
1177
+ <div class="highlight">
1178
+ <pre><span></span>---
1179
+ <span class="gu">tags: tag1,tag2,tag3</span>
1180
+ <span class="gu">---</span>
1018
1181
 
1019
1182
  [%tags:split(,):first]
1020
- <span class="c">&lt;!-- Outputs: tag1 --&gt;</span>
1021
- </code></pre>
1183
+ &lt;!-- Outputs: tag1 --&gt;
1184
+ </pre>
1185
+ </div>
1022
1186
 
1023
1187
  <h3 id="last">
1024
1188
  <code>last</code>
@@ -1028,13 +1192,15 @@ ol ul {
1028
1192
  Returns the last element of an array.
1029
1193
  </p>
1030
1194
 
1031
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1032
- <span class="na">tags</span><span class="pi">:</span> <span class="s">tag1,tag2,tag3</span>
1033
- <span class="nn">---</span>
1195
+ <div class="highlight">
1196
+ <pre><span></span>---
1197
+ <span class="gu">tags: tag1,tag2,tag3</span>
1198
+ <span class="gu">---</span>
1034
1199
 
1035
1200
  [%tags:split(,):last]
1036
- <span class="c">&lt;!-- Outputs: tag3 --&gt;</span>
1037
- </code></pre>
1201
+ &lt;!-- Outputs: tag3 --&gt;
1202
+ </pre>
1203
+ </div>
1038
1204
 
1039
1205
  <h3 id="slicestartlength">
1040
1206
  <code>slice(START,LENGTH)</code>
@@ -1044,23 +1210,25 @@ ol ul {
1044
1210
  Extracts a slice from an array. If applied to a non-array value, splits the string into individual characters.
1045
1211
  </p>
1046
1212
 
1047
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1048
- <span class="na">tags</span><span class="pi">:</span> <span class="s">tag1,tag2,tag3</span>
1049
- <span class="nn">---</span>
1213
+ <div class="highlight">
1214
+ <pre><span></span>---
1215
+ <span class="gu">tags: tag1,tag2,tag3</span>
1216
+ <span class="gu">---</span>
1050
1217
 
1051
1218
  [%tags:split(,):slice(0,2):join(,)]
1052
- <span class="c">&lt;!-- Outputs: tag1,tag2 --&gt;</span>
1053
- <span class="p">
1054
- ---</span>
1055
- <span class="gh">text: Hello
1219
+ &lt;!-- Outputs: tag1,tag2 --&gt;
1220
+
1056
1221
  ---
1057
- </span>
1222
+ <span class="gu">text: Hello</span>
1223
+ <span class="gu">---</span>
1224
+
1058
1225
  [%text:slice(0,5)]
1059
- <span class="c">&lt;!-- Outputs: Hello (characters 0-5) --&gt;</span>
1060
- </code></pre>
1226
+ &lt;!-- Outputs: Hello (characters 0-5) --&gt;
1227
+ </pre>
1228
+ </div>
1061
1229
 
1062
1230
  <h2 id="utility-transforms">
1063
- Utility Transforms
1231
+ Utility&nbsp;Transforms
1064
1232
  </h2>
1065
1233
 
1066
1234
  <h3 id="defaultvalue">
@@ -1071,13 +1239,15 @@ ol ul {
1071
1239
  Returns the specified default value if the metadata value is empty.
1072
1240
  </p>
1073
1241
 
1074
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1075
- <span class="na">desc</span><span class="pi">:</span> <span class="s2">"</span><span class="s">"</span>
1076
- <span class="nn">---</span>
1242
+ <div class="highlight">
1243
+ <pre><span></span>---
1244
+ <span class="gu">desc: &quot;&quot;</span>
1245
+ <span class="gu">---</span>
1077
1246
 
1078
1247
  [%desc:default(No description)]
1079
- <span class="c">&lt;!-- Outputs: No description --&gt;</span>
1080
- </code></pre>
1248
+ &lt;!-- Outputs: No description --&gt;
1249
+ </pre>
1250
+ </div>
1081
1251
 
1082
1252
  <h3 id="escape-htmlescape">
1083
1253
  <code>escape</code> / <code>html_escape</code>
@@ -1087,13 +1257,15 @@ ol ul {
1087
1257
  Escapes HTML special characters (<code>&amp;</code>, <code>&lt;</code>, <code>&gt;</code>, <code>&quot;</code>, <code>'</code>).
1088
1258
  </p>
1089
1259
 
1090
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1091
- <span class="na">title</span><span class="pi">:</span> <span class="s">A &amp; B</span>
1092
- <span class="nn">---</span>
1260
+ <div class="highlight">
1261
+ <pre><span></span>---
1262
+ <span class="gu">title: A &amp; B</span>
1263
+ <span class="gu">---</span>
1093
1264
 
1094
1265
  [%title:html_escape]
1095
- <span class="c">&lt;!-- Outputs: A &amp;amp; B --&gt;</span>
1096
- </code></pre>
1266
+ &lt;!-- Outputs: A &amp;amp; B --&gt;
1267
+ </pre>
1268
+ </div>
1097
1269
 
1098
1270
  <h3 id="basename">
1099
1271
  <code>basename</code>
@@ -1103,13 +1275,15 @@ ol ul {
1103
1275
  Extracts the filename from a path.
1104
1276
  </p>
1105
1277
 
1106
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1107
- <span class="na">image</span><span class="pi">:</span> <span class="s">/path/to/image.jpg</span>
1108
- <span class="nn">---</span>
1278
+ <div class="highlight">
1279
+ <pre><span></span>---
1280
+ <span class="gu">image: /path/to/image.jpg</span>
1281
+ <span class="gu">---</span>
1109
1282
 
1110
1283
  [%image:basename]
1111
- <span class="c">&lt;!-- Outputs: image.jpg --&gt;</span>
1112
- </code></pre>
1284
+ &lt;!-- Outputs: image.jpg --&gt;
1285
+ </pre>
1286
+ </div>
1113
1287
 
1114
1288
  <h3 id="urlencode">
1115
1289
  <code>urlencode</code>
@@ -1119,13 +1293,15 @@ ol ul {
1119
1293
  URL-encodes the value.
1120
1294
  </p>
1121
1295
 
1122
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1123
- <span class="na">search</span><span class="pi">:</span> <span class="s">hello world</span>
1124
- <span class="nn">---</span>
1296
+ <div class="highlight">
1297
+ <pre><span></span>---
1298
+ <span class="gu">search: hello world</span>
1299
+ <span class="gu">---</span>
1125
1300
 
1126
1301
  [%search:urlencode]
1127
- <span class="c">&lt;!-- Outputs: hello%20world --&gt;</span>
1128
- </code></pre>
1302
+ &lt;!-- Outputs: hello%20world --&gt;
1303
+ </pre>
1304
+ </div>
1129
1305
 
1130
1306
  <h3 id="urldecode">
1131
1307
  <code>urldecode</code>
@@ -1135,13 +1311,15 @@ ol ul {
1135
1311
  URL-decodes the value.
1136
1312
  </p>
1137
1313
 
1138
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1139
- <span class="na">search</span><span class="pi">:</span> <span class="s">hello%20world</span>
1140
- <span class="nn">---</span>
1314
+ <div class="highlight">
1315
+ <pre><span></span>---
1316
+ <span class="gu">search: hello%20world</span>
1317
+ <span class="gu">---</span>
1141
1318
 
1142
1319
  [%search:urldecode]
1143
- <span class="c">&lt;!-- Outputs: hello world --&gt;</span>
1144
- </code></pre>
1320
+ &lt;!-- Outputs: hello world --&gt;
1321
+ </pre>
1322
+ </div>
1145
1323
 
1146
1324
  <h3 id="prefixvalue">
1147
1325
  <code>prefix(VALUE)</code>
@@ -1151,13 +1329,15 @@ ol ul {
1151
1329
  Adds a prefix to the value.
1152
1330
  </p>
1153
1331
 
1154
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1155
- <span class="na">url</span><span class="pi">:</span> <span class="s">example.com</span>
1156
- <span class="nn">---</span>
1332
+ <div class="highlight">
1333
+ <pre><span></span>---
1334
+ <span class="gu">url: example.com</span>
1335
+ <span class="gu">---</span>
1157
1336
 
1158
1337
  [%url:prefix(https://)]
1159
- <span class="c">&lt;!-- Outputs: https://example.com --&gt;</span>
1160
- </code></pre>
1338
+ &lt;!-- Outputs: https://example.com --&gt;
1339
+ </pre>
1340
+ </div>
1161
1341
 
1162
1342
  <h3 id="suffixvalue">
1163
1343
  <code>suffix(VALUE)</code>
@@ -1167,13 +1347,15 @@ ol ul {
1167
1347
  Adds a suffix to the value.
1168
1348
  </p>
1169
1349
 
1170
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1171
- <span class="na">title</span><span class="pi">:</span> <span class="s">Hello</span>
1172
- <span class="nn">---</span>
1350
+ <div class="highlight">
1351
+ <pre><span></span>---
1352
+ <span class="gu">title: Hello</span>
1353
+ <span class="gu">---</span>
1173
1354
 
1174
1355
  [%title:suffix(!)]
1175
- <span class="c">&lt;!-- Outputs: Hello! --&gt;</span>
1176
- </code></pre>
1356
+ &lt;!-- Outputs: Hello! --&gt;
1357
+ </pre>
1358
+ </div>
1177
1359
 
1178
1360
  <h3 id="removestring">
1179
1361
  <code>remove(STRING)</code>
@@ -1183,13 +1365,15 @@ ol ul {
1183
1365
  Removes all occurrences of the specified string.
1184
1366
  </p>
1185
1367
 
1186
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1187
- <span class="na">title</span><span class="pi">:</span> <span class="s">Hello'World</span>
1188
- <span class="nn">---</span>
1368
+ <div class="highlight">
1369
+ <pre><span></span>---
1370
+ <span class="gu">title: Hello&#39;World</span>
1371
+ <span class="gu">---</span>
1189
1372
 
1190
- [%title:remove(')]
1191
- <span class="c">&lt;!-- Outputs: HelloWorld --&gt;</span>
1192
- </code></pre>
1373
+ [%title:remove(&#39;)]
1374
+ &lt;!-- Outputs: HelloWorld --&gt;
1375
+ </pre>
1376
+ </div>
1193
1377
 
1194
1378
  <h3 id="repeatcount">
1195
1379
  <code>repeat(COUNT)</code>
@@ -1199,16 +1383,18 @@ ol ul {
1199
1383
  Repeats the value the specified number of times.
1200
1384
  </p>
1201
1385
 
1202
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1203
- <span class="na">sep</span><span class="pi">:</span> <span class="s">-</span>
1204
- <span class="nn">---</span>
1386
+ <div class="highlight">
1387
+ <pre><span></span>---
1388
+ <span class="gu">sep: -</span>
1389
+ <span class="gu">---</span>
1205
1390
 
1206
1391
  [%sep:repeat(3)]
1207
- <span class="c">&lt;!-- Outputs: --- --&gt;</span>
1208
- </code></pre>
1392
+ &lt;!-- Outputs: --- --&gt;
1393
+ </pre>
1394
+ </div>
1209
1395
 
1210
1396
  <h2 id="formatting-transforms">
1211
- Formatting Transforms
1397
+ Formatting&nbsp;Transforms
1212
1398
  </h2>
1213
1399
 
1214
1400
  <h3 id="formatformatstring">
@@ -1219,13 +1405,15 @@ ol ul {
1219
1405
  Formats a numeric value using <code>sprintf</code>-style formatting.
1220
1406
  </p>
1221
1407
 
1222
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1223
- <span class="na">price</span><span class="pi">:</span> <span class="m">42.5</span>
1224
- <span class="nn">---</span>
1408
+ <div class="highlight">
1409
+ <pre><span></span>---
1410
+ <span class="gu">price: 42.5</span>
1411
+ <span class="gu">---</span>
1225
1412
 
1226
1413
  [%price:format($%.2f)]
1227
- <span class="c">&lt;!-- Outputs: $42.50 --&gt;</span>
1228
- </code></pre>
1414
+ &lt;!-- Outputs: $42.50 --&gt;
1415
+ </pre>
1416
+ </div>
1229
1417
 
1230
1418
  <h3 id="length">
1231
1419
  <code>length</code>
@@ -1235,13 +1423,15 @@ ol ul {
1235
1423
  Returns the length of the value as a string.
1236
1424
  </p>
1237
1425
 
1238
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1239
- <span class="na">text</span><span class="pi">:</span> <span class="s">Hello</span>
1240
- <span class="nn">---</span>
1426
+ <div class="highlight">
1427
+ <pre><span></span>---
1428
+ <span class="gu">text: Hello</span>
1429
+ <span class="gu">---</span>
1241
1430
 
1242
1431
  [%text:length]
1243
- <span class="c">&lt;!-- Outputs: 5 --&gt;</span>
1244
- </code></pre>
1432
+ &lt;!-- Outputs: 5 --&gt;
1433
+ </pre>
1434
+ </div>
1245
1435
 
1246
1436
  <h3 id="padwidthchar">
1247
1437
  <code>pad(WIDTH,CHAR)</code>
@@ -1251,13 +1441,15 @@ ol ul {
1251
1441
  Pads the value to the specified width with the specified character (default: space).
1252
1442
  </p>
1253
1443
 
1254
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1255
- <span class="na">number</span><span class="pi">:</span> <span class="m">42</span>
1256
- <span class="nn">---</span>
1444
+ <div class="highlight">
1445
+ <pre><span></span>---
1446
+ <span class="gu">number: 42</span>
1447
+ <span class="gu">---</span>
1257
1448
 
1258
1449
  [%number:pad(5,0)]
1259
- <span class="c">&lt;!-- Outputs: 00042 --&gt;</span>
1260
- </code></pre>
1450
+ &lt;!-- Outputs: 00042 --&gt;
1451
+ </pre>
1452
+ </div>
1261
1453
 
1262
1454
  <h3 id="containsstring">
1263
1455
  <code>contains(STRING)</code>
@@ -1267,16 +1459,18 @@ ol ul {
1267
1459
  Returns <code>&quot;true&quot;</code> if the value contains the specified string, <code>&quot;false&quot;</code> otherwise.
1268
1460
  </p>
1269
1461
 
1270
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1271
- <span class="na">tags</span><span class="pi">:</span> <span class="s">javascript,html,css</span>
1272
- <span class="nn">---</span>
1462
+ <div class="highlight">
1463
+ <pre><span></span>---
1464
+ <span class="gu">tags: javascript,html,css</span>
1465
+ <span class="gu">---</span>
1273
1466
 
1274
1467
  [%tags:contains(javascript)]
1275
- <span class="c">&lt;!-- Outputs: true --&gt;</span>
1276
- </code></pre>
1468
+ &lt;!-- Outputs: true --&gt;
1469
+ </pre>
1470
+ </div>
1277
1471
 
1278
1472
  <h2 id="datetime-transforms">
1279
- Date/Time Transforms
1473
+ Date/Time&nbsp;Transforms
1280
1474
  </h2>
1281
1475
 
1282
1476
  <h3 id="strftimeformat">
@@ -1284,51 +1478,57 @@ ol ul {
1284
1478
  </h3>
1285
1479
 
1286
1480
  <p>
1287
- Formats a date using <code>strftime</code>-style format strings. Parses dates in formats like <code>YYYY-MM-DD</code>, <code>YYYY-MM-DD HH:MM</code>, or <code>YYYY-MM-DD HHⓂ️SS</code>.
1481
+ Formats a date using <code>strftime</code>-style format strings. Parses dates in formats like <code>YYYY-MM-DD</code>, <code>YYYY-MM-DD HH:MM</code>, or <code>YYYY-MM-DD HH<span class=\"emoji\">:MM:</span>SS</code>.
1288
1482
  </p>
1289
1483
 
1290
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1291
- <span class="na">date</span><span class="pi">:</span> <span class="s">2024-03-15</span>
1292
- <span class="nn">---</span>
1484
+ <div class="highlight">
1485
+ <pre><span></span>---
1486
+ <span class="gu">date: 2024-03-15</span>
1487
+ <span class="gu">---</span>
1293
1488
 
1294
1489
  [%date:strftime(%Y)]
1295
- <span class="c">&lt;!-- Outputs: 2024 --&gt;</span>
1490
+ &lt;!-- Outputs: 2024 --&gt;
1296
1491
 
1297
1492
  [%date:strftime(%B %d, %Y)]
1298
- <span class="c">&lt;!-- Outputs: March 15, 2024 --&gt;</span>
1299
- </code></pre>
1493
+ &lt;!-- Outputs: March 15, 2024 --&gt;
1494
+ </pre>
1495
+ </div>
1300
1496
 
1301
1497
  <h2 id="transform-chaining">
1302
- Transform Chaining
1498
+ Transform&nbsp;Chaining
1303
1499
  </h2>
1304
1500
 
1305
1501
  <p>
1306
1502
  Multiple transforms can be chained together using colons. Each transform operates on the result of the previous transform:
1307
1503
  </p>
1308
1504
 
1309
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1310
- <span class="na">title</span><span class="pi">:</span> <span class="s">hello world</span>
1311
- <span class="nn">---</span>
1505
+ <div class="highlight">
1506
+ <pre><span></span>---
1507
+ <span class="gu">title: hello world</span>
1508
+ <span class="gu">---</span>
1312
1509
 
1313
- [%title🐢split( ):first]
1510
+ [%title<span class=\"emoji\">:title:</span>split( ):first]
1314
1511
  &lt;!--
1315
- <span class="p"> 1.</span> title -&gt; "Hello World"
1316
- <span class="p"> 2.</span> split( ) -&gt; ["Hello", "World"] (array)
1317
- <span class="p"> 3.</span> first -&gt; "Hello"
1512
+ <span class="w"> </span><span class="k">1.</span> title -&gt; &quot;Hello World&quot;
1513
+ <span class="w"> </span><span class="k">2.</span> split( ) -&gt; [&quot;Hello&quot;, &quot;World&quot;] (array)
1514
+ <span class="w"> </span><span class="k">3.</span> first -&gt; &quot;Hello&quot;
1318
1515
  --&gt;
1319
- </code></pre>
1516
+ </pre>
1517
+ </div>
1320
1518
 
1321
1519
  <p>
1322
- <strong> Example with dates:</strong>
1520
+ <strong>Example with dates:</strong>
1323
1521
  </p>
1324
1522
 
1325
- <pre><code class="highlight language-markdown"><span class="nn">---</span>
1326
- <span class="na">date</span><span class="pi">:</span> <span class="s">2024-03-15 14:30</span>
1327
- <span class="nn">---</span>
1523
+ <div class="highlight">
1524
+ <pre><span></span>---
1525
+ <span class="gu">date: 2024-03-15 14:30</span>
1526
+ <span class="gu">---</span>
1328
1527
 
1329
1528
  [%date:strftime(%Y)]
1330
- <span class="c">&lt;!-- Outputs: 2024 --&gt;</span>
1331
- </code></pre>
1529
+ &lt;!-- Outputs: 2024 --&gt;
1530
+ </pre>
1531
+ </div>
1332
1532
 
1333
1533
  <h2 id="notes">
1334
1534
  Notes