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
66
67
68
69
70
71
72
73
|
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 remark from "lume/plugins/remark.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 "npm:@catppuccin/[email protected]";
const getGitRevision = async () => {
const p = Deno.run({
cmd: ["git", "rev-parse", "HEAD"],
stdout: "piped",
});
const [status, output] = await Promise.all([p.status(), p.output()]);
if (status.success) {
return new TextDecoder().decode(output).trim().substring(0, 8);
}
return null;
};
const site = lume({
src: "./src",
location: new URL("https://getchoo.github.io"),
});
site.remoteFile(
"_includes/css/highlight.css",
"https://cdn.jsdelivr.net/gh/highlightjs/[email protected]/build/styles/github-dark.min.css"
);
site.use(attributes())
.use(base_path())
.use(code_highlight())
.use(date())
.use(remark())
.use(sitemap())
.use(sass())
.use(
tailwindcss({
options: {
plugins: [
tailwind_catppuccin({
defaultFlavour: "mocha",
}),
],
},
})
)
.use(postcss())
.data("gitRevision", await getGitRevision())
.ignore(
"README.md",
"LICENSE",
".gitignore",
".gitattributes",
"flake.nix",
"flake.lock",
".editorconfig",
".prettierignore",
".envrc"
)
.copy("favicon.ico")
.copy("files")
.copy("imgs")
.copy("js");
export default site;
|