From e6af7e70d05fe89be3b3b5a584a094edd1342b56 Mon Sep 17 00:00:00 2001 From: aspizu Date: Mon, 10 Mar 2025 03:33:33 +0530 Subject: [PATCH] feat: remove default layout assignment in gemtext function and update layout import logic --- src/index.ts | 3 --- src/vitePlugin.ts | 12 +++--------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/index.ts b/src/index.ts index 215b033..52e5581 100644 --- a/src/index.ts +++ b/src/index.ts @@ -16,9 +16,6 @@ type SetupHookParams = HookParameters<"astro:config:setup"> & { } export default function gemtext(config: GemtextConfig = {}): AstroIntegration { - if (!config.layout) { - config.layout = "/src/layouts/Layout.astro" - } return { name: "astro-gemtext", hooks: { diff --git a/src/vitePlugin.ts b/src/vitePlugin.ts index 48673a8..853c3b8 100644 --- a/src/vitePlugin.ts +++ b/src/vitePlugin.ts @@ -14,11 +14,7 @@ import { unescapeHTML, } from "astro/runtime/server/index.js"; import { Fragment, jsx as h } from "astro/jsx-runtime"; -let Layout = undefined; -try { - Layout = import(${JSON.stringify(config.layout)}); -} catch (e) { -} +${config.layout ? `import Layout from ${JSON.stringify(config.layout)};` : ""} export const name = "TypstComponent"; export const html = ${JSON.stringify(html)}; export const frontmatter = undefined; @@ -32,10 +28,8 @@ export function getHeadings() { } export async function Content() { const content = h(Fragment, {"set:html": html}); - if (Layout) - return h(Layout, {title: url, children: content}); - else - return content; + ${config.layout && `return h(Layout, {title: url, children: content});`} + ${!config.layout && `return content;`} } export default Content; `