5 Commits
Author SHA1 Message Date
George Cushen 80913c028a feat(hero): Phase 3 — media slot and split-layout variants
- New `content.media` field accepts image (Hugo-pipeline-processed for
  responsive srcset) or video (passes through as <video>). Optional
  `dark_src` provides a dark-mode image variant.
- New `design.layout` enum: centered (default) | split-left |
  split-right | stacked. Split layouts auto-set alignment to 'left'
  unless explicitly overridden.
- Bump trust-strip star size from w-4 to w-5 for visual presence.
- Two new shared partials in layouts/_partials/functions/:
  - resolve_image_resource: path → {resource | fallback_url}
  - process_image_for_props: path → {src, srcset, width, height}
  These factor out the resource-resolution + responsive-processing
  pipeline so media-bearing blocks don't have to inline it.
- Capabilities registry: media-image, media-video, split-layouts.
- Landing page _index.md: keeps the centered hero (no behavioural
  change) but documents the opt-in pattern for split layouts inline.
2026-05-02 17:52:57 +01:00
George Cushen f32f468cf3 feat(hero): Phase 2 — size presets, alignment, tighter default padding
- Drop the orphan `pt-14` on the outer wrapper (was meant for
  transparent floating headers; site headers don't need it)
- New `design.size` enum: compact | default | tall | viewport | none
  - default (new): py-24 sm:py-32 lg:py-40 — modern 2026 baseline
    (~30% less than the previous py-32 sm:py-48 lg:py-56)
  - compact: utility heroes
  - tall: the previous default — opt-in for splashy weight
  - viewport: min-h-screen with vertical centring for splash heroes
- New `design.alignment` enum: center (default) | left
  - Threads through eyebrow/title/subtitle/CTAs/trust/announcement
  - 'left' is the prep work for Phase 3 split layouts
- Backward compat: `no_padding: true` still works — maps to size: "none"
  when size is unset (legacy field marked deprecated in schema)
- Capabilities registry: size-presets, alignment
2026-05-02 17:34:03 +01:00
George Cushen 6f61c4ac30 feat(hero): Phase 1 — title highlight, eyebrow, CTA styles, trust strip, announcement badge
- Title: [bracket] syntax wraps word(s) in primary→secondary gradient
  span (negative lookahead avoids markdown link conflicts)
- Eyebrow: small primary-coloured uppercase label rendered just above
  the title — distinct from the announcement pill
- CTAs: per-action style field (gradient | solid | outline | ghost |
  text), rounded-full pill default, primary defaults to gradient with
  brand-coloured shadow glow, secondary defaults to text
- Secondary action: now supports an icon (replaces trailing arrow)
- Trust strip: optional {stars, text} block rendered below CTAs with
  amber star strip and supporting copy
- Announcement: optional {text, color} badge prefix (NEW/BETA chips)
- preact-wrapper: resolves secondary_action.icon into secondary_icon_svg
- Capabilities registry: title-highlight, eyebrow, cta-styles,
  announcement-badge, trust-strip
2026-05-02 17:23:56 +01:00
George Cushen 7bc44d0a31 ci: format 2026-03-03 00:31:09 +00:00
George Cushen 5c03d17d38 feat: add experimental registry 2026-03-03 00:30:27 +00:00