petermac-
1/11/2012 - 3:28 PM

Compass config.rb

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