brutcss/build.clj
Yann Esposito (Yogsototh) 6ac7b2f382
Color play with filters
2022-10-11 14:50:00 +02:00

45 lines
1.1 KiB
Clojure
Executable file

#!/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)