Edge Functions

Generating OG Images


Generate Open Graph images with Deno and Supabase Edge Functions. View on GitHub.

Code#

Create a handler.tsx file to construct the OG image in React:

1
import React from 'https://esm.sh/react@18.2.0'
2
import { ImageResponse } from 'https://deno.land/x/og_edge@0.0.4/mod.ts'
3
4
export default function handler(req: Request) {
5
return new ImageResponse(
6
<div
7
style={{
8
width: '100%',
9
height: '100%',
10
display: 'flex',
11
alignItems: 'center',
12
justifyContent: 'center',
13
fontSize: 128,
14
background: 'lavender',
15
}}
16
>
17
Hello OG Image!
18
</div>
19
)
20
}

Create an index.ts file to execute the handler on incoming requests:

1
import handler from './handler.tsx'
2
3
console.log('Hello from og-image Function!')
4
5
Deno.serve(handler)