Feature grid
The feature_grid block displays a set of repeating "feature" items, each with an optional icon, a heading, and a body. Use it for "why choose us" sections, product-feature highlights, or any list of short pitches laid out side by side.
Fields
| Field | Description | Required? |
|---|---|---|
heading | Section heading shown above the grid. Placeholder example: "Why choose us". | No |
icon_url (per feature) | URL of an image icon for this feature. | No |
icon (per feature) | Emoji or inline SVG text used as the icon when no icon_url is set. | No |
heading (per feature) | Feature title, e.g. "Fast setup". | No |
body (per feature) | Feature description. Accepts raw HTML. | No |
Features are added and removed with the "Add feature" button; there's no fixed limit on how many you add.
HTML safety
The section heading, and each feature's icon, heading, and icon_url are escaped and rendered as plain text (the icon_url is only ever used as an <img src> attribute value, not rendered as markup). Each feature's body is rendered without escaping, so it accepts raw HTML, letting you add links, bold text, or lists inside a feature description.
This block also supports the standard appearance controls: background color, border, text color, padding, margin.
Using it
{{block:product-features}} Typically placed on a marketing or product page just below a hero section, to summarize key selling points at a glance.
Example
A SaaS product page with three features, using emoji icons instead of image URLs:
| icon | heading | body |
|---|---|---|
| ⚡ | Fast setup | Live in under 5 minutes with our <a href="/docs/quickstart">quickstart guide</a>. |
| 🔒 | Secure by default | SOC 2 Type II certified. Data encrypted at rest and in transit. |
| 📈 | Scales with you | From 10 to 10 million requests a day on the same plan. |
Section heading: "Why teams choose us". Because body isn't escaped, the first row's link markup renders as an actual clickable link rather than literal angle brackets.