2012-11-06 18 views
8

Sto lavorando a un progetto Compass e il mio output css finale è enorme, quindi deve essere blessed.Come combinare la bussola con le benedizioni?

Sto usando Codekit per compilare i miei file SCSS, e ha l'opzione di benedire per i file meno e sass ma purtroppo questa opzione sembra non essere disponibile per i progetti della bussola (BTW non ci sono soluzioni per risolvere il problema https://github.com/bdkjones/CodeKit/issues/163)

C'è un modo alternativo di farlo automaticamente dopo la compilazione? È possibile guardare il file css con nodejs e poi benedirlo?

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

UPDATE

non sto usando Codekit più io uso Grunt a costruire il patrimonio di progetto e funziona come un fascino.

risposta

3

Bene, sembra che l'uso di this reference si può semplicemente fare qualcosa di simile:

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

dopo aver installato Bless.

ciò che fa è semplicemente collegando tale evento dopo si compila il file di Compass :) Godetevi

+1

Il binario è "blessc" e non "benedica". –

+3

Funziona perfettamente, ho solo dovuto impostare il percorso corretto per l'output css: 'on_stylesheet_saved do | nomefile | exec ('blessc' + css_dir + "/" + File.basename (nomefile) + "-f") fine' –

+0

Per qualche motivo questo non funziona ora per me. Forse qualcosa è cambiato con la mia versione di CodeKit ...Funzionava, ma ora non funziona ... – Scott

1

Questo funziona per il comando regolare di compilazione, ma non funziona quando si guarda. Dopo che Bless è stato completato, il processo di controllo termina.

0

ho scoperto che blessc proprio non eseguirebbe, mi piacerebbe avere uno di questi due errori:

config.rb: No such file or directory - blessc (qualunque sia il nome del file)

o

ENV: nodo: No such file or directory

Si scopre che questo è dovuto al fatto che blessc/node.js sono installati in/usr/local/bin, e che non è nella variabile PATH per ruby ​​exec (/ usr/bin:/bin:/usr/sbin:/sbin) . Il seguente codice ha funzionato:

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

A cura di aggiungere: Se dopo questo si ottiene errori dicendo che i file non sono css da benedire, verificare se il percorso assoluto del file contiene spazi bianchi. Si può sfuggire lo spazio bianco nel modo seguente:

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

È possibile provare il seguente blocco di codice, ho fatto paio di cambi di Julian Xhokaxhiu risposta:

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 
Problemi correlati