Skip to content

Commit 70f62dd

Browse files
feat: added seo
1 parent 4a85d85 commit 70f62dd

File tree

2 files changed

+58
-6
lines changed

2 files changed

+58
-6
lines changed

docs/app/favicon.ico

14.7 KB
Binary file not shown.

docs/app/layout.tsx

Lines changed: 58 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,64 @@
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";
57

6-
const inter = Inter({
7-
subsets: ['latin'],
8+
const inter = Geist({
9+
subsets: ["latin"],
810
});
911

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+
1062
export default function Layout({ children }: { children: ReactNode }) {
1163
return (
1264
<html lang="en" className={inter.className} suppressHydrationWarning>

0 commit comments

Comments
 (0)