From 62c5207dbdc9fd271900df4284567e7dcdbcf495 Mon Sep 17 00:00:00 2001 From: Benoit TRAVERS Date: Sun, 28 Jun 2026 02:08:54 +0200 Subject: [PATCH] Light mode: punchier accent + inverted project logos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - tokens.css: light --text-accent #A52260 -> #C42A6C — a vivid beetroot pink (was a livid/dull magenta), still WCAG-AA on white (~5.08:1). Applies to the landing wordmark/eyebrows/tags and to docs links in light. - Landing.vue: project-card logos are now scheme-aware — the inverted (dark-ink) -light.svg marks in light mode, cream -dark.svg in dark — instead of always using the dark (cream) variant. Co-Authored-By: Claude Opus 4.8 (1M context) --- apps/website/.vitepress/theme/Landing.vue | 8 ++++---- packages/theme/src/tokens.css | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/website/.vitepress/theme/Landing.vue b/apps/website/.vitepress/theme/Landing.vue index 9c889e6..4714d74 100644 --- a/apps/website/.vitepress/theme/Landing.vue +++ b/apps/website/.vitepress/theme/Landing.vue @@ -32,7 +32,7 @@ interface Project { const projects: Project[] = [ { tag: "Messaging", name: "amqp-contract", pkg: "@amqp-contract/contract", - logo: "/logos/amqp-contract-dark.svg", repoFull: "btravstack/amqp-contract", stars0: 18, + logo: "/logos/amqp-contract", repoFull: "btravstack/amqp-contract", stars0: 18, blurb: "Type-safe contracts for AMQP & RabbitMQ. Define your exchanges, queues and messages once — get types and runtime validation on both ends.", points: ["End-to-end type safety", "Reliable retry with Dead Letter Queues", "AsyncAPI 3.0 generation"], install: "pnpm add @amqp-contract/contract", @@ -40,7 +40,7 @@ const projects: Project[] = [ }, { tag: "Workflows", name: "temporal-contract", pkg: "@temporal-contract/contract", - logo: "/logos/temporal-contract-dark.svg", repoFull: "btravstack/temporal-contract", stars0: 7, + logo: "/logos/temporal-contract", repoFull: "btravstack/temporal-contract", stars0: 7, blurb: "Type-safe contracts for Temporal.io. End-to-end types and automatic validation across workflows, activities and clients.", points: ["Zod validation at every boundary", "Compile-time implementation checks", "Result / Future error handling"], install: "pnpm add @temporal-contract/contract", @@ -48,7 +48,7 @@ const projects: Project[] = [ }, { tag: "Errors", name: "unthrown", pkg: "unthrown", - logo: "/logos/unthrown-dark.svg", repoFull: "btravstack/unthrown", stars0: 1, + logo: "/logos/unthrown", repoFull: "btravstack/unthrown", stars0: 1, blurb: "Explicit errors as values — with a separate defect channel for the unexpected. Only a true defect ever throws, and only at unwrap.", points: ["Errors as values, typed in E", "A separate defect channel", "Zero runtime dependencies"], install: "pnpm add unthrown", @@ -150,7 +150,7 @@ onMounted(() => {
- + {{ p.tag }}
diff --git a/packages/theme/src/tokens.css b/packages/theme/src/tokens.css index 4e4fa01..e8bb0c6 100644 --- a/packages/theme/src/tokens.css +++ b/packages/theme/src/tokens.css @@ -147,7 +147,7 @@ --faint: #978996; --accent: #E0589A; /* fill unchanged (dark ink on top) */ - --text-accent: #A52260; /* ~5.6:1 on white — links, eyebrows, wordmark */ + --text-accent: #C42A6C; /* punchier vivid beetroot, ~5.1:1 on white (was #A52260) */ --text-green: #15683A; /* ~5.2:1 on white — affirmative text */ --accent-wash: rgba(224, 88, 154, 0.12);