2012-11-06 30 views
8

我正在做一個Compass項目,我的最終css輸出很大,所以它需要是blessed如何將羅盤與保佑相結合?

我正在使用Codekit編譯我的SCSS文件,它有較少和sass文件的祝福選項,但不幸的是這個選項似乎不適用於指南針項目(順便說一句,沒有解決方法來解決問題https://github.com/bdkjones/CodeKit/issues/163

在編譯過程之後是否有其他方法可以自動執行該操作?是否有可能用nodejs觀看css文件,然後祝福它?

============================================== ======

UPDATE

我不使用Codekit了我用步兵建項目資產和它的作品就像一個魅力。

回答

3

嗯,看來使用this reference你可以簡單地這樣做:

on_stylesheet_saved do |filename| 
    system('blessc ' + File.basename(filename)) 
end 

您已經安裝Bless後。

它所做的是簡單的連接您編譯羅盤文件後,該事件:)享受

+1

二進制是「blessc」和不是「祝福」。 –

+3

它完美的工作,我只需要設置正確的路徑到CSS輸出:'on_stylesheet_saved do | filename | exec('blessc'+ css_dir +「/」+ File.basename(filename)+「-f」) end' –

+0

由於某種原因,這現在不適用於我。也許更改我的CodeKit版本...它曾經工作,但現在不...... – Scott

1

這適用於常規的編譯命令,但是當你看它這是行不通的。祝福完成後,觀看過程結束。

0

我發現blessc只是不會執行,我得到這兩個錯誤之一:

config.rb:沒有這樣的文件或目錄 - blessc(無論文件名)

ENV:節點:沒有這樣的文件或目錄

事實證明,這是因爲blessc/node.js安裝在/ usr/local/bin中,並且不在ruby exec(/ usr/bin:/ bin:/ usr/sbin:/ sbin)的PATH變量中。 。下面的代碼工作:

on_stylesheet_saved do |filename| 
    exec('PATH=$PATH:/usr/local/bin; blessc ' + filename + ' -f') 
end 

編輯補充:如果之後你得到的錯誤說,文件不是從保佑,請檢查您的文件絕對路徑中包含空格的CSS。

on_stylesheet_saved do |filename| 
    exec('PATH=$PATH:/usr/local/bin; blessc ' + (filename.gsub! ' ', '\ ') + ' -f') 
end 
0

你可以試試下面的代碼塊,我做了幾個Julian Xhokaxhiu回答的變化:您可以通過執行以下逃脫空白

on_stylesheet_saved do |filename| 
    begin 
    puts "Counting number of selector in :: " + filename 
    result = system('blessc',filename,'-f') 

    if not result 
     Kernel.exit(false) 
    else 
     puts "Blessed the file to support Older version of IE." 
    end 

    rescue Exception => e 
    puts "Please install bless.\nsudo npm install -g bless." 
    Kernel.exit(false) 
    end 
end