webzone/_config.ts

49 lines
1.3 KiB
TypeScript

import lume from "lume/mod.ts";
// Stable plugins
import attributes from "lume/plugins/attributes.ts";
import codeHighlight from "lume/plugins/code_highlight.ts";
import date from "lume/plugins/date.ts";
import esbuild from "lume/plugins/esbuild.ts";
import jsx from "lume/plugins/jsx_preact.ts";
import lightningcss from "lume/plugins/lightningcss.ts";
import minifyHTML from "lume/plugins/minify_html.ts";
import remark from "lume/plugins/remark.ts";
import sass from "lume/plugins/sass.ts";
import sourceMaps from "lume/plugins/source_maps.ts";
import svgo from "lume/plugins/svgo.ts";
// Experimental plugins
import mdx from "experimental/mdx/mod.ts";
import sitemap from "experimental/sitemap/sitemap.ts";
const site = lume({
src: "./src",
dest: "./dist",
location: new URL("https://samtherapy.net"),
});
site
.copy("img")
.copy(".domains")
.copy(".well-known")
.use(attributes())
.use(codeHighlight())
.use(date())
.use(jsx())
.use(mdx())
.use(remark())
.use(sitemap())
.use(svgo())
.remoteFile(
"_includes/styles/external/nord.min.css",
"https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/nord.min.css",
)
.use(esbuild())
.use(lightningcss())
.use(sass({ extensions: [".scss"] }))
.use(minifyHTML())
.use(sourceMaps());
export default site;