En utilisant Compass sprites générés dans Middleman, comment laisser des fichiers source sprite de la construction?

StackOverflow https://stackoverflow.com/questions/9339024

  •  27-10-2019
  •  | 
  •  

Question

Utilisation Middleman 2.0.14, j'utilise la boussole propose de générer des sprites dans mon fichier CSS avec:

@import "companies/*.png";
@include all-companies-sprites;

Cela prend tous les fichiers de source/images/companies/*.png et génère un seul fichier de sprite source/images/companies-s45e421528f.png. Jusqu'à présent, si bon.

Quand je fais une middleman build, il copie sur le fichier consciencieusement d'image généré, mais inclut également les fichiers companies/*.png.

Son pas une grosse affaire d'avoir un script de déploiement supprimer ces fichiers supplémentaires, mais je me demande s'il y a une option qui me manque quelque part? (Ou peut-être le « presque prêt à libérer 3.x MM » a une solution?) Peut-être que je devrais mettre les fichiers companies/*.png quelque part ailleurs dans l'arbre source?

Était-ce utile?

La solution

Je suggère de les nettoyer avec un script (ou un crochet after_build). Ceci est le comportement par défaut de boussole, pour générer des images en mode de développement, et il faudrait un certain rapiéçage singe à modifier (pour l'instant, la version bêta de Compass ont un accès direct à ces options).

Dans la version 3.0, vous pouvez essayer:

configure :build do
  ignore "source/images/companies/*.png"
end

Mais je ne suis pas sûr Compass n'étouffer sur ce point.

Autres conseils

L'utilisation ignore a ralenti la construction de manière significative pour moi donc je préférais mettre les actifs de sprite en dehors de source/.

De cette façon, les sprites sont générés sous source/sprites/, build/sprites et les sources sont exclues sans ignoreing il.

Voici comment établir ceci:

# config.rb

compass_config do |config|
    # tell Compass to load sprites from `project_root/sprites`
    config.sprite_load_path = 
      config.sprite_load_path
      .to_a
      .push(File.join root, 'sprites')
end 
# style.css.scss

@import "..sprites/companies/*.png";
@include all-companies-sprites;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top