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.
- checksums.yaml +4 -4
- data/README.md +17 -3
- data/ext/apex_ext/apex_ext.c +260 -91
- data/ext/apex_ext/apex_src/CHANGELOG.md +440 -0
- data/ext/apex_ext/apex_src/CMakeLists.txt +15 -1
- data/ext/apex_ext/apex_src/Formula/apex.rb +7 -2
- data/ext/apex_ext/apex_src/Package.swift +15 -4
- data/ext/apex_ext/apex_src/README.md +94 -35
- data/ext/apex_ext/apex_src/VERSION +1 -1
- data/ext/apex_ext/apex_src/apex-debug.log +4 -0
- data/ext/apex_ext/apex_src/apex.code-workspace +38 -0
- data/ext/apex_ext/apex_src/apex.taskpaper +12 -0
- data/ext/apex_ext/apex_src/apex_deflist_debug.log +25 -0
- data/ext/apex_ext/apex_src/buildnotes.md +1435 -0
- data/ext/apex_ext/apex_src/cli/main.c +262 -33
- data/ext/apex_ext/apex_src/debug.log +7 -0
- data/ext/apex_ext/apex_src/docs/CITATIONS_EXAMPLES.md +274 -0
- data/ext/apex_ext/apex_src/docs/CITATIONS_IMPLEMENTATION_PLAN.md +749 -0
- data/ext/apex_ext/apex_src/docs/CITATIONS_PLAN.md +744 -0
- data/ext/apex_ext/apex_src/docs/INDEX_IMPLEMENTATION_ANALYSIS.md +382 -0
- data/ext/apex_ext/apex_src/docs/plans/2025-02-27-man-page-output-implementation.md +351 -0
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-12-toc-output-format.md +745 -0
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-18-bear-image-attributes.md +829 -0
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-19-apex-node-npm.md +1148 -0
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-12-toc-output-format-design.md +161 -0
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-18-bear-image-attributes-design.md +184 -0
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-19-apex-node-npm-design.md +211 -0
- data/ext/apex_ext/apex_src/documentation/app-settings-table.md +67 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Citations.md +340 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Credits.md +11 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Header-IDs.md +234 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Inline-Attribute-Lists.md +516 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Metadata-Transforms.md +461 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Modes.md +193 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Multi-File-Documents.md +201 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Plugins.md +678 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Syntax.md +1367 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex Command Line Options.cheatsheet.txt +6 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/C-API.html +774 -300
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Callouts.html +1194 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Citations.html +416 -216
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Command-Line-Options.html +3544 -1094
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Configuration.html +371 -97
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Credits.html +153 -23
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Examples.html +358 -124
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Filters.html +1656 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Generating-Man-Pages.html +1226 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Getting-Started.html +201 -56
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Header-IDs.html +279 -109
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Home.html +200 -53
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Indices.html +2327 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Inline-Attribute-Lists.html +690 -271
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Installation.html +201 -55
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Limitations-and-Roadmap.html +238 -68
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Metadata-Transforms.html +421 -221
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Modes.html +340 -78
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-File-Documents.html +251 -86
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-Format-Images.html +1362 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Pandoc-Integration.html +277 -90
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Plugins.html +673 -346
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Quarto-Mode.html +1405 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Rendering-Markdown-In-Terminal.html +1902 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Syntax.html +1939 -1698
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Tables.html +1781 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Troubleshooting.html +315 -140
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Usage.html +307 -113
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Using-Apex-with-Jekyll.html +1132 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Writing-Tests.html +1754 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Xcode-Integration.html +872 -376
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/docSet.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/html/apex-app-docs.html +8746 -0
- data/ext/apex_ext/apex_src/documentation/shared_styles.css +20 -15
- data/ext/apex_ext/apex_src/documentation/transform_for_app.md +55 -0
- data/ext/apex_ext/apex_src/escaping-repro.md +103 -0
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/Info.plist +8 -0
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/QuickLook/Preview.png +0 -0
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/document.wflow +547 -0
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown-to-RTF.workflow.zip +0 -0
- data/ext/apex_ext/apex_src/examples/quick-actions/README.md +33 -0
- data/ext/apex_ext/apex_src/include/apex/apex.h +92 -6
- data/ext/apex_ext/apex_src/include/apex/ast_rtf.h +23 -0
- data/ext/apex_ext/apex_src/include/apex/ast_terminal.h +6 -0
- data/ext/apex_ext/apex_src/include/apex/module.modulemap +5 -0
- data/ext/apex_ext/apex_src/include/apex/plugins.h +105 -0
- data/ext/apex_ext/apex_src/include/apexc.h +1 -0
- data/ext/apex_ext/apex_src/man/apex.1 +82 -78
- data/ext/apex_ext/apex_src/man/apex.1.md +81 -4
- data/ext/apex_ext/apex_src/objc/Apex.swift +73 -0
- data/ext/apex_ext/apex_src/objc/ApexPlugins.swift +79 -0
- data/ext/apex_ext/apex_src/objc/NSString+Apex.h +83 -5
- data/ext/apex_ext/apex_src/objc/NSString+Apex.m +244 -1
- data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.h +76 -0
- data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.m +169 -0
- data/ext/apex_ext/apex_src/output.html +87 -0
- data/ext/apex_ext/apex_src/plans/quarto-mode.md +442 -0
- data/ext/apex_ext/apex_src/src/_README.md +85 -32
- data/ext/apex_ext/apex_src/src/apex.c +770 -200
- data/ext/apex_ext/apex_src/src/ast_rtf.c +848 -0
- data/ext/apex_ext/apex_src/src/ast_terminal.c +184 -7
- data/ext/apex_ext/apex_src/src/extensions/abbreviations.c +10 -3
- data/ext/apex_ext/apex_src/src/extensions/advanced_tables.c +7 -11
- data/ext/apex_ext/apex_src/src/extensions/bear_image_attrs.c +467 -0
- data/ext/apex_ext/apex_src/src/extensions/bear_image_attrs.h +27 -0
- data/ext/apex_ext/apex_src/src/extensions/callouts.c +400 -4
- data/ext/apex_ext/apex_src/src/extensions/callouts.h +15 -5
- data/ext/apex_ext/apex_src/src/extensions/citations.c +26 -5
- data/ext/apex_ext/apex_src/src/extensions/code_fence_attrs.c +632 -0
- data/ext/apex_ext/apex_src/src/extensions/code_fence_attrs.h +22 -0
- data/ext/apex_ext/apex_src/src/extensions/concordance.c +632 -0
- data/ext/apex_ext/apex_src/src/extensions/definition_list.c +129 -15
- data/ext/apex_ext/apex_src/src/extensions/grid_tables.c +1050 -121
- data/ext/apex_ext/apex_src/src/extensions/html_markdown.c +569 -16
- data/ext/apex_ext/apex_src/src/extensions/ial.c +502 -52
- data/ext/apex_ext/apex_src/src/extensions/ial.h +2 -1
- data/ext/apex_ext/apex_src/src/extensions/includes.c +532 -33
- data/ext/apex_ext/apex_src/src/extensions/includes.h +7 -1
- data/ext/apex_ext/apex_src/src/extensions/index.c +1427 -140
- data/ext/apex_ext/apex_src/src/extensions/index.h +28 -0
- data/ext/apex_ext/apex_src/src/extensions/metadata.c +200 -161
- data/ext/apex_ext/apex_src/src/extensions/quarto_diagrams.c +251 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_diagrams.h +22 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_lists.c +624 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_lists.h +35 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_polish.c +264 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_polish.h +23 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_shortcodes.c +307 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_shortcodes.h +21 -0
- data/ext/apex_ext/apex_src/src/extensions/raw_content.c +351 -0
- data/ext/apex_ext/apex_src/src/extensions/raw_content.h +20 -0
- data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.c +117 -3
- data/ext/apex_ext/apex_src/src/extensions/special_markers.c +53 -0
- data/ext/apex_ext/apex_src/src/extensions/syntax_highlight.c +23 -1
- data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.c +83 -92
- data/ext/apex_ext/apex_src/src/extensions/toc.c +446 -25
- data/ext/apex_ext/apex_src/src/extensions/toc.h +26 -1
- data/ext/apex_ext/apex_src/src/extensions/wiki_links.c +28 -0
- data/ext/apex_ext/apex_src/src/html_renderer.c +387 -17
- data/ext/apex_ext/apex_src/src/plugin_catalog.c +517 -0
- data/ext/apex_ext/apex_src/src/plugins_remote.c +88 -14
- data/ext/apex_ext/apex_src/src/plugins_remote.h +34 -0
- data/ext/apex_ext/apex_src/src/pretty_html.c +6 -1
- data/ext/apex_ext/apex_src/tests/fixtures/comprehensive_test.md +21 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/bear_image_attributes.md +10 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.md +19 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.txt +11 -0
- data/ext/apex_ext/apex_src/tests/fixtures/minimal_pb.md +2 -0
- data/ext/apex_ext/apex_src/tests/fixtures/obsidian-callouts.md +46 -0
- data/ext/apex_ext/apex_src/tests/fixtures/pagebreak_html_repro.md +5 -0
- data/ext/apex_ext/apex_src/tests/fixtures/python-callouts.md +47 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/callouts.md +3 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/code-attrs.md +3 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/diagrams.md +8 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/lists.md +19 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/raw-content.md +5 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/shortcodes.md +7 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/smoke.md +81 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/spans.md +5 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto-callouts.md +47 -0
- data/ext/apex_ext/apex_src/tests/fixtures/speed.md +192 -0
- data/ext/apex_ext/apex_src/tests/fixtures/tables/grid-tables.md +37 -0
- data/ext/apex_ext/apex_src/tests/paginate_cli_test.sh +16 -0
- data/ext/apex_ext/apex_src/tests/test_bear_image_attrs.c +301 -0
- data/ext/apex_ext/apex_src/tests/test_concordance.tsv +4 -0
- data/ext/apex_ext/apex_src/tests/test_escaping_repro.c +82 -0
- data/ext/apex_ext/apex_src/tests/test_extensions.c +821 -1
- data/ext/apex_ext/apex_src/tests/test_ial.c +7 -0
- data/ext/apex_ext/apex_src/tests/test_marked_integration.c +25 -0
- data/ext/apex_ext/apex_src/tests/test_metadata.c +129 -0
- data/ext/apex_ext/apex_src/tests/test_output.c +568 -2
- data/ext/apex_ext/apex_src/tests/test_runner.c +11 -0
- data/ext/apex_ext/apex_src/tests/test_tables.c +420 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CMakeLists.txt +1 -1
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/autolink.c +77 -1
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/table.c +135 -5
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/blocks.c +56 -1
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h +38 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/main.c +1 -1
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/__pycache__/cmark.cpython-314.pyc +0 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/__pycache__/normalize.cpython-314.pyc +0 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions.txt +69 -0
- data/ext/apex_ext/apex_src/xcode_build/CMakeScripts/ReRunCMake.make +74 -0
- data/ext/apex_ext/apex_src/xcode_build/CTestTestfile.cmake +22 -0
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/Apex +0 -0
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/Resources/Info.plist +44 -0
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/_CodeSignature/CodeResources +128 -0
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.pbxproj +5118 -0
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcuserdata/ttscoff.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcuserdata/ttscoff.xcuserdatad/WorkspaceSettings.xcsettings +8 -0
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/xcuserdata/ttscoff.xcuserdatad/xcschemes/xcschememanagement.plist +99 -0
- data/ext/apex_ext/apex_src/xcode_build/cmake_install.cmake +452 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/CMakeScripts/ReRunCMake.make +52 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmake_install.cmake +55 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.pbxproj +2455 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/extensions/cmake_install.cmake +171 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/man/cmake_install.cmake +55 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmake_install.cmake +220 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_export.h +43 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_version.h +7 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/config.h +76 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/libcmark-gfm.pc +10 -0
- data/ext/apex_ext/extconf.rb +35 -0
- data/lib/apex/version.rb +2 -2
- metadata +117 -2
- 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
|
|
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
|
-
|
|
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
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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:
|
|
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
|
|
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
|
|
838
|
+
Metadata Transforms
|
|
709
839
|
</h1>
|
|
710
|
-
<nav class="page-toc" id="page-toc-top"><ul><li><a href="#metadata-transforms">Metadata
|
|
840
|
+
<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>
|
|
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
|
|
847
|
+
Metadata 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>
|
|
857
|
+
<strong>Command-line</strong>: <code>--meta KEY=VALUE</code> (highest priority)
|
|
728
858
|
</li>
|
|
729
859
|
|
|
730
860
|
<li>
|
|
731
|
-
<strong>
|
|
861
|
+
<strong>Document</strong>: Metadata embedded in the document (YAML, MMD, or Pandoc format)
|
|
732
862
|
</li>
|
|
733
863
|
|
|
734
864
|
<li>
|
|
735
|
-
<strong>
|
|
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
|
|
875
|
+
Basic 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
|
-
<
|
|
753
|
-
<
|
|
754
|
-
<span class="
|
|
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
|
-
|
|
758
|
-
</
|
|
888
|
+
<!-- Outputs: # HELLO WORLD -->
|
|
889
|
+
</pre>
|
|
890
|
+
</div>
|
|
759
891
|
|
|
760
892
|
<p>
|
|
761
893
|
Transforms can be chained using colons:
|
|
762
894
|
</p>
|
|
763
895
|
|
|
764
|
-
<
|
|
765
|
-
<
|
|
766
|
-
<span class="
|
|
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
|
|
769
|
-
|
|
770
|
-
</
|
|
901
|
+
<span class="gh"># [%title<span class=\"emoji\">:title:</span>split( ):first]</span>
|
|
902
|
+
<!-- Outputs: # Hello -->
|
|
903
|
+
</pre>
|
|
904
|
+
</div>
|
|
771
905
|
|
|
772
906
|
<h2 id="enabling-transforms">
|
|
773
|
-
Enabling
|
|
907
|
+
Enabling 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
|
-
<
|
|
781
|
-
|
|
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
|
|
924
|
+
Case 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
|
-
<
|
|
800
|
-
<
|
|
801
|
-
<span class="
|
|
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
|
-
|
|
805
|
-
</
|
|
941
|
+
<!-- Outputs: HELLO WORLD -->
|
|
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
|
-
<
|
|
816
|
-
<
|
|
817
|
-
<span class="
|
|
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
|
-
|
|
821
|
-
</
|
|
959
|
+
<!-- Outputs: hello world -->
|
|
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
|
-
<
|
|
832
|
-
<
|
|
833
|
-
<span class="
|
|
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
|
-
|
|
837
|
-
</
|
|
977
|
+
<!-- Outputs: Hello World -->
|
|
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
|
-
<
|
|
848
|
-
<
|
|
849
|
-
<span class="
|
|
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
|
-
|
|
853
|
-
</
|
|
995
|
+
<!-- Outputs: Hello world -->
|
|
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
|
-
<
|
|
868
|
-
<
|
|
869
|
-
<span class="
|
|
1011
|
+
<div class="highlight">
|
|
1012
|
+
<pre><span></span>---
|
|
1013
|
+
<span class="gu">title: " hello world "</span>
|
|
1014
|
+
<span class="gu">---</span>
|
|
870
1015
|
|
|
871
1016
|
[%title:trim]
|
|
872
|
-
|
|
873
|
-
</
|
|
1017
|
+
<!-- Outputs: hello world -->
|
|
1018
|
+
</pre>
|
|
1019
|
+
</div>
|
|
874
1020
|
|
|
875
1021
|
<h3 id="slug-slugify">
|
|
876
|
-
<code>slug</code
|
|
1022
|
+
<code>slug</code> / <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
|
-
<
|
|
884
|
-
<
|
|
885
|
-
<span class="
|
|
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
|
-
|
|
889
|
-
</
|
|
1035
|
+
<!-- Outputs: my-great-post -->
|
|
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
|
-
<
|
|
900
|
-
<
|
|
901
|
-
<span class="
|
|
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
|
-
|
|
905
|
-
</
|
|
1053
|
+
<!-- Outputs: https://example.com -->
|
|
1054
|
+
</pre>
|
|
1055
|
+
</div>
|
|
906
1056
|
|
|
907
1057
|
<p>
|
|
908
|
-
<strong>
|
|
1058
|
+
<strong>Regex replacement:</strong>
|
|
909
1059
|
</p>
|
|
910
1060
|
|
|
911
|
-
<
|
|
912
|
-
<
|
|
913
|
-
<span class="
|
|
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
|
-
|
|
917
|
-
</
|
|
1067
|
+
<!-- Outputs: Hello N World -->
|
|
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
|
-
<
|
|
928
|
-
<
|
|
929
|
-
<span class="
|
|
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
|
-
|
|
1085
|
+
<!-- Outputs: Hello -->
|
|
933
1086
|
|
|
934
1087
|
[%title:substr(-5)]
|
|
935
|
-
|
|
936
|
-
</
|
|
1088
|
+
<!-- Outputs: World (last 5 characters) -->
|
|
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
|
-
<
|
|
947
|
-
<
|
|
948
|
-
<span class="
|
|
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
|
-
|
|
952
|
-
</
|
|
1106
|
+
<!-- Outputs: This is a very... -->
|
|
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
|
-
<
|
|
963
|
-
<
|
|
964
|
-
<span class="
|
|
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
|
-
|
|
968
|
-
</
|
|
1124
|
+
<!-- Outputs: olleH -->
|
|
1125
|
+
</pre>
|
|
1126
|
+
</div>
|
|
969
1127
|
|
|
970
1128
|
<h2 id="array-transforms">
|
|
971
|
-
Array
|
|
1129
|
+
Array 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
|
-
<
|
|
983
|
-
<
|
|
984
|
-
<span class="
|
|
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
|
-
|
|
988
|
-
|
|
989
|
-
</
|
|
1146
|
+
<!-- Outputs: tag1 (first element as representation) -->
|
|
1147
|
+
<!-- Use with :first, :last, :slice, or :join to work with the array -->
|
|
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
|
-
<
|
|
1000
|
-
<
|
|
1001
|
-
<span class="
|
|
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
|
-
|
|
1005
|
-
</
|
|
1165
|
+
<!-- Outputs: tag1 | tag2 | tag3 -->
|
|
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
|
-
<
|
|
1016
|
-
<
|
|
1017
|
-
<span class="
|
|
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
|
-
|
|
1021
|
-
</
|
|
1183
|
+
<!-- Outputs: tag1 -->
|
|
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
|
-
<
|
|
1032
|
-
<
|
|
1033
|
-
<span class="
|
|
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
|
-
|
|
1037
|
-
</
|
|
1201
|
+
<!-- Outputs: tag3 -->
|
|
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
|
-
<
|
|
1048
|
-
<
|
|
1049
|
-
<span class="
|
|
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
|
-
|
|
1053
|
-
|
|
1054
|
-
---</span>
|
|
1055
|
-
<span class="gh">text: Hello
|
|
1219
|
+
<!-- Outputs: tag1,tag2 -->
|
|
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
|
-
|
|
1060
|
-
</
|
|
1226
|
+
<!-- Outputs: Hello (characters 0-5) -->
|
|
1227
|
+
</pre>
|
|
1228
|
+
</div>
|
|
1061
1229
|
|
|
1062
1230
|
<h2 id="utility-transforms">
|
|
1063
|
-
Utility
|
|
1231
|
+
Utility 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
|
-
<
|
|
1075
|
-
<
|
|
1076
|
-
<span class="
|
|
1242
|
+
<div class="highlight">
|
|
1243
|
+
<pre><span></span>---
|
|
1244
|
+
<span class="gu">desc: ""</span>
|
|
1245
|
+
<span class="gu">---</span>
|
|
1077
1246
|
|
|
1078
1247
|
[%desc:default(No description)]
|
|
1079
|
-
|
|
1080
|
-
</
|
|
1248
|
+
<!-- Outputs: No description -->
|
|
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>&</code>, <code><</code>, <code>></code>, <code>"</code>, <code>'</code>).
|
|
1088
1258
|
</p>
|
|
1089
1259
|
|
|
1090
|
-
<
|
|
1091
|
-
<
|
|
1092
|
-
<span class="
|
|
1260
|
+
<div class="highlight">
|
|
1261
|
+
<pre><span></span>---
|
|
1262
|
+
<span class="gu">title: A & B</span>
|
|
1263
|
+
<span class="gu">---</span>
|
|
1093
1264
|
|
|
1094
1265
|
[%title:html_escape]
|
|
1095
|
-
|
|
1096
|
-
</
|
|
1266
|
+
<!-- Outputs: A &amp; B -->
|
|
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
|
-
<
|
|
1107
|
-
<
|
|
1108
|
-
<span class="
|
|
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
|
-
|
|
1112
|
-
</
|
|
1284
|
+
<!-- Outputs: image.jpg -->
|
|
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
|
-
<
|
|
1123
|
-
<
|
|
1124
|
-
<span class="
|
|
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
|
-
|
|
1128
|
-
</
|
|
1302
|
+
<!-- Outputs: hello%20world -->
|
|
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
|
-
<
|
|
1139
|
-
<
|
|
1140
|
-
<span class="
|
|
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
|
-
|
|
1144
|
-
</
|
|
1320
|
+
<!-- Outputs: hello world -->
|
|
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
|
-
<
|
|
1155
|
-
<
|
|
1156
|
-
<span class="
|
|
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
|
-
|
|
1160
|
-
</
|
|
1338
|
+
<!-- Outputs: https://example.com -->
|
|
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
|
-
<
|
|
1171
|
-
<
|
|
1172
|
-
<span class="
|
|
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
|
-
|
|
1176
|
-
</
|
|
1356
|
+
<!-- Outputs: Hello! -->
|
|
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
|
-
<
|
|
1187
|
-
<
|
|
1188
|
-
<span class="
|
|
1368
|
+
<div class="highlight">
|
|
1369
|
+
<pre><span></span>---
|
|
1370
|
+
<span class="gu">title: Hello'World</span>
|
|
1371
|
+
<span class="gu">---</span>
|
|
1189
1372
|
|
|
1190
|
-
[%title:remove(
|
|
1191
|
-
|
|
1192
|
-
</
|
|
1373
|
+
[%title:remove(')]
|
|
1374
|
+
<!-- Outputs: HelloWorld -->
|
|
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
|
-
<
|
|
1203
|
-
<
|
|
1204
|
-
<span class="
|
|
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
|
-
|
|
1208
|
-
</
|
|
1392
|
+
<!-- Outputs: --- -->
|
|
1393
|
+
</pre>
|
|
1394
|
+
</div>
|
|
1209
1395
|
|
|
1210
1396
|
<h2 id="formatting-transforms">
|
|
1211
|
-
Formatting
|
|
1397
|
+
Formatting 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
|
-
<
|
|
1223
|
-
<
|
|
1224
|
-
<span class="
|
|
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
|
-
|
|
1228
|
-
</
|
|
1414
|
+
<!-- Outputs: $42.50 -->
|
|
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
|
-
<
|
|
1239
|
-
<
|
|
1240
|
-
<span class="
|
|
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
|
-
|
|
1244
|
-
</
|
|
1432
|
+
<!-- Outputs: 5 -->
|
|
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
|
-
<
|
|
1255
|
-
<
|
|
1256
|
-
<span class="
|
|
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
|
-
|
|
1260
|
-
</
|
|
1450
|
+
<!-- Outputs: 00042 -->
|
|
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>"true"</code> if the value contains the specified string, <code>"false"</code> otherwise.
|
|
1268
1460
|
</p>
|
|
1269
1461
|
|
|
1270
|
-
<
|
|
1271
|
-
<
|
|
1272
|
-
<span class="
|
|
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
|
-
|
|
1276
|
-
</
|
|
1468
|
+
<!-- Outputs: true -->
|
|
1469
|
+
</pre>
|
|
1470
|
+
</div>
|
|
1277
1471
|
|
|
1278
1472
|
<h2 id="datetime-transforms">
|
|
1279
|
-
Date/Time
|
|
1473
|
+
Date/Time 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
|
|
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
|
-
<
|
|
1291
|
-
<
|
|
1292
|
-
<span class="
|
|
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
|
-
|
|
1490
|
+
<!-- Outputs: 2024 -->
|
|
1296
1491
|
|
|
1297
1492
|
[%date:strftime(%B %d, %Y)]
|
|
1298
|
-
|
|
1299
|
-
</
|
|
1493
|
+
<!-- Outputs: March 15, 2024 -->
|
|
1494
|
+
</pre>
|
|
1495
|
+
</div>
|
|
1300
1496
|
|
|
1301
1497
|
<h2 id="transform-chaining">
|
|
1302
|
-
Transform
|
|
1498
|
+
Transform 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
|
-
<
|
|
1310
|
-
<
|
|
1311
|
-
<span class="
|
|
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
|
|
1510
|
+
[%title<span class=\"emoji\">:title:</span>split( ):first]
|
|
1314
1511
|
<!--
|
|
1315
|
-
<span class="
|
|
1316
|
-
<span class="
|
|
1317
|
-
<span class="
|
|
1512
|
+
<span class="w"> </span><span class="k">1.</span> title -> "Hello World"
|
|
1513
|
+
<span class="w"> </span><span class="k">2.</span> split( ) -> ["Hello", "World"] (array)
|
|
1514
|
+
<span class="w"> </span><span class="k">3.</span> first -> "Hello"
|
|
1318
1515
|
-->
|
|
1319
|
-
</
|
|
1516
|
+
</pre>
|
|
1517
|
+
</div>
|
|
1320
1518
|
|
|
1321
1519
|
<p>
|
|
1322
|
-
<strong>
|
|
1520
|
+
<strong>Example with dates:</strong>
|
|
1323
1521
|
</p>
|
|
1324
1522
|
|
|
1325
|
-
<
|
|
1326
|
-
<
|
|
1327
|
-
<span class="
|
|
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
|
-
|
|
1331
|
-
</
|
|
1529
|
+
<!-- Outputs: 2024 -->
|
|
1530
|
+
</pre>
|
|
1531
|
+
</div>
|
|
1332
1532
|
|
|
1333
1533
|
<h2 id="notes">
|
|
1334
1534
|
Notes
|