Pipes
A pipe changes a value before it's inserted. Add it after a | inside any token, and chain as many as you like.
{text name="Title" | lower | trim | kebab}
{clipboard | json-pretty}
{selection | ai:"Proofread"}Built-in pipes
Case
| Pipe | Result |
|---|---|
upper | UPPERCASE |
lower | lowercase |
title | Title Case |
sentence | Sentence case |
camel | camelCase |
pascal | PascalCase |
snake | snake_case |
kebab | kebab-case |
constant | CONSTANT_CASE |
Text and lines
| Pipe | Result |
|---|---|
trim | Removes spaces and new lines at both ends |
sort-lines | Sorts lines |
dedupe-lines | Removes duplicate lines |
remove-empty-lines | Removes blank lines |
join-lines | Joins lines with a space, or join-lines:", " |
reverse | Reverses the text |
strip-diacritics | Removes accents: café → cafe |
ordinal | 3 → 3rd |
regex | Find and replace: regex pattern="\s+" replace=" " |
map | Swaps a value for another: map:"Open=OPN, Closed=CLS" |
Encoding
| Pipe | Result |
|---|---|
json-pretty | Formats JSON |
json-minify | Minifies JSON |
json-string | Escapes text as a JSON string |
base64 / base64-decode | Base64 |
url-encode / url-decode | Percent encoding |
AI
ai:"Preset name" runs the value through one of your AI presets. You can also give a prompt instead: ai prompt="Make it shorter".
Named pipes
Save a chain of pipes under a short name, then use it like any built-in pipe.
- Open Building Blocks ▸ Pipes.
- Click +.
- Name it
slugand set the pipes tolower | trim | kebab.
Now use it anywhere:
{text name="Title" | slug}The editor has a + button that lists every pipe, so you can build a chain by clicking.