fix(brutalist): hero styled-text fields tolerate bare strings (0.6.1)

Coordinator lesson from the art-deco lane: `field.text` attribute access on a
bare-string seed/settings value errors the whole block to empty (dead band).
eyebrow/headline/subheadline/description now use `|get:"text"|default:` so the
hero accepts {text,...} objects OR bare strings — same fix art-deco shipped in
f2c8b36. cta/logoText object fields are builtin-typed and stay direct.

Also audited per coordinator: no ::icon:: shortcodes in any template/block
(only CSS ::-webkit pseudo-elements); master_pages.json untouched this lane.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Alex Dunmow 2026-07-06 16:02:51 +08:00
parent 72f1a7c8f4
commit ea45d2ddb6
2 changed files with 5 additions and 5 deletions

View File

@ -2,7 +2,7 @@
name = "brutalist" name = "brutalist"
display_name = "Brutalist" display_name = "Brutalist"
scope = "@themes" scope = "@themes"
version = "0.6.0" version = "0.6.1"
description = "Concrete, oversized type, hard 12-col grid theme for design studios, architecture firms and art galleries." description = "Concrete, oversized type, hard 12-col grid theme for design studios, architecture firms and art galleries."
kind = "theme" kind = "theme"
categories = ["templates"] categories = ["templates"]

View File

@ -1,8 +1,8 @@
{# brutalist hero override — oversized display headline (the studio masthead identity). Styled-text fields accept {text} object OR bare string. Fields: eyebrow, headline, subheadline, description, ctaPrimary{.text,.url}, ctaSecondary{.text,.url}, template, backgroundImage. {% img %} takes no nested {% if %} so the bg is one unconditional call. #} {# brutalist hero override — oversized display headline (the studio masthead identity). Styled-text fields accept {text} object OR bare string. Fields: eyebrow, headline, subheadline, description, ctaPrimary{.text,.url}, ctaSecondary{.text,.url}, template, backgroundImage. {% img %} takes no nested {% if %} so the bg is one unconditional call. #}
{% set eyebrowText = eyebrow.text|default:eyebrow %} {% set eyebrowText = eyebrow|get:"text"|default:eyebrow %}
{% set headlineText = headline.text|default:headline %} {% set headlineText = headline|get:"text"|default:headline %}
{% set subText = subheadline.text|default:subheadline %} {% set subText = subheadline|get:"text"|default:subheadline %}
{% set descText = description.text|default:description %} {% set descText = description|get:"text"|default:description %}
{% set pText = ctaPrimary.text %} {% set pText = ctaPrimary.text %}
{% set pUrl = ctaPrimary.url %} {% set pUrl = ctaPrimary.url %}
{% set sText = ctaSecondary.text %} {% set sText = ctaSecondary.text %}