Skip to content

Data Expressions

Press uses {{ }} syntax to insert dynamic values into documents.

Syntax

ExpressionDescriptionExample
{{ data.field }}Top-level data field{{ data.title }}
{{ data.nested.field }}Nested object field{{ data.client.name }}
{{ data.items[0] }}Array element by index{{ data.rows[0].name }}
{{ item.field }}Current repeat item{{ person.email }}
{{ attrs.name }}Component attribute{{ attrs.title }}
{{ assets.data.field }}Asset data{{ assets.data.defaults.currency }}
{{ section.data.field }}Flow group data{{ section.data.chapter-title }}

Ternary Expressions

{{ condition ? valueIfTrue : valueIfFalse }}
PatternExample
Default value{{ data.name ? data.name : 'Unknown' }}
Conditional text{{ data.urgent ? 'URGENT' : 'Standard' }}
Conditional sizing{{ data.sidebar ? '60%' : '100%' }}
Conditional style{{ data.active ? 'bold' : 'normal' }}

Where Expressions Work

ContextExample
Text content<p>{{ data.message }}</p>
Attribute values<frame width="{{ data.width }}">
Image sources<img src="{{ data.photo }}" />
Style values<span font-color="{{ data.highlight }}">
Component attrs<my-comp title="{{ data.title }}" />
Page names<page name="{{ section.data.type }}" />

Special Variables

VariableAvailable InDescription
data.*EverywhereTop-level document data
assets.data.*EverywhereAsset-defined constant data
itemInside <repeat>Current iteration item (default name)
attrs.*Inside componentsComponent attribute values
section.data.*Inside group repeatsCurrent flow group's data
visualization.groupsInside visualisationsChart data groups

Outline Entry Properties

Available when iterating over outline collections with <repeat outline="...">:

PropertyDescription
entry.page-numberPage where the element appears
entry.text-contentText content of the element
entry.indexPosition in the collection (1-based)
entry.levelHierarchy level (if set)