Watchr 是一個可以監視檔案變動,然後自動執行特定動作的工具。 我的 Rails3 App Template (+JQuery+RSpec+Watchr) 一文中提到它最常見的用途就是用來做 Continuous Testing,只要檔案一存檔,就自動執行對應的測試。但是它也可以有其他用途,就看你怎麼發揮。
例如,我就拿來寫書。我的 Rails3 一書 是用 Jekyll 搭配 Markdown 語法寫的。因此每次檔案編輯完,都必須執行 jekyll 指令才會產生 HTML,接著還得重新整理一下瀏覽器才會看到最後的結果 :(
透過 watchr 和 autorefresh,我就可以達成當我修改完存檔,就會自動執行 jekyll 產生 HTML,並且重新整理瀏覽器頁面。非常好用。用 watchr 執行以下的 script 就會監視目錄下的 .markdown 檔案,一有變更就執行 jekyll 和 autorefresh。
watch('.*\.markdown') do |md|
puts "#{md} is updated!"
system("jekyll")
system('autorefresh rails3book')
end
也有人用 Watchr 來 自動上傳 templates 檔案到 Shopify。
各位讀者還有什麼應用嗎? 歡迎分享。
自動編譯 CoffeeScript, Compass, …
不错的用法,之前我都是笨笨的手工编译。
如果可以監控folder底下的檔案數量增減的話,就能模擬出Dropbox的動作了。