diff --git a/src/routes/og.png/+server.ts b/src/routes/og.png/+server.ts
index 83e0878..d1349fb 100644
--- a/src/routes/og.png/+server.ts
+++ b/src/routes/og.png/+server.ts
@@ -4,7 +4,7 @@ import { html as toReactNode } from 'satori-html';
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 imageData from '$lib/assets/og/me-inline.jpg';
+import imageData from '$lib/assets/og/me-inline.jpg?base64';
const height = 630;
const width = 1200;
diff --git a/src/routes/og.png/env.d.ts b/src/routes/og.png/env.d.ts
new file mode 100644
index 0000000..1f98122
--- /dev/null
+++ b/src/routes/og.png/env.d.ts
@@ -0,0 +1,7 @@
+///
+///
+
+declare module '*?base64' {
+ const src: string;
+ export default src;
+}
diff --git a/vite.config.ts b/vite.config.ts
index 7700d0e..96526fa 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -26,8 +26,9 @@ function base64(ext: string[]) {
return {
name: 'vite-plugin-base64-loader',
transform(_code: string, id: string) {
- if (id.includes('inline') && ext.some((e) => id.endsWith(e))) {
- const base64 = fs.readFileSync(id, { encoding: 'base64' });
+ const [path, query] = id.split('?');
+ if (query === 'base64' && ext.some((e) => id.endsWith(e))) {
+ const base64 = fs.readFileSync(path, { encoding: 'base64' });
return { code: `export default ${JSON.stringify(base64)}`, map: null };
}
}