diff --git a/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx b/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx deleted file mode 100644 index 4c01967d2..000000000 --- a/apps/marketing/src/app/(marketing)/blog/[post]/opengraph-image.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import { ImageResponse } from 'next/og'; - -import { allBlogPosts } from 'contentlayer/generated'; - -export const runtime = 'edge'; - -export const contentType = 'image/png'; - -export const IMAGE_SIZE = { - width: 1200, - height: 630, -}; - -type BlogPostOpenGraphImageProps = { - params: { post: string }; -}; - -export default async function BlogPostOpenGraphImage({ params }: BlogPostOpenGraphImageProps) { - const blogPost = allBlogPosts.find((post) => post._raw.flattenedPath === `blog/${params.post}`); - - if (!blogPost) { - return null; - } - - // The long urls are needed for a compiler optimisation on the Next.js side, lifting this up - // to a constant will break og image generation. - const [interBold, interRegular, backgroundImage, logoImage] = await Promise.all([ - fetch(new URL('@documenso/assets/fonts/inter-bold.ttf', import.meta.url)).then(async (res) => - res.arrayBuffer(), - ), - fetch(new URL('@documenso/assets/fonts/inter-regular.ttf', import.meta.url)).then(async (res) => - res.arrayBuffer(), - ), - fetch(new URL('@documenso/assets/images/background-blog-og.png', import.meta.url)).then( - async (res) => res.arrayBuffer(), - ), - fetch(new URL('@documenso/assets/logo.png', import.meta.url)).then(async (res) => - res.arrayBuffer(), - ), - ]); - - return new ImageResponse( - ( -
Written by {blogPost.authorName}
-