Content-addressed version deploy system for Diffuse elements.diffuse.sh
at main 85 lines 1.6 kB view raw
1import lume from "lume/mod.ts"; 2 3import date from "lume/plugins/date.ts"; 4import postcss from "lume/plugins/postcss.ts"; 5import purgecss from "lume/plugins/purgecss.ts"; 6 7const site = lume({ 8 dest: "./dist", 9 src: "./site", 10 server: { 11 debugBar: false, 12 }, 13}); 14 15export default site; 16 17site.use(date()); 18site.use(postcss()); 19// site.use(purgecss()); 20 21site.add([".css"]); 22site.add([".woff2"]); 23 24site.add("favicons/"); 25 26site.add("images/background/7.jpg"); 27site.add("images/maxx-gong-yER6L9sRPXM-unsplash.jpg"); 28site.add("images/diffuse-current.svg"); 29 30// DIFFUSE DEPENDENCIES 31 32site.remote( 33 "_components/diffuse/", 34 import.meta.resolve("./diffuse/src/_components/diffuse/"), 35 ["**/*"], 36); 37 38site.remote( 39 "_includes/diffuse/", 40 import.meta.resolve("./diffuse/src/_includes/"), 41 ["**/*"], 42); 43 44site.remote( 45 "favicons/", 46 import.meta.resolve("./diffuse/src/favicons/"), 47 ["**/*"], 48); 49 50site.remote( 51 "fonts/", 52 import.meta.resolve("./diffuse/src/fonts/"), 53 ["**/*"], 54); 55 56site.remote( 57 "images/", 58 import.meta.resolve("./diffuse/src/images/"), 59 ["**/*"], 60); 61 62site.remote( 63 "styles/", 64 import.meta.resolve("./diffuse/src/styles/"), 65 ["**/*"], 66); 67 68// PHOSPHOR ICONS 69 70function phosphor(path: string) { 71 site.remoteFile( 72 `styles/vendor/phosphor/${path}`, 73 import.meta.resolve( 74 `./diffuse/node_modules/@phosphor-icons/web/src/${path}`, 75 ), 76 ); 77 78 site.add(`styles/vendor/phosphor/${path}`); 79} 80 81phosphor("fill/style.css"); 82phosphor("fill/Phosphor-Fill.svg"); 83phosphor("fill/Phosphor-Fill.ttf"); 84phosphor("fill/Phosphor-Fill.woff"); 85phosphor("fill/Phosphor-Fill.woff2");