2011-11-10 41 views
2

我已經開始使用較少的CSS。在mac os中自動編譯較少的css文件x

我已經寫了一個小的bash腳本,它用我的目標文件調用「lessc」命令,然後將其傳入我的完成的css文件。它看起來像這樣:

#!/bin/bash 
lessc ~/Documents/Development/Projects/blog/static/css/global.less --watch > ~/Documents/Development/Projects/blog/static/css/styles.css -x 

這個-x標誌壓縮CSS。

正如你所看到的,我試圖使用--watch標誌,從我的理解意味着它會自動重新編譯CSS,每次你對少文件進行更改。但這似乎並不奏效。

我意識到我可以使用某人寫的「少應用程序」,但我好奇自己如何做到這一點,因爲這顯然是可能的。

+0

使用Guard。 https://github.com/mloberg/guard-less(此分支包含最新的gem依賴版本) – elado

回答

2

因爲不經常使用@imports,它是一個過度設計的解決方案來監視所有涉及的文件。你可以只用一個簡單的循環來編譯每隔一段時間,例如:

while true; do lessc bootstrap.less > bootstrap.css 2> /dev/null; sleep 5; done 

如果這是過於簡單化了,那麼你可以嘗試使用猛砸-nt測試,測試如果一個文件的修改時間比新例如(假設bootstrap.less包含@import for custom.less):

while true 
do 
    if [ bootstrap.less -nt bootstrap.css ] || [ custom.less -nt bootstrap.css ]; then 
     echo "Change detected, regenerating @ $(date)" 
     lessc bootstrap.less > bootstrap.css 
    fi 
    sleep 5 
done