42 lines
1 KiB
Clojure
42 lines
1 KiB
Clojure
|
#!/usr/bin/env bb
|
||
|
(require '[babashka.fs :as fs]
|
||
|
'[babashka.process :refer [process]]
|
||
|
'[java-time.api :as jt])
|
||
|
|
||
|
(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"
|
||
|
"extended-colors"
|
||
|
"general"
|
||
|
"buttons"
|
||
|
"grid"
|
||
|
"components"
|
||
|
"headings"
|
||
|
"icons"
|
||
|
"forms"
|
||
|
"navbar"
|
||
|
"tables"
|
||
|
"messages"])
|
||
|
|
||
|
(spit tmp-css (str "/* Copyright %s Yann Esposito; MIT licensed */"
|
||
|
(jt/year (jt/local-date))))
|
||
|
(doseq [item sub-css]
|
||
|
(println "building: %s" item)
|
||
|
(let [css (fs/file tmp-dir (str item ".css"))
|
||
|
min-css (fs/file tmp-dir (str item ".min.css"))]
|
||
|
(process ["lessc" (format "src/%s.less" item)] {:out css})
|
||
|
(process ["minify" min-css] {:out min-css})
|
||
|
(when-not (= "extended-colors" item)
|
||
|
(spit tmp-css (slurp min-css) :append true))))
|
||
|
|
||
|
(fs/move tmp-css brut-css :replace-existing :atomic-move)
|
||
|
(println "build: " brut-css)
|