refacotr: move fs to server-side code

This commit is contained in:
Bart van der Braak 2024-01-20 17:53:21 +01:00
parent a6c7c09ede
commit d94e6d1fc3
2 changed files with 7 additions and 5 deletions

View file

@ -1,13 +1,10 @@
<script lang="ts">
import fs from 'fs';
import { Icons } from '.';
export let title: string = 'I made this for you';
export let subTitle: string =
'Featuring current work and studies in a SvelteKit-based portfolio.';
const buffer = fs.readFileSync('src/lib/assets/og/me.jpg');
const imageData = buffer.toString('base64');
export let imageData: string = '';
</script>
<div class="flex h-full w-full items-center justify-center bg-black">

View file

@ -5,16 +5,21 @@ import { OgImage } from '$lib/components/site';
import GeistRegular from '$lib/assets/og/Geist-Regular.woff';
import GeistBold from '$lib/assets/og/Geist-Bold.woff';
import { readFileSync } from 'fs';
const height = 630;
const width = 1200;
const meImage = readFileSync(`${process.cwd()}/src/lib/assets/og/me.jpg`);
const imageData = Buffer.from(meImage).toString('base64');
/** @type {import('./$types').RequestHandler} */
export const GET = async ({ url }) => {
const title = url.searchParams.get('title') ?? undefined;
const subTitle = url.searchParams.get('subTitle') ?? undefined;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const result = (OgImage as any).render({ title, subTitle });
const result = (OgImage as any).render({ title, subTitle, imageData });
const element = toReactNode(`${result.html}<style>${result.css.code}</style>`);
const svg = await satori(element, {