diff --git a/src/core/blitzkrieg/jsxToSvg.ts b/src/core/blitzkrieg/jsxToSvg.ts deleted file mode 100644 index 31c9b8e8c..000000000 --- a/src/core/blitzkrieg/jsxToSvg.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { readFile } from 'fs/promises'; -import satori from 'satori'; - -const FONT_NAME = 'Roboto'; -const FONT_FILES = [ - { weight: 400 as const, path: require('../../assets/fonts/Roboto.ttf') }, - { weight: 700 as const, path: require('../../assets/fonts/Roboto-Bold.ttf') }, - { - weight: 900 as const, - path: require('../../assets/fonts/Roboto-Black.ttf'), - }, -]; - -const fonts = Promise.all( - FONT_FILES.map(({ path, weight }) => - readFile(path).then((data) => ({ - data: Buffer.from(data.buffer), - name: FONT_NAME, - weight, - })), - ), -); - -export default async function jsxToSvg(jsx: JSX.Element) { - return await satori(jsx, { - width: 480, - fonts: await fonts, - }); -} diff --git a/src/assets/fonts/Roboto-Black.ttf b/src/core/blitzkrieg/jsxToSvg/Roboto-Black.ttf similarity index 100% rename from src/assets/fonts/Roboto-Black.ttf rename to src/core/blitzkrieg/jsxToSvg/Roboto-Black.ttf diff --git a/src/assets/fonts/Roboto-Bold.ttf b/src/core/blitzkrieg/jsxToSvg/Roboto-Bold.ttf similarity index 100% rename from src/assets/fonts/Roboto-Bold.ttf rename to src/core/blitzkrieg/jsxToSvg/Roboto-Bold.ttf diff --git a/src/assets/fonts/Roboto.ttf b/src/core/blitzkrieg/jsxToSvg/Roboto.ttf similarity index 100% rename from src/assets/fonts/Roboto.ttf rename to src/core/blitzkrieg/jsxToSvg/Roboto.ttf diff --git a/src/core/blitzkrieg/jsxToSvg/index.ts b/src/core/blitzkrieg/jsxToSvg/index.ts new file mode 100644 index 000000000..05ad3b94a --- /dev/null +++ b/src/core/blitzkrieg/jsxToSvg/index.ts @@ -0,0 +1,26 @@ +import satori from 'satori'; + +const fonts = [ + { + data: require('./Roboto.ttf'), + weight: 400 as const, + name: 'Roboto', + }, + { + data: require('./Roboto-Bold.ttf'), + weight: 700 as const, + name: 'Roboto-Bold', + }, + { + data: require('./Roboto-Black.ttf'), + weight: 900 as const, + name: 'Roboto-Black', + }, +]; + +export default async function jsxToSvg(jsx: JSX.Element) { + return await satori(jsx, { + width: 480, + fonts, + }); +}