📄️ The basics
You don't need to be a developer to understand templates. If you've ever used a mail-merge to send the same letter to a hundred people — each one greeting…
📄️ Writing templates
SHIPM8 templates use Handlebars as the underlying engine. Any Handlebars feature works here, and SHIPM8 adds its own formatting and transformation helpers on…
📄️ Formatting values
Formatting helpers follow the same Angular-pipe style used by Handlebars. You can chain them to combine effects, for example:
📄️ Transforming text & dates
Transformation helpers change the structure or content of a value — not just how it looks.
📄️ Working with lists
SHIPM8 extends Handlebars with a set of array helpers. Several are block helpers — they create a new inner context rather than returning a value inline, and…
📄️ Conditional logic
Logic helpers let you conditionally include or exclude template content based on field values, comparisons, array membership, and string matching.
📄️ Calculations & constants
The templating engine provides built-in constants and functions for date handling and arithmetic — no custom data binding required.
📄️ Selecting data with JSONPath
SHIPM8 templates use JSONPath Plus syntax to navigate data. You can test expressions at jsonpath.com.
📄️ HTML & JSON output
HTML editors such as CKEditor enforce valid HTML structure. When you place Handlebars block helpers (e.g. {{#each}}) as free text inside a <table>, the…