Files
flatrender/src/lib/metadata.ts
T

73 lines
1.5 KiB
TypeScript

import type { Metadata } from "next";
const siteUrl =
process.env.NEXT_PUBLIC_SITE_URL ?? "http://localhost:3000";
export const SITE_NAME = "FlatRender";
export const DEFAULT_OG_IMAGE = "/opengraph-image";
export const defaultMetadata: Metadata = {
metadataBase: new URL(siteUrl),
title: {
default: `${SITE_NAME} — Create Videos & Images`,
template: `%s — ${SITE_NAME}`,
},
description:
"Create pro videos and images with AI-powered templates, editors, and one-click export for creators and brands.",
openGraph: {
type: "website",
locale: "en_US",
siteName: SITE_NAME,
images: [
{
url: DEFAULT_OG_IMAGE,
width: 1200,
height: 630,
alt: "FlatRender — AI Video & Image Maker",
},
],
},
twitter: {
card: "summary_large_image",
images: [DEFAULT_OG_IMAGE],
},
};
interface PageMetadataOptions {
title: string;
description: string;
path?: string;
}
export function createPageMetadata({
title,
description,
path = "",
}: PageMetadataOptions): Metadata {
const url = new URL(path, siteUrl).toString();
return {
title,
description,
openGraph: {
title,
description,
url,
images: [
{
url: DEFAULT_OG_IMAGE,
width: 1200,
height: 630,
alt: `${title}${SITE_NAME}`,
},
],
},
twitter: {
title,
description,
images: [DEFAULT_OG_IMAGE],
},
};
}