Configurare la bussola all'interno di un progetto CakePHP
-
24-09-2019 - |
Domanda
Ho esaminato la bussola e più aspetto, più mi sembra il modo in cui i CS dovrebbero essere scritti. Come caso di prova, vorrei usarlo in uno dei miei progetti CakePHP. Sfortunatamente, ho qualche problema con la configurazione iniziale. In particolare, con le risorse nel posto giusto e citato correttamente nel CSS compilato.
Sto creando un :stand_alone
progetto nel mio /app
directory. Bene, questo è quello che io volere da fare. La bussola non sembra che lo piaccia. Nel creare il progetto, l'ho detto dove mettere il CSS, le immagini e JS e quelle risorse, in effetti, arrivano alla directory corretta. Sfortunatamente, poiché non sto creando la directory nel Webroot, le risorse vengono fatte riferimento in modo errato quando compilate.
Sto creando il progetto della bussola nel mio cakephp app/
directory con questo comando:
$ compass -f blueprint --sass-dir sass --css-dir webroot/css/ --images-dir webroot/img/ --javascripts-dir webroot/js/ --output-style compact .
Il CSS compilato, tuttavia, vuole fare riferimento a Blueprint showgrid.png
Immagine come:
url('/webroot/img/grid.png?1264969358')
Suppongo che questo sia un risultato abbastanza prevedibile, ma non riesco a capire come far riferimento al CSS compilato /img/grid.png?whatever
sentiero. È anche possibile? Sono costretto a creare il mio progetto di bussola direttamente nel mio Webroot?
Grazie.
AGGIORNARE
Contenuto del mio config.rb
file:
# Require any additional compass plugins here.
project_type = :stand_alone
# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "webroot/css"
sass_dir = "sass"
images_dir = "webroot/img"
http_images_path = "/img"
javascripts_dir = "webroot/js"
output_style = :compact
Soluzione
Esecuzione di Compass V0.10 e utilizzando la seguente configurazione:
# Require any additional compass plugins here.
# Set this to the root of your project when deployed:
http_path = "/"
sass_dir = "sass"
css_dir = "webroot/css"
images_dir = "webroot/images"
javascripts_dir = "webroot/js"
http_stylesheets_dir = "css"
http_javascripts_dir = 'js'
http_images_dir = 'images'
# To enable relative paths to assets via compass helper functions. Uncomment:
# relative_assets = true
Fornisce i risultati previsti.
Compass v0.10 sta per essere rilasciata, puoi installarlo con:
(sudo) gem install compass --pre
Per creare un progetto utilizzando questa configurazione:
- Crea una directory di progetto
- Salva la configurazione in
config.rb
nella directory del progetto. - Dall'interno della directory del progetto esegui il comando:
compass install blueprint
Altri suggerimenti
Rails e altri framework hanno i file SASS e la configurazione nella radice del progetto, al di fuori del pubblico Web. Anche un progetto autonomo dovrebbe funzionare bene in questo modo.
Stai usando image_url()
per quando fai riferimento a un'immagine?
Nel tuo compass.config
file è possibile impostare il http_images_path
Se è diverso dal percorso della directory. Vedere il pagina di configurazione nella wiki per maggiori dettagli.