Using Handlebars Templating
Learn how to use Handlebars methods in MindStudio
Last updated
Learn how to use Handlebars methods in MindStudio
Last updated
MindStudio leverages the to make working with variables intuitive and powerful. Handlebars allows you to include, manipulate, and conditionally render data directly in your prompts, outputs, and logic.
Handlebars supports if-else
logic for dynamic outputs:
For a full list of expressions, see .
In addition to standard Handlebars features, MindStudio introduces special methods for advanced functionality:
{{json varName}}
Converts a JSON object into a string format.
Example:
If userProfile
contains:
Usage:
Output:
{{sample varName number token}}
Extracts a portion of the variable's content based on specified parameters.
Parameters:
varName: The variable to sample.
number: The number of items (e.g., lines, words, or letters). If negative, starts from the end.
token: The type of unit to extract (line
, word
, or letter
).
Examples:
Extract the first 5 words:
Extract the last 3 lines:
Extract the first 10 letters:
{{#if condition}}
Converts a conditional block that renders content only when the condition is true.
Example:
If isLoggedIn
is true
Usage:
Output:
{{#unless condition}}
Converts a conditional block that renders content only when the condition is false.
Example:
If isLoggedIn
is false
Usage:
Output:
{{#each array}}
Iterates over an array or object and renders the block for every item.
Example:
If items
contains:
Usage:
Output:
{{#with object}}
Changes the evaluation context to the provided object for the enclosed block.
Example:
If user
contains:
Usage:
Output:
{{lookup object key}}
Dynamically looks up a property from an object using a key.
Example:
If user
contains:
Usage:
Output:
{{log value}}
Logs a value to the console for debugging purposes.
Example:
If debugData
contains:
Usage:
Output:
(Check the browser console for the logged value)
{{get varName "property"}}
Retrieves a nested property using a JSONPath expression from a JSON object.
Example:
If userData
contains:
Usage:
Output:
{{add num increment}}
Adds a numeric increment to a given number.
Example:
If num
is:
Usage:
Output:
{{subtract num decrement}}
Subtracts a numeric value from a given number.
Example:
If num
is:
Usage:
Output:
{{multiply value multiplier}}
Multiplies two numbers.
Example:
If value
is:
Usage:
Output:
{{divide dividend divisor}}
Divides one number by another.
Example:
If dividend
is:
Usage:
Output:
{{eq var1 var2}}
Checks if two values are equal using the double-equals operator.
Example:
If var1
contains:
and var2
contains:
Usage:
Output:
{{gt value1 value2}}
Checks if the first value is greater than the second value.
Example:
If value1
is:
and value2
is:
Usage:
Output:
{{gte value1 value2}}
Checks if the first value is greater than or equal to the second value.
Example:
If value1
is:
and value2 is:
Usage:
Output:
{{lt value1 value2}}
Checks if the first value is less than the second value.
Example:
If value1
is:
and value2
is:
Usage:
Output:
{{lte value1 value2}}
Checks if the first value is less than or equal to the second value.
Example:
If value1
is:
and value2
is:
Usage:
Output:
{{isEmpty varName}}
Evaluates whether a variable is empty (null, undefined, an empty string, an empty array, or an empty object).
Example:
If data
contains:
Usage:
Output:
{{length varName}}
Returns the length of an array or a string. Returns "NaN" if the variable is not an array or string.
Example:
If list
contains:
Usage:
Output:
{{markdown varName}}
Converts a Markdown-formatted string into HTML.
Example:
If markdownText
contains:
Usage:
Output:
{{formattedNumber number fractionDigits}}
Formats a number using locale‑specific formatting with a fixed number of fractional digits.
Example:
If amount
is:
Usage:
Output:
{{abbreviatedNumber number fractionDigits}}
Formats a number into a compact, abbreviated notation (e.g., 1K, 1M) with a specified number of fractional digits.
Example:
If amount
is:
Usage:
Output:
{{date varName format}}
Formats a date string according to the specified format. Supports both custom formats (e.g., "YYYY-MM-DD") and relative keywords like "fromNow" or "toNow".
Example:
If dateString
contains:
Usage:
Output: