From 8c8f39cc1159dcd239c386b255b6873bb32d5788 Mon Sep 17 00:00:00 2001 From: joeseverino Date: Thu, 18 Jun 2026 08:49:28 -0500 Subject: [PATCH 1/5] style: tint text selection with the brand navy Add a ::selection rule deriving from --color-primary (the JS navy) as a 25% tint, so selected text stays readable over any background. --- src/styles/base.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/styles/base.css b/src/styles/base.css index a78018c..e44d439 100644 --- a/src/styles/base.css +++ b/src/styles/base.css @@ -129,6 +129,11 @@ body { -moz-osx-font-smoothing: grayscale; } +/* Selection tints with the JS navy so it stays readable over any background. */ +::selection { + background: color-mix(in oklch, var(--color-primary) 25%, transparent); +} + a { color: inherit; text-decoration: none; From c03a947f0140fa0ebfd97a9db4dae796276fd792 Mon Sep 17 00:00:00 2001 From: joeseverino Date: Thu, 18 Jun 2026 08:49:28 -0500 Subject: [PATCH 2/5] docs: describe the PR-based publish flow and site land site publish now opens a PR instead of pushing to main; site land squash-merges it after CI and the Cloudflare preview are green. --- docs/Site-CLI.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/Site-CLI.md b/docs/Site-CLI.md index 166b6ea..5779495 100644 --- a/docs/Site-CLI.md +++ b/docs/Site-CLI.md @@ -34,8 +34,9 @@ never touch the vault except through `sync:content`'s one-way snapshot. | `site featured [ ]` | Show or reorder the home-page featured list | | `site doctor` | Pre-flight health: security, contrast, parity, types, dependency audit — no build | | `site diagnose [--fast\|--json]` | The collect-all gate (wraps `npm run diagnose`) | -| `site publish [--no-push]` | The ship command: gate every published writeup → build + audits → auto-commit + push → verify live | -| `site verify ` | Post-publish live checks: page status, og:image, tag pages, home placement | +| `site publish [--no-push]` | Open the PR: gate every published writeup → build + audits → commit the content snapshot → push the branch → open/update the PR to main | +| `site land []` | After CI and the Cloudflare preview are green: squash-merge the PR → wait for the deploy → verify live | +| `site verify ` | Post-deploy live checks: page status, og:image, tag pages, home placement | | `site manage` | The interactive manager — everything below on one screen | `site -h` lists the rest (`seo`, `compare`, `test`, `release`, `tech`, From 55f055e661d245470dc095053abb373878f319a0 Mon Sep 17 00:00:00 2001 From: joeseverino Date: Thu, 18 Jun 2026 08:49:28 -0500 Subject: [PATCH 3/5] content: update from-wordpress-to-astro publish date to 2026-06-17 Synced from the vault. Homepage visual baselines re-verified: the card sits below the home screenshot fold, so no snapshot changed. --- src/content/writeups/from-wordpress-to-astro/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/writeups/from-wordpress-to-astro/index.md b/src/content/writeups/from-wordpress-to-astro/index.md index b033b44..04e5243 100644 --- a/src/content/writeups/from-wordpress-to-astro/index.md +++ b/src/content/writeups/from-wordpress-to-astro/index.md @@ -5,7 +5,7 @@ description: >- pages, less attack surface, and a one-command publish flow behind a full test gate. published: true -published_at: 2026-06-01T00:00:00.000Z +published_at: 2026-06-17T00:00:00.000Z last_reviewed: 2026-06-17T00:00:00.000Z cover_image: ./images/pagespeed-perfect-scores-cover.png cover_alt: >- From 8a63f97100107e688b409aa698ccf901af0903ce Mon Sep 17 00:00:00 2001 From: joeseverino Date: Thu, 18 Jun 2026 08:54:12 -0500 Subject: [PATCH 4/5] style: make text selection solid brand navy with white text The previous color-mix with transparent washed the navy into a pale tint. Use --color-primary at full strength with --color-bg (white) text; verified by screenshotting a live selection. --- src/styles/base.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/styles/base.css b/src/styles/base.css index e44d439..9a2c53e 100644 --- a/src/styles/base.css +++ b/src/styles/base.css @@ -129,9 +129,10 @@ body { -moz-osx-font-smoothing: grayscale; } -/* Selection tints with the JS navy so it stays readable over any background. */ +/* Brand-navy selection; text flips to the page bg (white) for contrast. */ ::selection { - background: color-mix(in oklch, var(--color-primary) 25%, transparent); + background: var(--color-primary); + color: var(--color-bg); } a { From e628fd1b311049693382694fc8f596fa10073d47 Mon Sep 17 00:00:00 2001 From: joeseverino Date: Thu, 18 Jun 2026 08:59:17 -0500 Subject: [PATCH 5/5] style: make images unselectable and undraggable Photos shouldn't join a select-all or drag out as ghosts. Extends the base img reset with user-select: none and -webkit-user-drag: none. --- src/styles/base.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/styles/base.css b/src/styles/base.css index 9a2c53e..a654bd6 100644 --- a/src/styles/base.css +++ b/src/styles/base.css @@ -167,6 +167,10 @@ img { max-inline-size: 100%; block-size: auto; vertical-align: bottom; + /* Photos aren't text: keep them out of select-all and drag-ghosting. */ + -webkit-user-select: none; + user-select: none; + -webkit-user-drag: none; } picture {