summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraspizu <aspizu@protonmail.com>2025-03-10 03:33:33 +0530
committeraspizu <aspizu@protonmail.com>2025-03-10 03:33:33 +0530
commite6af7e70d05fe89be3b3b5a584a094edd1342b56 (patch)
tree184cd16bb23683119ab1cf94fed6184310009720
parent067cda9660c55107477f476ee1819486e7de8a6a (diff)
feat: remove default layout assignment in gemtext function and update layout import logic
-rw-r--r--src/index.ts3
-rw-r--r--src/vitePlugin.ts12
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;
`