Run SASS relative to sass/
This is so that SASS/Compass can find images and other assets
This commit is contained in:
parent
52244956aa
commit
5587cc88ef
2 changed files with 31 additions and 33 deletions
|
@ -321,9 +321,10 @@
|
||||||
(rss/make-filtered-channels public config posts-by-tag)
|
(rss/make-filtered-channels public config posts-by-tag)
|
||||||
(println (blue "compiling sass"))
|
(println (blue "compiling sass"))
|
||||||
(sass/compile-sass->css!
|
(sass/compile-sass->css!
|
||||||
{:src-sass (str "resources/templates/" sass-src)
|
{:src-sass sass-src
|
||||||
:dest-sass (str "resources/public" blog-prefix "/" sass-dest)
|
:dest-sass (str "../public" blog-prefix "/" sass-dest)
|
||||||
:ignored-files ignored-files})))
|
:ignored-files ignored-files
|
||||||
|
:base-dir "resources/templates/"})))
|
||||||
|
|
||||||
(defn compile-assets-timed []
|
(defn compile-assets-timed []
|
||||||
(time
|
(time
|
||||||
|
|
|
@ -22,9 +22,9 @@
|
||||||
(defn find-sass-files
|
(defn find-sass-files
|
||||||
"Given a Diretory, gets files, Filtered to those having scss or sass
|
"Given a Diretory, gets files, Filtered to those having scss or sass
|
||||||
extention. Ignores files matching any ignored regexps."
|
extention. Ignores files matching any ignored regexps."
|
||||||
[dir ignored-files]
|
[base-dir dir ignored-files]
|
||||||
(let [filename-filter (match-re-filter #"(?i:s[ca]ss$)")]
|
(let [filename-filter (match-re-filter #"(?i:s[ca]ss$)")]
|
||||||
(->> (.listFiles (io/file dir) filename-filter)
|
(->> (.listFiles (io/file base-dir dir) filename-filter)
|
||||||
(filter #(not (.isDirectory %)))
|
(filter #(not (.isDirectory %)))
|
||||||
(filter (ignore ignored-files))
|
(filter (ignore ignored-files))
|
||||||
(map #(.getName %)))))
|
(map #(.getName %)))))
|
||||||
|
@ -33,15 +33,14 @@
|
||||||
"Given a sass file which might be in src-sass directory,
|
"Given a sass file which might be in src-sass directory,
|
||||||
output the resulting css in dest-sass. All error handling is
|
output the resulting css in dest-sass. All error handling is
|
||||||
done by sh / launching the sass command."
|
done by sh / launching the sass command."
|
||||||
[sass-file
|
[{:keys [src-sass
|
||||||
src-sass
|
|
||||||
dest-sass
|
dest-sass
|
||||||
compass?]
|
base-dir]}]
|
||||||
|
(shell/with-sh-dir base-dir
|
||||||
(sh "sass"
|
(sh "sass"
|
||||||
"--update"
|
"--update"
|
||||||
(when compass? "--compass")
|
(when (compass-installed?) "--compass")
|
||||||
(str src-sass "/" sass-file)
|
(str src-sass ":" dest-sass))))
|
||||||
(str dest-sass "/" )))
|
|
||||||
|
|
||||||
(defn compile-sass->css!
|
(defn compile-sass->css!
|
||||||
"Given a directory src-sass, looks for all sass files and compiles them into
|
"Given a directory src-sass, looks for all sass files and compiles them into
|
||||||
|
@ -49,24 +48,22 @@ dest-sass. Prompts you to install sass if he finds sass files and can't find
|
||||||
the command. Shows you any problems it comes across when compiling. "
|
the command. Shows you any problems it comes across when compiling. "
|
||||||
[{:keys [src-sass
|
[{:keys [src-sass
|
||||||
dest-sass
|
dest-sass
|
||||||
ignored-files]}]
|
ignored-files
|
||||||
(let [sass-files (find-sass-files src-sass ignored-files)]
|
base-dir] :as opts}]
|
||||||
(if (seq sass-files)
|
(when-let [sass-files (seq (find-sass-files base-dir src-sass ignored-files))]
|
||||||
|
(if (sass-installed?)
|
||||||
;; I found sass files,
|
;; I found sass files,
|
||||||
;; If sass is installed
|
;; If sass is installed
|
||||||
(if (sass-installed?)
|
(do
|
||||||
(let [compass? (compass-installed?)]
|
(println "Compiling Sass Files:" src-sass dest-sass)
|
||||||
;; I compile all files
|
(let [result (compile-sass-file! opts)]
|
||||||
(doseq [a-file sass-files]
|
|
||||||
(println "Compiling Sass File:" a-file src-sass dest-sass)
|
|
||||||
(let [result (compile-sass-file! a-file src-sass dest-sass compass?)]
|
|
||||||
(if (zero? (:exit result))
|
(if (zero? (:exit result))
|
||||||
;; no problems in sass compilation
|
;; no problems in sass compilation
|
||||||
(println "Successfully compiled:" a-file)
|
(println "Successfully compiled sass files")
|
||||||
;; else I show the error
|
;; else I show the error
|
||||||
(println (red (:err result))
|
(println (red (:err result))
|
||||||
(red (:out result)))))))
|
(red (:out result))))))
|
||||||
;; Else I prompt to install Sass
|
;; Else I prompt to install Sass
|
||||||
(println "Sass seems not to be installed, but you have scss / sass files in "
|
(println "Sass seems not to be installed, but you have scss / sass files in "
|
||||||
src-sass
|
src-sass
|
||||||
" - You might want to install it here: sass-lang.com")))))
|
" - You might want to install it here: sass-lang.com"))))
|
||||||
|
|
Loading…
Reference in a new issue