From 8fafc2f9edde09e6bcfd2c59db7266595faf75bf Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Sun, 21 Aug 2022 01:01:03 -0700 Subject: [PATCH] [bun-landing] inline via data uri --- packages/bun-landing/components/Layout.tsx | 14 ++++++++++---- packages/bun-landing/components/dataURI.ts | 19 +++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 packages/bun-landing/components/dataURI.ts diff --git a/packages/bun-landing/components/Layout.tsx b/packages/bun-landing/components/Layout.tsx index 2e50ce3d87..3c2e0407a1 100644 --- a/packages/bun-landing/components/Layout.tsx +++ b/packages/bun-landing/components/Layout.tsx @@ -1,4 +1,5 @@ import Head from "next/head"; +import { dataURI } from "macro:./dataURI"; export default function Layout({ children }) { return ( @@ -52,13 +53,18 @@ export default function Layout({ children }) {
- + + Bun diff --git a/packages/bun-landing/components/dataURI.ts b/packages/bun-landing/components/dataURI.ts new file mode 100644 index 0000000000..8bfc93714c --- /dev/null +++ b/packages/bun-landing/components/dataURI.ts @@ -0,0 +1,19 @@ +import { readFileSync } from "fs"; +import { resolve } from "path"; + +export function dataURI(expr) { + const [pathNode, relativeNode] = expr.arguments; + const path = pathNode.toString(); + const relative = relativeNode.toString(); + try { + const toLoad = resolve(process.cwd(), relative, "../", path); + const data = readFileSync(toLoad); + + return `data:${Bun.file(toLoad).type};base64, ${btoa( + String.fromCharCode(...new Uint8Array(data.buffer)) + )}`; + } catch (e) { + console.error(e); + return ""; + } +}