mirror of
https://github.com/vercel/streamdown.git
synced 2026-09-19 02:18:37 +08:00
e5deed330a
* Migrate docs site to package-based Geistdocs architecture Replace the vendored Geistdocs template in apps/website with the published @vercel/geistdocs package. The package now owns the shared runtime (layout, docs renderer, search, Ask AI chat, markdown routes, proxy, and MDX components) while the app keeps thin user-owned adapters. - Add @vercel/geistdocs 1.7.2 and bump Next.js to 16.2.6 (exact peer) - Delete ~50 vendored runtime files (components/geistdocs, hooks, custom chat UI, search/chat route implementations, feedback action) - Replace routes with package factories: createDocsPage, createChatRoute, createSearchRoute, createLlmsRoute, createDocsMarkdownRoute, createSitemapMarkdownRoute, createProxy - AI chat now uses the package-owned Ask AI (AI SDK v6 via the package) - Adopt the package geistdocs.css theme with @source entries for the geistdocs and streamdown dists; add a compat token layer in global.css for user-owned components - Add new /agents.md and /.well-known/mcp.json agent-readiness routes with Streamdown agent metadata in geistdocs.tsx - Keep the landing page, playground, KaTeX/Mermaid MDX pipeline, redirects, and workspace streamdown live demos intact - Prune dependencies now owned by the package (dexie, @orama/tokenizers, ai, @ai-sdk/react, etc.) and unused shadcn components * Polish homepage and migrate UI components to @vercel/geistdocs - Homepage background set to bg-background-200 (incl. body/overscroll) - Disable smooth-scroll animation on page navigation - Replace hero install button with For humans / For agents CommandPrompt - Remove hero "Read the docs" button - Remove "Powering AI experiences for" logo strip and assets - Remove homepage section gridlines/dividers - Homepage titles at font-weight 450 - Navbar border hidden at top, revealed on scroll (homepage only) - "Get started" code block uses Geist Shiki theme at 13px - Feature links restyled black + underlined (was blue) - Migrate Button/Badge/Input/Textarea/Popover to @vercel/geistdocs; delete local copies - Remove dead installer + input-group components Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
74 lines
2.3 KiB
CSS
74 lines
2.3 KiB
CSS
@import "tailwindcss";
|
|
@import "./styles/geistdocs.css";
|
|
|
|
/*
|
|
* Compatibility layer mapping the legacy shadcn theme tokens used by
|
|
* user-owned components (home page, playground, components/ui) onto the
|
|
* Geist design system tokens provided by @vercel/geistdocs styles.
|
|
*/
|
|
@theme inline {
|
|
--color-background: var(--ds-background-100);
|
|
--color-foreground: var(--ds-gray-1000);
|
|
--color-card: var(--ds-background-100);
|
|
--color-card-foreground: var(--ds-gray-1000);
|
|
--color-popover: var(--ds-background-100);
|
|
--color-popover-foreground: var(--ds-gray-1000);
|
|
--color-primary: var(--ds-blue-700);
|
|
--color-primary-foreground: var(--ds-background-100);
|
|
--color-secondary: var(--ds-gray-100);
|
|
--color-secondary-foreground: var(--ds-gray-1000);
|
|
--color-muted: var(--ds-gray-100);
|
|
--color-muted-foreground: var(--ds-gray-900);
|
|
--color-accent: var(--ds-gray-100);
|
|
--color-accent-foreground: var(--ds-gray-1000);
|
|
--color-destructive: var(--ds-red-800);
|
|
--color-border: var(--ds-gray-alpha-400);
|
|
--color-input: var(--ds-gray-alpha-400);
|
|
--color-ring: var(--ds-gray-600);
|
|
--color-sidebar: var(--ds-background-200);
|
|
--color-sidebar-foreground: var(--ds-gray-1000);
|
|
--color-sidebar-primary: var(--ds-gray-1000);
|
|
--color-sidebar-primary-foreground: var(--ds-background-100);
|
|
--color-sidebar-accent: var(--ds-gray-100);
|
|
--color-sidebar-accent-foreground: var(--ds-gray-1000);
|
|
--color-sidebar-border: var(--ds-gray-alpha-400);
|
|
--color-sidebar-ring: var(--ds-gray-600);
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
@apply border-border outline-ring/50;
|
|
}
|
|
body {
|
|
@apply bg-background-200 text-foreground;
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Homepage navbar: the sticky navbar has no bottom border at the top of the
|
|
* page and reveals it on scroll. `data-home-page` is server-rendered by the
|
|
* home layout (no flash); `data-scrolled` is toggled on <body> by
|
|
* NavbarScrollBorder while scrolling.
|
|
*/
|
|
body:has([data-home-page]) header.sticky {
|
|
transition: border-color 0.2s ease;
|
|
}
|
|
|
|
body:has([data-home-page]):not([data-scrolled]) header.sticky {
|
|
border-bottom-color: transparent;
|
|
}
|
|
|
|
.bg-dashed {
|
|
background-image: linear-gradient(
|
|
45deg,
|
|
var(--ds-gray-alpha-400) 12.5%,
|
|
transparent 12.5%,
|
|
transparent 50%,
|
|
var(--ds-gray-alpha-400) 50%,
|
|
var(--ds-gray-alpha-400) 62.5%,
|
|
transparent 62.5%,
|
|
transparent 100%
|
|
);
|
|
background-size: 0.25rem 0.25rem;
|
|
}
|