diff --git a/docs/package.json b/docs/package.json index 4ecc07d..cfa634f 100644 --- a/docs/package.json +++ b/docs/package.json @@ -10,6 +10,7 @@ }, "dependencies": { "@tailwindcss/typography": "^0.5.19", + "@vercel/analytics": "^1.6.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "framer-motion": "^12.34.3", diff --git a/docs/public/google4c4480f5ebd28060.html b/docs/public/google4c4480f5ebd28060.html new file mode 100644 index 0000000..6a8c085 --- /dev/null +++ b/docs/public/google4c4480f5ebd28060.html @@ -0,0 +1 @@ +google-site-verification: google4c4480f5ebd28060.html \ No newline at end of file diff --git a/docs/public/next.svg b/docs/public/next.svg deleted file mode 100644 index 5174b28..0000000 --- a/docs/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/public/secure-input.svg b/docs/public/secure-input.svg new file mode 100644 index 0000000..0929e87 --- /dev/null +++ b/docs/public/secure-input.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/public/vercel.svg b/docs/public/vercel.svg deleted file mode 100644 index 7705396..0000000 --- a/docs/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/public/web-app-manifest-192x192.png b/docs/public/web-app-manifest-192x192.png new file mode 100644 index 0000000..10d3dc1 Binary files /dev/null and b/docs/public/web-app-manifest-192x192.png differ diff --git a/docs/public/web-app-manifest-512x512.png b/docs/public/web-app-manifest-512x512.png new file mode 100644 index 0000000..29003d7 Binary files /dev/null and b/docs/public/web-app-manifest-512x512.png differ diff --git a/docs/src/app/apple-icon.png b/docs/src/app/apple-icon.png new file mode 100644 index 0000000..256ed87 Binary files /dev/null and b/docs/src/app/apple-icon.png differ diff --git a/docs/src/app/docs/how-it-works/page.tsx b/docs/src/app/docs/how-it-works/page.tsx index a582983..d1fd43c 100644 --- a/docs/src/app/docs/how-it-works/page.tsx +++ b/docs/src/app/docs/how-it-works/page.tsx @@ -1,7 +1,22 @@ +import type { Metadata } from "next"; import { DocsPagination } from "@/components/DocsPagination"; import { Cpu, Shield, FileCode2 } from "lucide-react"; import { Card } from "@/components/ui/card"; +export const metadata: Metadata = { + title: "How It Works", + description: "Understand Secure Input architecture: keystroke capture, worker isolation, and WASM encryption flow.", + alternates: { + canonical: "/docs/how-it-works", + }, + openGraph: { + title: "How Secure Input Works", + description: "Architecture walkthrough of worker-based isolation and WASM-powered encryption.", + url: "https://secure-input.vercel.app/docs/how-it-works", + type: "article", + }, +}; + export default function HowItWorksPage() { return (
diff --git a/docs/src/app/docs/installation/page.tsx b/docs/src/app/docs/installation/page.tsx index ec6e4ad..f253f40 100644 --- a/docs/src/app/docs/installation/page.tsx +++ b/docs/src/app/docs/installation/page.tsx @@ -1,7 +1,21 @@ -import { CodeBlock } from "@/components/CodeBlock"; +import type { Metadata } from "next"; import { PackageManagerCode } from "@/components/PackageManagerCode"; import { DocsPagination } from "@/components/DocsPagination"; +export const metadata: Metadata = { + title: "Installation", + description: "Install Secure Input packages for React, Next.js, or framework-agnostic JavaScript projects.", + alternates: { + canonical: "/docs/installation", + }, + openGraph: { + title: "Install Secure Input", + description: "Get started with @secure-input/react or @secure-input/core in minutes.", + url: "https://secure-input.vercel.app/docs/installation", + type: "article", + }, +}; + export default function InstallationPage() { return (
diff --git a/docs/src/app/docs/layout.tsx b/docs/src/app/docs/layout.tsx index 38710d0..36711de 100644 --- a/docs/src/app/docs/layout.tsx +++ b/docs/src/app/docs/layout.tsx @@ -1,10 +1,23 @@ +import type { Metadata } from "next"; import { DocsSidebar } from "@/components/DocsSidebar"; import { ScrollArea } from "@/components/ui/scroll-area"; import { Sheet, SheetContent, SheetTrigger } from "@/components/ui/sheet"; -import { Menu, Lock, GitBranch, BookText } from "lucide-react"; +import { Menu, GitBranch, BookText } from "lucide-react"; +import Image from "next/image"; import Link from "next/link"; import { Button } from "@/components/ui/button"; +export const metadata: Metadata = { + title: { + default: "Documentation", + template: "%s | Secure Input Docs", + }, + description: "Secure Input documentation for installation, architecture, React integration, Vanilla JS usage, and server-side decryption.", + alternates: { + canonical: "/docs", + }, +}; + export default function DocsLayout({ children }: { children: React.ReactNode }) { return (
@@ -21,7 +34,7 @@ export default function DocsLayout({ children }: { children: React.ReactNode })
- + Secure Input Logo Secure Input
@@ -30,7 +43,7 @@ export default function DocsLayout({ children }: { children: React.ReactNode })
- + Secure Input Logo Secure Input @@ -41,7 +54,7 @@ export default function DocsLayout({ children }: { children: React.ReactNode }) Docs - +