Files
vercel__streamdown/apps/website/geistdocs.tsx
Rich Haines e5deed330a Migrate docs site to package-based Geistdocs (#537)
* 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>
2026-07-13 13:15:57 +02:00

82 lines
2.1 KiB
TypeScript

import type { GeistdocsAgentReadinessConfig } from "@vercel/geistdocs/config";
import { ArrowDownWideNarrowIcon } from "lucide-react";
export const Logo = () => (
<>
<span className="hidden font-semibold text-xl tracking-tight sm:block">
Streamdown
</span>
<ArrowDownWideNarrowIcon className="sm:hidden" />
</>
);
export const github = {
branch: "main",
editPath: "apps/website/content/docs/{path}",
owner: "vercel",
repo: "streamdown",
};
export const nav = [
{
label: "Docs",
href: "/docs",
},
{
label: "Features",
href: "/docs/animation",
},
{
label: "Plugins",
href: "/docs/plugins",
},
{
label: "Playground",
href: "/playground",
},
];
export const suggestions = [
"What is Streamdown?",
"How does unterminated markdown parsing work?",
"How is Streamdown secure?",
"Is Streamdown performance optimized?",
];
export const title = "Streamdown Documentation";
export const prompt =
"You are a helpful assistant specializing in answering questions about Streamdown - a markdown renderer designed for streaming content from AI models that is highly interactive, customizable, and easy to use.";
export const agent = {
product: {
name: "Streamdown",
description:
"Streamdown is a markdown renderer designed for streaming content from AI models. It is highly interactive, customizable, and easy to use.",
category: "AI / React components",
audience: ["React developers", "AI application developers"],
useCases: [
"Render streaming markdown from AI models",
"Build chat interfaces with rich markdown output",
"Display code blocks, math, diagrams, and CJK text from LLM responses",
],
},
links: [
{
label: "Streamdown source",
href: `https://github.com/${github.owner}/${github.repo}`,
description: "Source repository for Streamdown and its plugins",
},
],
} satisfies GeistdocsAgentReadinessConfig;
export const translations = {
en: {
displayName: "English",
},
};
export const basePath: string | undefined = undefined;
export const siteId: string | undefined = "streamdown";