Skip to content

docs: update logo to donut brand mark with pink accent - #1837

Open
dinwwwh wants to merge 3 commits into
middleapi:mainfrom
dinwwwh:claude/apps-content-logo-update-bd5b44
Open

docs: update logo to donut brand mark with pink accent#1837
dinwwwh wants to merge 3 commits into
middleapi:mainfrom
dinwwwh:claude/apps-content-logo-update-bd5b44

Conversation

@dinwwwh

@dinwwwh dinwwwh commented Aug 11, 2026

Copy link
Copy Markdown
Member

Replaces the monochrome hex-mesh logo with the new donut brand mark and moves the docs site accent from monochrome to the logo's pink, tuned so everything stays legible in both light and dark mode.

Theming

  • The header logo's dough crescent uses currentColor (Blume inlines the SVG), so it renders near-black in light mode and light gray in dark mode; the favicon does the same via a prefers-color-scheme swap. The pink frosting stays #ff6ca5 in both.
  • The accent is the true brand pink in dark mode and a darkened variant (oklch(0.58 0.19 359)) in light mode: raw #ff6ca5 on white is 2.6:1, the darkened pink keeps white button text at 4.7:1 AA.
  • Dark mode keeps the existing theme.css override flipping accent text dark — Blume forces white accent text there, which would fail contrast on the light pink (dark text is 7.5:1).

Verification

Rendered the mark, primary button, and accent text on both themes with headless Chrome; all combinations legible, no full docs build run.

Replace the monochrome hex-mesh logo with the new donut mark. The dough
crescent uses currentColor in the inlined header logo (and a
prefers-color-scheme swap in the favicon) so it follows light/dark mode;
the pink frosting stays #ff6ca5. The theme accent moves from monochrome
to the brand pink, darkened in light mode so white accent text keeps AA
contrast, with dark-mode accent text flipped dark in theme.css.
@vercel

vercel Bot commented Aug 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
orpc Ready Ready Preview Aug 11, 2026 7:29am

@pkg-pr-new

pkg-pr-new Bot commented Aug 11, 2026

Copy link
Copy Markdown
More templates

@orpc/ai-sdk

npm i https://pkg.pr.new/@orpc/ai-sdk@1837

@orpc/arktype

npm i https://pkg.pr.new/@orpc/arktype@1837

@orpc/bun

npm i https://pkg.pr.new/@orpc/bun@1837

@orpc/client

npm i https://pkg.pr.new/@orpc/client@1837

@orpc/cloudflare

npm i https://pkg.pr.new/@orpc/cloudflare@1837

@orpc/contract

npm i https://pkg.pr.new/@orpc/contract@1837

@orpc/experimental-effect

npm i https://pkg.pr.new/@orpc/experimental-effect@1837

@orpc/evlog

npm i https://pkg.pr.new/@orpc/evlog@1837

@orpc/hibernation

npm i https://pkg.pr.new/@orpc/hibernation@1837

@orpc/json-schema

npm i https://pkg.pr.new/@orpc/json-schema@1837

@orpc/nest

npm i https://pkg.pr.new/@orpc/nest@1837

@orpc/next

npm i https://pkg.pr.new/@orpc/next@1837

@orpc/node

npm i https://pkg.pr.new/@orpc/node@1837

@orpc/openapi

npm i https://pkg.pr.new/@orpc/openapi@1837

@orpc/opentelemetry

npm i https://pkg.pr.new/@orpc/opentelemetry@1837

@orpc/pinia-colada

npm i https://pkg.pr.new/@orpc/pinia-colada@1837

@orpc/pino

npm i https://pkg.pr.new/@orpc/pino@1837

@orpc/publisher

npm i https://pkg.pr.new/@orpc/publisher@1837

@orpc/ratelimit

npm i https://pkg.pr.new/@orpc/ratelimit@1837

@orpc/server

npm i https://pkg.pr.new/@orpc/server@1837

@orpc/shared

npm i https://pkg.pr.new/@orpc/shared@1837

@orpc/swr

npm i https://pkg.pr.new/@orpc/swr@1837

@orpc/tanstack-query

npm i https://pkg.pr.new/@orpc/tanstack-query@1837

@orpc/trpc

npm i https://pkg.pr.new/@orpc/trpc@1837

@orpc/valibot

npm i https://pkg.pr.new/@orpc/valibot@1837

@orpc/zod

npm i https://pkg.pr.new/@orpc/zod@1837

commit: 640f39e

@codecov

codecov Bot commented Aug 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@codspeed-hq

codspeed-hq Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will improve performance by 10.51%

⚡ 1 improved benchmark
✅ 29 untouched benchmarks

Performance Changes

Benchmark BASE HEAD Efficiency
octet stream 905.6 µs 819.4 µs +10.51%

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing dinwwwh:claude/apps-content-logo-update-bd5b44 (640f39e) with main (6f615bb)

Open in CodSpeed

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes

  • logo.svg / icon.svg — replaced the monochrome hex-mesh mark with the donut brand mark; the dough crescent follows the theme (currentColor in the header logo, .mono + prefers-color-scheme in the favicon) while the pink frosting stays fixed at #ff6ca5.
  • blume.config.ts — accent switched to brand pink, darkened in light mode for AA contrast with white accent text.
  • theme.css — keeps the dark-mode accent-foreground flip to dark, with clarified contrast justification.

