import clsx from "clsx"; import Analytics from "./analytics"; import { ThemeProvider } from "../contexts/ThemeContext"; import Header from "../components/Header"; import Footer from "../components/Footer"; import { SkipToContentLink, SkipToContentTarget } from "../components/SkipToContent"; import * as config from "../lib/config"; import { BASE_URL, MAX_WIDTH } from "../lib/config/constants"; import defaultMetadata from "../lib/config/metadata"; import type { Metadata } from "next"; import type { Person, WithContext } from "schema-dts"; import { GeistMono, GeistSans } from "../lib/styles/fonts"; import "modern-normalize/modern-normalize.css"; // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css import "./themes.css"; import "./global.css"; import styles from "./layout.module.css"; import ogImage from "./opengraph-image.jpg"; export const metadata: Metadata = defaultMetadata; // https://nextjs.org/docs/app/building-your-application/optimizing/metadata#json-ld const jsonLd: WithContext = { "@context": "https://schema.org", "@type": "Person", name: config.authorName, url: BASE_URL, image: `${BASE_URL}${ogImage.src}`, sameAs: [ BASE_URL, `https://github.com/${config.authorSocial?.github}`, `https://keybase.io/${config.authorSocial?.keybase}`, `https://twitter.com/${config.authorSocial?.twitter}`, `https://medium.com/@${config.authorSocial?.medium}`, `https://www.linkedin.com/in/${config.authorSocial?.linkedin}/`, `https://www.facebook.com/${config.authorSocial?.facebook}`, `https://www.instagram.com/${config.authorSocial?.instagram}/`, `https://${config.authorSocial?.mastodon}`, `https://bsky.app/profile/${config.authorSocial?.bluesky}`, ], }; const RootLayout = ({ children }: { children: React.ReactNode }) => { return (