38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
import type { Metadata } from 'next';
|
|
import { GeistSans } from 'geist/font/sans';
|
|
import { GeistMono } from 'geist/font/mono';
|
|
import './globals.css';
|
|
import TechBackdrop from './TechBackdrop';
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'William March — Software Engineer',
|
|
description: 'Software engineer building precise, purposeful open-source tools.',
|
|
metadataBase: new URL('https://williammarch.xyz'),
|
|
openGraph: {
|
|
title: 'William March',
|
|
description: 'Software engineer. Open-source builder.',
|
|
url: 'https://williammarch.xyz',
|
|
siteName: 'William March',
|
|
},
|
|
twitter: {
|
|
card: 'summary_large_image',
|
|
title: 'William March',
|
|
description: 'Software engineer.',
|
|
},
|
|
};
|
|
|
|
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
return (
|
|
<html lang="en" className={`${GeistSans.variable} ${GeistMono.variable}`}>
|
|
<body className="bg-slate-950 text-slate-100 relative overflow-x-hidden">
|
|
<div aria-hidden="true" className="fixed inset-0 -z-10">
|
|
<TechBackdrop />
|
|
</div>
|
|
<div className="relative">
|
|
{children}
|
|
</div>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|