Something went wrong. Try again.
Content-addressed version deploy system for Diffuse elements.diffuse.sh
Something went wrong. Try again.
diffuse-artifacts _config.ts
2.2 kB · 113 lines
TypeScript
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114import lume from "lume/mod.ts";
import date from "lume/plugins/date.ts";import postcss from "lume/plugins/postcss.ts";
const site = lume({ dest: "./dist", src: "./site", server: { debugBar: false, },});
export default site;
site.use(date());site.use(postcss());
site.add([".css"]);site.add([".woff2"]);
site.add(".well-known/atproto-did")site.add("favicons/");
site.add("images/background/7.jpg");site.add("images/maxx-gong-yER6L9sRPXM-unsplash.jpg");site.add("images/diffuse-current.svg");
site.add("default-layout.js");site.add("site.webmanifest");
// DIFFUSE DEPENDENCIES
site.remote( "_components/diffuse/", import.meta.resolve("./diffuse/src/_components/diffuse/"), ["**/*"],);
site.remote( "_includes/diffuse/", import.meta.resolve("./diffuse/src/_includes/"), ["**/*"],);
site.remote( "favicons/", import.meta.resolve("./diffuse/src/favicons/"), ["**/*"],);
site.remote( "fonts/", import.meta.resolve("./diffuse/src/fonts/"), ["**/*"],);
site.remote( "images/", import.meta.resolve("./diffuse/src/images/"), ["**/*"],);
site.remote( "styles/", import.meta.resolve("./diffuse/src/styles/"), ["**/*"],);
site.remote( "default-layout.js", import.meta.resolve("./diffuse/src/default-layout.js"),);
site.remote( "site.webmanifest", import.meta.resolve("./diffuse/src/site.webmanifest"),);
// PHOSPHOR ICONS
function phosphor(path: string) { site.remoteFile( `styles/vendor/phosphor/${path}`, import.meta.resolve( `./diffuse/node_modules/@phosphor-icons/web/src/${path}`, ), );
site.add(`styles/vendor/phosphor/${path}`);}
phosphor("fill/style.css");phosphor("fill/Phosphor-Fill.svg");phosphor("fill/Phosphor-Fill.ttf");phosphor("fill/Phosphor-Fill.woff");phosphor("fill/Phosphor-Fill.woff2");
// Post-build copiessite.addEventListener("afterBuild", async () => { const faviconsDir = site.dest("favicons");
for await (const entry of Deno.readDir(faviconsDir)) { if (entry.isFile) { await Deno.copyFile( `${faviconsDir}/${entry.name}`, site.dest(entry.name), ); } }
await Deno.remove(faviconsDir, { recursive: true });});