feat(docs-site): brand the docs to match the punktfunk website
apple / swift (push) Successful in 54s
deb / build-publish (push) Successful in 3m7s
decky / build-publish (push) Successful in 12s
ci / rust (push) Successful in 1m35s
ci / web (push) Successful in 28s
ci / docs-site (push) Successful in 39s
android / android (push) Successful in 3m17s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 4s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 4s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 3s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 5s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 27s
ci / bench (push) Successful in 4m44s
rpm / build-publish (fedora-44, punktfunk-fedora44-rpm) (push) Successful in 8m39s
rpm / build-publish (bazzite, punktfunk-fedora-rpm) (push) Successful in 8m51s
docker / deploy-docs (push) Successful in 19s

Theme the Fumadocs docs site with the punktfunk identity, mirroring the
marketing site:

- Swap the stock `neutral` preset for `purple`, then override --color-fd-*
  with the violet lens-mark palette (#6c5bf3 / #a79ff8). The brand is the
  violet, not the site's blue marketing background, so the blue is not used
  as a reading surface; dark mode tints the chrome toward the app-icon
  violet-dark (#1c1530).
- Adopt @unom/ui's token contract (--brand/--primary/--accent + bg-brand
  etc.) as the shared token source, and @source its dist.
- Load Geist (the brand typeface) via @fontsource-variable/geist.
- Add the BrandMark lens to the nav + landing hero, wire the brand
  favicon.svg, and add Docs/Website nav links.
- Keep the Fumadocs light/dark toggle.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-20 14:40:30 +02:00
parent 333f66b45b
commit e8bc178d45
10 changed files with 903 additions and 19 deletions
+5 -1
View File
@@ -2,6 +2,7 @@
import { createRootRoute, HeadContent, Outlet, Scripts } from '@tanstack/react-router'
import * as React from 'react'
import { RootProvider } from 'fumadocs-ui/provider/tanstack'
import '@fontsource-variable/geist'
import appCss from '@/styles/app.css?url'
export const Route = createRootRoute({
@@ -12,7 +13,10 @@ export const Route = createRootRoute({
{ name: 'color-scheme', content: 'dark light' },
{ title: 'punktfunk docs' },
],
links: [{ rel: 'stylesheet', href: appCss }],
links: [
{ rel: 'stylesheet', href: appCss },
{ rel: 'icon', type: 'image/svg+xml', href: '/favicon.svg' },
],
}),
component: RootComponent,
})
+6 -4
View File
@@ -1,5 +1,6 @@
import { createFileRoute, Link } from '@tanstack/react-router'
import { HomeLayout } from 'fumadocs-ui/layouts/home'
import BrandMark from '@/components/BrandMark'
import { baseOptions } from '@/lib/layout.shared'
export const Route = createFileRoute('/')({ component: Home })
@@ -8,15 +9,16 @@ function Home() {
return (
<HomeLayout {...baseOptions()}>
<main className="flex flex-1 flex-col items-center justify-center gap-6 px-4 py-24 text-center">
<h1 className="text-4xl font-bold tracking-tight">punktfunk</h1>
<BrandMark className="size-20 drop-shadow-[0_8px_30px_rgba(108,91,243,0.45)]" />
<h1 className="font-display text-4xl font-bold tracking-tight">punktfunk</h1>
<p className="max-w-xl text-fd-muted-foreground">
A ground-up low-latency desktop and game streaming stack, built Linux-first, with a
shared Rust protocol core and native clients per platform.
Linux-first, low-latency desktop and game streaming a shared Rust protocol
core with native clients per platform.
</p>
<Link
to="/docs/$"
params={{ _splat: '' }}
className="rounded-lg bg-fd-primary px-5 py-2.5 font-medium text-fd-primary-foreground"
className="rounded-lg bg-brand px-5 py-2.5 font-medium text-white transition-colors hover:bg-brand/90"
>
Read the docs
</Link>