Skip to content

Playfair font + self-hosting, author pages, socials, privacy, CTA polish - #10

Merged
HumbleBee14 merged 4 commits into
mainfrom
feature/self-hosted-fonts
Jul 13, 2026
Merged

Playfair font + self-hosting, author pages, socials, privacy, CTA polish#10
HumbleBee14 merged 4 commits into
mainfrom
feature/self-hosted-fonts

Conversation

@HumbleBee14

@HumbleBee14 HumbleBee14 commented Jul 13, 2026

Copy link
Copy Markdown
Member

A batch of type, design, and structure work. Build, astro check (0 errors), the 50-test suite, and lint all pass locally.

Type

  • Display font → Playfair Display (site-wide), replacing Fraunces' quirky hooked f. Only the display role changes (headings, "kernels", captions); Source Serif 4 body / Hanken Grotesk UI / JetBrains Mono labels unchanged.
  • All fonts self-hosted via @fontsource (latin subset, font-display: swap) — Google Fonts <link> removed. Verified: woff/woff2 ship in dist/_astro/, zero fonts.googleapis in the output. OG images render in Playfair.

Contribute CTA (home + /contribute)

  • Write is the accent primary (matches the header Write button → consistent "Write = accent"); Pitch is the outlined secondary; Browse the repo demoted to a quiet link. New reusable .btn-accent.

Author pages

  • Profile shows the 5 most recent articles + a "See all N articles" button.
  • New /authors/<handle>/articles — full per-author archive, newest first, shareable. Co-authored posts appear on every co-author's pages.
  • Profile moved to [handle]/index.astro; article rows now use the standard blog-row design with the .chip--sm topic (dropped the redundant author name on their own page).

Socials

  • Author profile socials are now icon buttons (shared src/lib/socialIcons.ts, reused by the footer). Shown only when set, profile-only (never on posts). Globe for website, envelope for email. Added Dinesh's X / LinkedIn / website.

Footer + policy

  • Replaced the redundant "Editorial policy" (it just reopened /contribute) with "Privacy", and added a plain-language /privacy page (analytics, cookies, no accounts, contact).

Editor + misc

  • /write divider centered (width: 100% on .write-separator); the published site already centered it.
  • HOW-TO-SUBMIT.md gains Option 3 — email it in, plus a first-time author-details prompt.
  • Contact-page email is responsive (clamp) so it no longer wraps.

Best judged on the Cloudflare preview — hero f, the Contribute CTA, /authors/dinesh + its "See all" archive, /privacy, and the /write divider.

- Display font is now Newsreader (calmer, screen-optimised editorial
  serif) instead of Fraunces, whose hooked f read as too quirky.
- All four families (Newsreader, Hanken Grotesk, Source Serif 4,
  JetBrains Mono) are now self-hosted via @fontsource (latin subset,
  font-display: swap) instead of loaded from Google Fonts. Removes the
  third-party request/connection for faster first paint and better
  privacy; no visual FOUC change.
- Dropped the Google Fonts <link>/preconnect from BaseLayout.
- OG images render titles/taglines in Newsreader (normal + italic).
- Removed now-unused @fontsource/fraunces and instrument-serif.

Build, astro check, and tests all pass locally.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 13, 2026

Copy link
Copy Markdown

Deploying mlsystems with  Cloudflare Pages  Cloudflare Pages

Latest commit: 38f05cc
Status:⚡️  Build in progress...

View logs

…mail

Font:
- Switch display serif to Playfair Display site-wide (Newsreader trial
  reverted); still self-hosted via @fontsource, OG images updated.

Contribute CTA (home + /contribute):
- Write is now the accent primary (matches header Write -> 'Write = accent'
  everywhere); Pitch is the outlined secondary; GitHub demoted to a quiet
  link. Added reusable .btn-accent.

Author pages:
- Profile shows the 5 most recent articles + a 'See all N articles' button.
- New /authors/<handle>/articles lists every article, newest first
  (shareable per-author archive). Co-authored posts appear on each author.
- Profile route moved to [handle]/index.astro; article rows now use the
  standard blog-row design with the .chip--sm topic (no redundant name).

Socials:
- Author profile socials are icon buttons (shared src/lib/socialIcons.ts,
  reused by the footer); shown only when set, profile-only. Globe for
  website, envelope for email. Added Dinesh's X / LinkedIn / website.

Footer / policy:
- Replace redundant 'Editorial policy' (opened /contribute) with 'Privacy';
  add a plain-language /privacy page (analytics, cookies, no accounts).

Editor / misc:
- Center the /write divider (width:100% on .write-separator).
- HOW-TO-SUBMIT.md gains Option 3 (email it in) + author-details prompt.
- Contact email is responsive (clamp) so it no longer wraps.
@HumbleBee14 HumbleBee14 changed the title Self-host fonts; switch display serif to Newsreader Playfair font + self-hosting, author pages, socials, privacy, CTA polish Jul 13, 2026
- Archive header: 'Articles by <name>' — muted italic 'Articles by', author
  name in ink and linked to their profile (accent on hover), smaller size.
- Author profile: cap at 5 recent, always show a centered 'See all
  articles' button below.
- Contributors page: inclusive lede (engineers, researchers, students),
  dropped the count and attribution line; add a name-filter that appears
  only when the list exceeds 12 (scales without a long scroll).
- Sort already by article count desc, name tiebreak (unchanged).
@HumbleBee14
HumbleBee14 merged commit 73c5ee0 into main Jul 13, 2026
1 of 2 checks passed
@HumbleBee14
HumbleBee14 deleted the feature/self-hosted-fonts branch July 13, 2026 06:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant