|
1 | | -import './global.css'; |
2 | | -import { RootProvider } from 'fumadocs-ui/provider'; |
3 | | -import { Inter } from 'next/font/google'; |
4 | | -import type { ReactNode } from 'react'; |
| 1 | +import "./global.css"; |
| 2 | +import { RootProvider } from "fumadocs-ui/provider"; |
| 3 | +import type { Metadata } from "next"; |
| 4 | +import { Geist } from "next/font/google"; |
| 5 | +import SeoBanner from "@/public/banner.png"; |
| 6 | +import type { ReactNode } from "react"; |
5 | 7 |
|
6 | | -const inter = Inter({ |
7 | | - subsets: ['latin'], |
| 8 | +const inter = Geist({ |
| 9 | + subsets: ["latin"], |
8 | 10 | }); |
9 | 11 |
|
| 12 | +export function generateMetadata(): Metadata { |
| 13 | + const title = { |
| 14 | + template: "%s | muppet", |
| 15 | + default: "muppet - Toolkit for building MCPs", |
| 16 | + }; |
| 17 | + const description = |
| 18 | + "Muppet is an open toolkit which standardizes the way you build, test, and deploy your MCPs. If MCP is the USB-C port for AI applications, think of Muppet as the assembly line that produces the USB-C port."; |
| 19 | + |
| 20 | + return { |
| 21 | + title, |
| 22 | + description, |
| 23 | + keywords: [ |
| 24 | + "MCP", |
| 25 | + "MCPs", |
| 26 | + "MCP toolkit", |
| 27 | + "MCP development", |
| 28 | + "Honojs", |
| 29 | + "toolkit", |
| 30 | + "javascript", |
| 31 | + "typescript", |
| 32 | + "hono", |
| 33 | + ], |
| 34 | + metadataBase: new URL("https://muppet.dev"), |
| 35 | + category: "education", |
| 36 | + twitter: { |
| 37 | + card: "summary_large_image", |
| 38 | + title, |
| 39 | + description, |
| 40 | + images: { |
| 41 | + width: SeoBanner.width, |
| 42 | + height: SeoBanner.height, |
| 43 | + url: SeoBanner.src, |
| 44 | + }, |
| 45 | + }, |
| 46 | + openGraph: { |
| 47 | + title, |
| 48 | + description, |
| 49 | + images: { |
| 50 | + width: SeoBanner.width, |
| 51 | + height: SeoBanner.height, |
| 52 | + url: SeoBanner.src, |
| 53 | + }, |
| 54 | + siteName: "Muppet Docs", |
| 55 | + url: "/", |
| 56 | + locale: "en_US", |
| 57 | + type: "website", |
| 58 | + }, |
| 59 | + }; |
| 60 | +} |
| 61 | + |
10 | 62 | export default function Layout({ children }: { children: ReactNode }) { |
11 | 63 | return ( |
12 | 64 | <html lang="en" className={inter.className} suppressHydrationWarning> |
|
0 commit comments