Verified the load-bearing contrast claims: the light accent oklch(0.58 0.19 359) comes out to ~4.75:1 against white (your stated 4.7:1 ✓, passes AA normal text), the dark-mode accent text over the page background is ~5.3:1, and the dark accent-foreground against #ff6ca5 is ~7.9:1 (your stated 7.5:1 ✓). The header logo already used fill="currentColor" before this change, so switching the dough to track the theme's foreground is an established, working pattern rather than a new risk. Both color strategies are documented and consistent.

Pullfrog  | View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

The near-black dough read harsh next to the pink frosting in light
mode; it is now a warm gray (#585455) via an --orpc-logo-dough variable
in theme.css (the inlined header logo picks it up, dark mode falls back
to currentColor) and hard-coded in the favicon's light branch.

Also ship public/favicon.ico (16/32/48 PNG entries, light colors) as a
fallback at the conventional /favicon.ico path: Blume links only the
SVG icon, and Google Search does not reliably render SVG favicons.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

The new public/favicon.ico isn't a fallback — it replaces the adaptive SVG favicon. Blume resolves the site favicon to a single file, and public/favicon.ico outranks the root icon.svg, so the <link rel="icon"> now serves a static raster and the favicon's prefers-color-scheme dough swap is dropped for the site. In dark theme the fixed #585455 dough sits at ~2.2:1 against browser tab chrome — dimmer than the white dough it replaced.

Reviewed changes

  • Softened the light-mode logo dough — the header logo and icon.svg now use #585455 instead of near-black #1b1b1f, so the mark doesn't read harsh next to the pink frosting.
  • Themed the header logo dough through a CSS variablelogo.svg now uses fill: var(--orpc-logo-dough, currentColor), with theme.css setting #585455 in light mode and currentColor in dark mode (so dark mode is unchanged).
  • Added public/favicon.ico — a 16/32/48px donut mark (pink #ff6ca5 frosting, #585455 dough) intended as a favicon fallback.
Technical details
# favicon.ico displaces the adaptive SVG favicon

## Affected sites
- apps/content/public/favicon.ico (new) — becomes the primary favicon
- apps/content/icon.svg:3-6 — `.mono { fill: #585455 }` + dark-mode `#fff` swap no longer serves the site favicon (only the Scalar page at docs/openapi/scalar.mdx:78)
- blume/src/astro/generate.ts (`FAVICON_CANDIDATES` + `resolveFavicon`) — public-dir candidates win over project-root ones; `favicon.ico` at position 5 beats the root `icon.svg`

## Required outcome
- Reconcile intent vs effect: either keep the adaptive SVG favicon primary (move `icon.svg` into `apps/content/public/`, where `public/icon.svg` outranks `public/favicon.ico`; `/favicon.ico` direct requests still resolve to the raster as the fallback), or accept the static ico as the primary favicon and drop the now-misleading dark-mode swap claim in the PR body.

## Open questions for the human
- Was the dark-mode dough swap on the favicon intentional to keep, or acceptable to lose? The header still adapts; the ico doesn't.

Pullfrog  | Fix all ➔Fix 👍s ➔View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

Comment thread apps/content/icon.svg Outdated
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
<style>
path { fill: #000; }
.mono { fill: #585455; }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

public/favicon.ico isn't a fallback — it becomes the primary favicon. Blume resolves the site icon to a single candidate file and a public-dir favicon.ico outranks the root icon.svg, so the <link rel="icon"> now serves the static raster and the dark-mode dough swap below (@media (prefers-color-scheme: dark) { .mono { fill: #fff } }) no longer applies to the site favicon (icon.svg survives only in the Scalar page). In dark theme the fixed #585455 dough has ~2.2:1 contrast against browser tab chrome — far dimmer than the white dough it replaced.

If the intent is SVG-primary with the ico as a direct-request fallback, move icon.svg into apps/content/public/: public/icon.svg outranks public/favicon.ico in Blume's candidate order, so browsers get the adaptive SVG while /favicon.ico requests still serve the raster. Otherwise this is fine to ship as static — but the PR body's "favicon does the same via a prefers-color-scheme swap" claim would then be inaccurate.

Back to the near-black dough in light mode: logo.svg uses plain
currentColor again (the --orpc-logo-dough variable is gone), the SVG
favicon's light branch returns to #1b1b1f, and favicon.ico is
regenerated to match. The ico fallback itself stays.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️ This delta is clean — no new issues. The prior favicon-displacement concern (below) remains open, which is why this isn't an approval.

Reviewed changes (delta since the prior review)

  • Reverted the light-mode dough softening — logo.svg dough is back to plain fill="currentColor" and the --orpc-logo-dough variable was removed from theme.css with no dangling references left behind.
  • Reverted icon.svg .mono fill to near-black #1b1b1f in light mode.

The revert actually brings the code back in line with what the PR body already describes (dough = currentColor, near-black in light / light gray in dark), so it removes a doc-vs-code mismatch rather than introducing one. No correctness concerns in this delta.

One open item from the prior review is untouched by this commit and remains unresolved: public/favicon.ico still displaces the adaptive icon.svg as the site favicon, while the PR body still claims the favicon adapts via a prefers-color-scheme swap. The thread on that finding stays open.

Pullfrog  | Fix it ➔View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

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