Question

Je l'ai regardé dans Compass et plus je regarde, plus il se sent comme la façon dont CSS doit être écrit. En cas de test, je voudrais l'utiliser dans un de mes projets CakePHP. Malheureusement, je vais avoir des problèmes avec la configuration initiale. Plus précisément, à obtenir les ressources au bon endroit et référencé correctement dans le CSS compilé.

Je crée un projet :stand_alone dans mon répertoire /app. Eh bien, c'est ce que je voulez à faire. Compass ne semble pas comme ça. Lors de la création du projet, je l'ai dit où mettre les images et css, js et ces ressources ne, en fait, fais le répertoire approprié. Malheureusement, parce que je ne suis pas la création du répertoire dans le Webroot, les ressources sont référencées de manière incorrecte lors de la compilation.

Je crée le projet Compass dans mon répertoire CakePHP app/ avec cette commande:

$ compass -f blueprint --sass-dir sass --css-dir webroot/css/ --images-dir webroot/img/ --javascripts-dir webroot/js/ --output-style compact .

Le CSS compilé, cependant, veut faire référence à l'image de showgrid.png Blueprint comme:

url('/webroot/img/grid.png?1264969358')

Je suppose que ce résultat est assez prévisible, mais je ne peux pas comprendre comment obtenir le CSS compilé pour référencer le chemin de /img/grid.png?whatever correct. Est-ce que c'est possible? Suis-je obligé de créer mon projet Compass directement dans mon Webroot?

Merci.

UPDATE

Contenu de mon fichier config.rb:

# 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
Était-ce utile?

La solution

Running Compass v0.10 et en utilisant la configuration suivante:

# 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

fournit les résultats escomptés.

Compass v0.10 est sur le point d'être libérer, vous pouvez l'installer avec:

(sudo) gem install compass --pre

Pour créer un projet en utilisant cette config:

  1. Créer un répertoire de projet
  2. Save the config dans config.rb dans le répertoire du projet.
  3. À partir de votre répertoire, lancez la commande du projet: compass install blueprint

Autres conseils

Rails et d'autres cadres ont les fichiers SASS et la configuration dans la racine du projet, en dehors du Webroot public. Un projet autonome devrait fonctionner correctement cette façon aussi.

Utilisez-vous image_url() lorsque vous faites référence à une image?

Dans votre fichier compass.config vous pouvez définir la http_images_path si elle est différente de votre chemin d'accès. Voir la dans le wiki pour plus de détails.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top