Files
docs-v2/app/og/[...slug]/route.tsx
T

27 lines
766 B
TypeScript

import { source } from '@/lib/source';
import { notFound } from 'next/navigation';
import { generateOGImage } from 'fumadocs-ui/og';
import { appName, getPageImageUrl } from '@/lib/shared';
export const revalidate = false;
export async function GET(_req: Request, { params }: RouteContext<'/og/[...slug]'>) {
const { slug } = await params;
const page = source.getPage(slug.slice(0, -1));
if (!page) notFound();
return generateOGImage({
title: page.data.title,
description: page.data.description,
site: appName,
primaryColor: 'rgba(243, 97, 23, 0.35)',
primaryTextColor: 'rgb(243, 97, 23)',
});
}
export function generateStaticParams() {
return source.getPages().map((page) => ({
slug: getPageImageUrl(page).segments,
}));
}