Image captions in post bodies + memo print cleanup - #47
Merged
Conversation
- An <em> directly following an <img> in .prose-bc content now renders as a caption: button typography (type-button), charcoal, tightly attached under the image. - Print: hide the memo hero, Signpost TOC bar, and draft preview banner; they duplicated the print-only header or are screen-only chrome. - Extract the print-only header into MemoPrintHeader and add it to the Toronto memo page, with a Toronto-lockup brand variant matching the navbar.
Webflow's export leaves paragraphs whose only content is a zero-width joiner (<p>‍</p>). They render as a full empty text line plus paragraph margin, producing large gaps before section headings. Remove invisible-only paragraphs in extractHeadings, the shared entry point for memo, Toronto memo, and post bodies.
Swap the trial woff2 files for the licensed cuts (Klim order 26070690): Söhne Kraftig + Fett, Financier Text Regular, Founders Grotesk Mono Regular. Weight ranges map the site's requested weights onto the licensed files; italics and unlicensed bolds fall back to browser synthesis. Also point the Footer wordmark at the declared family — it referenced "Test Soehne Fett", which was never declared, so it had been rendering in system sans.
The sticky TOC bar sits at the top of the article wrapper and reserves its 46px height even while hidden at the top of the page, inflating the gap between the memo hero and the key messages box. A matching negative bottom margin collapses the reserved space; when stuck the bar overlays content exactly as before.
Drops the tracking compression from type-display-sm, type-h1/h2, and type-body/type-default, plus the About page's inline copy of the old display value. The uppercase label/button tracking (+0.14em) stays.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Image captions (all
.prose-bccontent — memos, posts, builders):<em>directly following an<img>in the same paragraph now renders as a caption: the label/button typeface (--font-label, Founders Grotesk Mono) at 13px, charcoal-500, displayed as a block tightly attached under the image (image bottom margin dropped, 0.5em gap).Print output cleanup:
MemoHero(duplicate large title/headshot block) in print on both memo pages — the print-only header already carries title, author, and date.DraftPreviewBannerin print, so printing a draft preview omits the amber DRAFT bar.Toronto memo print parity:
MemoPrintHeadercomponent (no markup change on the main page).brand="toronto"variant that reproduces the navbar's Toronto lockup (white wordmark + divider + "Toronto" in the accent-blue box), usingtheme-toronto bg-accenttokens andprint-color-adjust: exactso the box actually prints.Content cleanup:
<p>containing only zero-width characters) inextractHeadings— they rendered as an empty text line + margin, causing large gaps before section headings on memos and posts.Body typography:
type-body,type-body-lg,type-default) tightened from 1.6 to 1.4, following a text-layout audit (body copy at 20-24px reads better in the 1.3-1.5 range).Fonts:
Testing
pnpm buildcompiles cleanly.eslintpasses on all changed files (repo-widepnpm lintfails on generated.nextoutput in a stale.claude/worktrees/directory — pre-existing, unrelated).