Template context & schema (for editors)
This page is for users who build or tweak templates. It explains the two halves of a parameterized template.
Context schema — what parameters exist
The context schema is a JSON Schema that defines the parameters a template accepts: their names, types, and any defaults. It's the contract between the template's code and the values a user fills in. Examples of parameters: title (text), price (number), imageUrl (a file/URL), accentColor (a colour). Two extras worth knowing: "format": "table/tabs" on a list makes the editor show it as an editable table, and propertyOrder controls the order fields appear in the form.
You can inspect a template's schema before using it to see exactly which parameters it expects.
Context values — the filled-in values
The context values (the "template context") are the actual values for one content item — e.g. { "title": "Lunch", "price": "7.90" }. Each template-based content item stores its own values; rendering combines the code + schema + values into the final image or video.
Working with templates as an editor
Create a template from HTML/CSS/JS plus its context schema; choose image or video rendering. A sample item is created so you can see it immediately.
Edit the code to change the layout/styling for all items using the template.
Edit the schema / rename a parameter when you add or change inputs — keep existing items in mind, since they reference parameter keys.
Inspect or update an item's context values to change one item without touching the template.
See Building and editing templates for the step-by-step, and Template examples (real) for full working code.
Good practice
Keep parameter keys stable; renaming a key affects every item that uses it. (Renaming only the friendly label is safe — see Building and editing templates.)
Provide sensible defaults in the schema so new items look right immediately.
Test with the auto-created sample before rolling a template out widely.
Building a template from scratch (or wiring it to an external data source) is an advanced / bespoke task — impressBox can build these for you.