summaryrefslogtreecommitdiff
path: root/_config.ts
blob: 77b2bbb371b32877000d5cf3737592567b1ebf9e (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import lume from "lume/mod.ts";
import attributes from "lume/plugins/attributes.ts";
import base_path from "lume/plugins/base_path.ts";
import code_highlight from "lume/plugins/code_highlight.ts";
import date from "lume/plugins/date.ts";
import postcss from "lume/plugins/postcss.ts";
import sass from "lume/plugins/sass.ts";
import sitemap from "lume/plugins/sitemap.ts";
import tailwindcss from "lume/plugins/tailwindcss.ts";
import tailwind_catppuccin from "catppuccin";

const getGitRevision = async () => {
	const cmd = new Deno.Command("git", {
		args: [
			"rev-parse",
			"HEAD",
		],
	});
	const { success, stdout } = await cmd.output();

	const fromEnv = Deno.env.get("GIT_REV");

	if (success) {
		console.log("Using git revision from git");
		return new TextDecoder().decode(stdout).trim().substring(0, 8);
	} else if (fromEnv) {
		console.log("Using git revision from env");
		return fromEnv.substring(0, 8);
	} else {
		console.warn("Not able to find git revision! Leaving it blank");
		return null;
	}
};

const site = lume({
	src: "./src",
	location: new URL("https://mydadleft.me"),
});

site.remoteFile(
	"_includes/css/code.css",
	"https://unpkg.com/@catppuccin/[email protected]/css/catppuccin-mocha.css",
);

site.use(attributes())
	.use(base_path())
	.use(code_highlight())
	.use(date())
	.use(sitemap())
	.use(sass())
	.use(tailwindcss({
		options: {
			plugins: [
				tailwind_catppuccin({
					defaultFlavour: "mocha",
				}),
			],
		},
	}))
	.use(postcss());

site.copy("public", ".");
site.data("gitCommit", await getGitRevision());

export default site;