Middlemanでコンパス生成されたスプライトを使用して、ビルドからSpriteソースファイルを除外する方法は?
-
27-10-2019 - |
質問
Middleman 2.0.14を使用して、コンパス機能を使用して、次のようなCSSファイルにいくつかのスプライトを生成します。
@import "companies/*.png";
@include all-companies-sprites;
これにより、すべてのファイルが取得されます source/images/companies/*.png
単一のスプライトファイルを生成します source/images/companies-s45e421528f.png
. 。ここまでは順調ですね。
私がするとき middleman build
, 、生成された画像ファイルを忠実にコピーしますが、 companies/*.png
ファイル。
展開スクリプトにこれらの追加ファイルを削除するのは大したことではありませんが、どこかに欠けているオプションがあるのだろうか? (または、「mm 3.xをリリースする準備ができている」には解決策がありますか?) companies/*.png
ソースツリーのどこか他のファイル?
解決
スクリプト(または after_build
針)。これは、開発モードで画像を生成するためのコンパスのデフォルトの動作であり、変更するためにモンキーのパッチが必要です(今のところ、コンパスベータはこれらのオプションに直接アクセスできます)。
3.0では、次のことを試すことができます。
configure :build do
ignore "source/images/companies/*.png"
end
しかし、コンパスがそれを窒息させないかどうかはわかりません。
他のヒント
使用 ignore
私のためにビルドを大幅に減速させたので、私はスプライト資産を外に置くことを好みました source/
.
このようにして、スプライトは下に生成されます source/sprites/
, build/sprites
ソースはなく除外されます ignore
それをする。
これをセットアップする方法は次のとおりです。
# 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;