The top of an article; category, title, byline, date, reading time, cover image.

Last updated

Engineering

Zero JavaScript until it earns its place

Why every section renders without a runtime, and what the islands are for.

Ada LovelaceALAda LovelaceHead of Design

6 min read

Placeholder photograph
Show code
<PostHeader eyebrow="Engineering" heading="Zero JavaScript until it earns its place" author={{ name, avatar?, role? }} date="2026-09-18" readingTime="6 min read" media={{ src, alt }} />

Add

npx @ava-ui/apogee add post-header

API

Prop Type Default Category Description
eyebrow string — content Category or kicker.
heading string — content Required.
description string — content Standfirst.
author { name, avatar?, role? } — content
date string — content Required ISO date.
readingTime string — content Free text, e.g. “6 min read”.
media { src, alt, width?, height? } — content Cover image.
locale string page locale or 'en' content Date formatting locale.
layout 'centered' | 'split' 'centered' layout
background, spacing, headingLevel, id headingLevel is 1 layout As on every section.

Layouts

Design

Designing sections that editors can fill

Ada LovelaceALAda LovelaceHead of Design

4 min read

Placeholder photograph
Show code
<PostHeader layout="split" … />

Accessibility

  • Renders a header labelled by the title; the default heading level is 1, one per page.