blob: 1a3431a37a631426c548650be9fd0bc6fe2c82e1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import { join } from "@std/path";
import { Config } from "../config.ts";
import { Element, script } from "../dom.ts";
import { calculateFileHash } from "./utils.ts";
export default async function StaticScript(
{ site, fileName, type, defer, config }: {
site?: string;
fileName: string;
type?: string;
defer?: "true";
config: Config;
},
): Promise<Element> {
const filePath = join(
Deno.cwd(),
config.locations.staticDir,
site || "_all",
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 script(attrs);
}
|