- JournalFeaturedImage renders <picture> from featured_images[].variants:
a WebP source and the original format as srcset fallback, the
original's width and height, alt; lazy in cards, eager with
fetchpriority high on the post page; unchanged without variants
- app/utils/srcset.ts (imageSrcsets) with node tests
- acme fixtures and SSR expectations for both cases
- JournalPostCard: the title link is the card's only anchor; the image is
no longer a link and the separate read-more link is gone; the whole card
stays clickable through a CSS stretched link with the focus ring on the
card; prop headingLevel (2 | 3, default 2)
- related posts keep their h2 and render their cards at h3; JournalPostList
passes headingLevel through
- smoke checks headings=strict (one h1, no skipped level) and cardlinks=N
on every fixture page; expectation files for postTitleTag forced to h1
and p (the documented two-h1 and no-h1 consequences)
BREAKING CHANGE: .journal-post-card__more and the image link
(.journal-post-card__image is now a div) are removed from post cards.
- index and category pages paginate with ?page=N and 404 out of range
- category content renders above the list through the html gate
- related posts fall back to the latest posts
- --journal-* tokens and neutral base styles
- pl/en strings registered only for locales the app enables