Task 10d: rewrite trade-pro article.html from the thin pro-article
skeleton to the cms news/[slug].astro design (pixel baseline
dist/hesupipe/en/news/<slug>/):
- hero reuses the 10c sf-tp-page-hero component (cover as bg image +
brand-soft overlay) with the breadcrumb inside; the platform contract
class .pro-article-hero stays on the hero section and the pro-base
centered/giant-h1 skeleton is flattened by specificity in pro.css
- meta row (category pill - publish_date - author), rich-text body via
body_copy with a cms rich-body typographic layer, divider, author
card, next-story navigation
- related band below the content: More News side box (120px thumb rows,
3 items, self and next-story excluded) + dark side CTA + back link,
1fr+300px grid collapsing at 900/620
- date field is meta.fields.publish_date (blueprints post definition),
rendered raw as YYYY-MM-DD
- new responsive rules live in the 10d media blocks appended at the end
of pro.css to avoid the 10c source-order cascade trap; the 620 hero
h1 compact size is re-declared at the same specificity because the
10d no-media h1 reset (0,4,0) outranks the 10c 620 rule (0,3,0)
- tests: test_trade_pro_article_layout_structure builds a site with a
cover/date/rich-body post plus 4 other posts and asserts hero/meta/
body/author/next/related structure, .pro-article-hero presence, no
bare arrow characters
Co-Authored-By: Claude Code <noreply@anthropic.com>
Task 9 (new design, not a cms port): _professional_components.html gains
an icon(name, size, cls) macro — 10 inline line-style glyphs (arrow-right,
arrow-left, chevron-down, check, phone, mail, location, download, search,
quote), 24x24 viewBox, stroke=currentColor, stroke-width 1.5, round
caps/joins, decorative aria-hidden + focusable=false, default size
var(--sf-tp-icon-size-md, 20px), unknown names fall back to arrow-right.
Every glyph is a single <path> so the d attribute needs no |safe.
All bare text arrows (->, <-, ↗, ▾, ⌕) in the macro library, pro.html,
site.html and pages/* are replaced with macro calls (site.html keeps a
self-contained copy of the arrow glyph because its rendering envs cannot
import the macro library); the filters macro search box gains an inline
search icon; footer links gain small arrows. theme.css adds .sf-tp-icon
alignment, in-button icon spacing, and search-box icon positioning.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Fifth built-in theme: English-first international B2B skeleton registered
via manifest discovery, builds real sites end-to-end. pro.html derives
from industrial with lang=en, href-set value-comparison English fallback
nav (header + footer), sf-tp-* button classes and hard-coded #0b3d91
theme-color until the map entry lands. pages/ ships all 14 kinds; macro
library is an English passthrough copy pending the Phase 3 cms port.
Co-Authored-By: Claude Code <noreply@anthropic.com>