fix: make header height configurable (#972)
Makes the hero header height configurable via a new
`header_section_class` parameter, instead of hard-coding the vertical
padding in the header partials.
- Adds `header_section_class` to `layouts/_partials/site-header.html`
(home/list, both with and without a featured image) and
`layouts/_partials/page-header.html` (single page with a featured
image).
- Resolved with `.Param`, so it can be set site-wide under `[params]` or
overridden per page in front matter.
- Keeps the existing Tachyons defaults for each header, so current sites
render identically unless they opt in.
Closes #504
Documentation PR: gohugo-ananke/documentation#20
Adds a phase to `scripts/test-hugo-quickstart.ts` that builds two single
pages with featured images — one overriding `header_section_class` and
one using the default — and asserts the override is applied, does not
leak to other pages, and the historical default spacing (`tc-l pv6 ph3
ph4-ns`) is preserved.
Verified manually that:
- The site-wide param, per-page override, and `.Param` precedence all
resolve correctly across the site header (featured + non-featured) and
page header.
- Defaults are byte-for-byte unchanged when the parameter is unset.
- The new assertion fails if the partial regresses to a hard-coded
class.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>