diff --git a/apps/web/src/app/(home)/layout.tsx b/apps/web/src/app/(home)/layout.tsx index 77379fa..31e120b 100644 --- a/apps/web/src/app/(home)/layout.tsx +++ b/apps/web/src/app/(home)/layout.tsx @@ -1,5 +1,25 @@ import { HomeLayout } from 'fumadocs-ui/layouts/home'; import { baseOptions } from '@/lib/layout.shared'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: '@deessejs/errors', + description: + 'A TypeScript library that brings Python-inspired error handling to JavaScript. Exception chaining, hierarchical inheritance, and rich error semantics through a function-based API.', + openGraph: { + title: '@deessejs/errors', + description: 'TypeScript error handling reimagined.', + url: '/', + siteName: 'DeesseJS Errors', + locale: 'en_US', + type: 'website', + }, + twitter: { + card: 'summary_large_image', + title: '@deessejs/errors', + description: 'TypeScript error handling reimagined.', + }, +}; export default function Layout({ children }: LayoutProps<'/'>) { return {children}; diff --git a/apps/web/src/app/(home)/page.tsx b/apps/web/src/app/(home)/page.tsx index 318a443..6d9f9d1 100644 --- a/apps/web/src/app/(home)/page.tsx +++ b/apps/web/src/app/(home)/page.tsx @@ -3,6 +3,7 @@ import type { Metadata } from 'next'; import { CodeBlock } from '@/components/code-block'; import { CtaCard } from '@/components/cta-card'; import { Footer } from '@/components/footer'; +import { baseUrl } from '@/lib/shared'; export const metadata: Metadata = { title: '@deessejs/errors — Error Handling, Reimagined', @@ -123,9 +124,34 @@ catch (err) { }`; export default function HomePage() { + const softwareJsonLd = { + '@context': 'https://schema.org', + '@type': 'SoftwareApplication', + name: '@deessejs/errors', + description: + 'TypeScript error handling library with exception chaining, hierarchical inheritance, and rich error semantics through a function-based API.', + url: baseUrl, + applicationCategory: 'DeveloperApplication', + operatingSystem: 'Node.js 18+', + programmingLanguage: { + '@type': 'ComputerLanguage', + name: 'TypeScript', + }, + license: 'MIT', + offers: { + '@type': 'Offer', + price: '0', + priceCurrency: 'USD', + }, + downloadUrl: 'https://www.npmjs.com/package/@deessejs/errors', + }; + return ( <> - {/* Blueprint grid background */} +