Compass config.rb
# Note that while this file is in our config folder, it is
# symlinked to our site folders, so paths are relative from there
# Require gems and Compass plugins
# require 'rgbapng'
# require 'compass-fancybox-plugin'
require 'compass-growl'
# General
output_style = :expanded
relative_assets = true
project_path = File.dirname(__FILE__) + '/'
env_file = project_path + 'environment.rb'
add_import_path project_path + '../all/public/assets/styles/src/'
lib_dir = project_path + '../../system/lib/'
# Sass Paths
http_path = '/'
http_javascripts_path = http_path + 'assets/scripts/'
http_stylesheets_path = http_path + 'assets/styles/'
http_images_path = http_stylesheets_path + 'images/'
http_fonts_path = http_stylesheets_path + 'fonts/'
# Sass Directories
javascripts_dir = 'public/assets/scripts/'
css_dir = 'public/assets/styles/'
sass_dir = css_dir + 'src/'
images_dir = css_dir + 'images/'
fonts_dir = css_dir + 'fonts/'
# Quantize 8-bit sprites
on_sprite_saved do |file|
unless is_32bit?(file)
quantize(file, lib_dir + 'pngquant/pngquant-mac')
end
optimize(file, 'ImageOptim')
end
# Enable Debugging (Line Comments, FireSass)
# Invoke from command line: compass watch -e development --force
if environment == :development
line_comments = true
sass_options = { :debug_info => true }
end
# Optionally load environmental overrides
if File.exists?(env_file)
require env_file
end
# Methods
def is_32bit?(file)
File.basename(file).match(/^png(24|32)/)
end
def quantize(file, binary)
png8_file = file.sub(/\.png/, '-fs8.png')
system binary + ' ' + file
sleep 2
system 'mv -f ' + png8_file + ' ' + file
growl('Sprite: ' + File.basename(file) + ' quantized')
end
def optimize(file, image_app)
system 'open -a ' + image_app + '.app ' + file
growl('Sprite: ' + File.basename(file) + ' optimized')
end
def growl(msg)
GNTP.notify({
:title => "Compass",
:text => msg,
:icon => "file://#{CompassGrowl::ICON}"
})
end