aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/nuldoc-src/components/StaticScript.ts
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-11-27 04:02:06 +0900
committernsfisis <nsfisis@gmail.com>2025-11-27 04:02:06 +0900
commitd1014de68415df8f0a5dc3389332e086119c6198 (patch)
tree6564411eb6381eb48f86ed2b658c5440295596fa /services/nuldoc/nuldoc-src/components/StaticScript.ts
parentb587ae4cfdfb991dcd9d7a1109b7530f774691dd (diff)
downloadnsfisis.dev-d1014de68415df8f0a5dc3389332e086119c6198.tar.gz
nsfisis.dev-d1014de68415df8f0a5dc3389332e086119c6198.tar.zst
nsfisis.dev-d1014de68415df8f0a5dc3389332e086119c6198.zip
refactor(nuldoc): eliminate JSX
Diffstat (limited to 'services/nuldoc/nuldoc-src/components/StaticScript.ts')
-rw-r--r--services/nuldoc/nuldoc-src/components/StaticScript.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/services/nuldoc/nuldoc-src/components/StaticScript.ts b/services/nuldoc/nuldoc-src/components/StaticScript.ts
new file mode 100644
index 0000000..7df40fd
--- /dev/null
+++ b/services/nuldoc/nuldoc-src/components/StaticScript.ts
@@ -0,0 +1,20 @@
+import { join } from "@std/path";
+import { Config } from "../config.ts";
+import { elem, Element } from "../dom.ts";
+import { calculateFileHash } from "./utils.ts";
+
+export default async function StaticScript(
+ { fileName, type, defer, config }: {
+ fileName: string;
+ type?: string;
+ defer?: "true";
+ config: Config;
+ },
+): Promise<Element> {
+ const filePath = join(Deno.cwd(), config.locations.staticDir, fileName);
+ const hash = await calculateFileHash(filePath);
+ const attrs: Record<string, string> = { src: `${fileName}?h=${hash}` };
+ if (type) attrs.type = type;
+ if (defer) attrs.defer = defer;
+ return elem("script", attrs);
+}