#!/usr/bin/env bb (require '[babashka.fs :as fs] '[babashka.process :refer [process]]) (def dist "_build") (def tmp-dir (-> (fs/create-temp-dir) (fs/delete-on-exit))) (def tmp-css (fs/file tmp-dir "tmp.css")) (def brut-css "brut.min.css") (fs/create-dirs dist) (def sub-css ["colors" "general" "buttons" "grid" "components" "headings" "icons" "forms" "navbar" "tables" "messages"]) (defn current-year [] (-> (new java.util.Date) .getYear ;; yeah... it's dumb (+ 1900))) (spit tmp-css (format "/* Copyright %s Yann Esposito; MIT licensed */" (current-year))) (doseq [item sub-css] (printf "building: %s\n" item) (let [css (fs/file tmp-dir (str item ".css")) min-css (fs/file dist (str item ".min.css")) _ @(process ["lessc" (format "src/%s.less" item)] {:out css}) minified (-> @(process ["minify" css] {:out :string}) :out)] (spit min-css minified))) (fs/move tmp-css brut-css {:replace-existing true :atomic-move true}) (println "build: " brut-css)