This repository has been archived by the owner on Dec 12, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_config.ts
54 lines (49 loc) · 1.6 KB
/
_config.ts
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
import lume from "lume/mod.ts";
import date from "lume/plugins/date.ts";
import postcss from "lume/plugins/postcss.ts";
import terser from "lume/plugins/terser.ts";
import codeHighlight from "lume/plugins/code_highlight.ts";
import basePath from "lume/plugins/base_path.ts";
import slugifyUrls from "lume/plugins/slugify_urls.ts";
import resolveUrls from "lume/plugins/resolve_urls.ts";
import gpm from "https://deno.land/x/[email protected]/mod.ts";
import metas from "lume/plugins/metas.ts";
import minify from "https://raw.githubusercontent.com/lumeland/experimental-plugins/main/minify/minify.ts";
import imagick from "lume/plugins/imagick.ts";
import { getLumeVersion } from "lume/core/utils.ts";
const site = lume({
location: new URL("https://notes.santhoshveer.com/"),
});
site
.ignore("README.md", "CHANGELOG.md", "node_modules", "LICENSE")
.copy("icons")
.use(postcss())
.use(terser())
.use(codeHighlight())
.use(basePath())
.use(slugifyUrls({ alphanumeric: false }))
.use(resolveUrls())
.addEventListener(
"beforeBuild",
() => gpm(["oom-components/searcher"], "js/vendor"),
)
.use(metas())
.loadAssets([".css", ".png", ".jpg", ".svg", ".webp", ".gif", ".jpeg"])
.use(minify({
extensions: [".css", ".html"],
}))
.use(imagick({
extensions: [".jpg", ".png"],
}))
.use(date({
locales: ["en-IN"],
}));
site.process([".html"], (page) => {
page.document.querySelectorAll("img").forEach((img) => {
if (!img.hasAttribute("loading")) {
img.setAttribute("loading", "lazy");
}
});
});
site.data("lume_version", getLumeVersion());
export default site;