class Middleman::CompassExtension

Public Class Methods

new(app, options_hash={}, &block) click to toggle source
Calls superclass method
# File lib/middleman-compass/extension.rb, line 38
def initialize(app, options_hash={}, &block)
  require 'compass'
  @compass_config_callbacks = []

  super
end

Public Instance Methods

after_configuration() click to toggle source
# File lib/middleman-compass/extension.rb, line 55
def after_configuration
  ::Compass.configuration do |compass|
    compass.project_path    = app.config[:source]
    compass.environment     = :development
    compass.cache           = false
    compass.sass_dir        = app.config[:css_dir]
    compass.css_dir         = app.config[:css_dir]
    compass.javascripts_dir = app.config[:js_dir]
    compass.fonts_dir       = app.config[:fonts_dir]
    compass.images_dir      = app.config[:images_dir]
    compass.http_path       = app.config[:http_prefix]

    # Disable this initially, the cache_buster extension will
    # re-enable it if requested.
    compass.asset_cache_buster { |_| nil }

    # Disable this initially, the relative_assets extension will

    compass.relative_assets = false

    # Default output style
    compass.output_style = :nested
  end

  # Call hook
  execute_compass_config_callbacks(::Compass.configuration)

  ::Sass.load_paths.concat(::Compass.configuration.sass_load_paths)
  
  # Tell Tilt to use it as well (for inline sass blocks)
  ::Tilt.register 'sass', CompassSassTemplate
  ::Tilt.prefer(CompassSassTemplate)

  # Tell Tilt to use it as well (for inline scss blocks)
  ::Tilt.register 'scss', CompassScssTemplate
  ::Tilt.prefer(CompassScssTemplate)

  ::Compass::ImportOnce.activate!
end
compass_config(&block) click to toggle source
# File lib/middleman-compass/extension.rb, line 45
def compass_config(&block)
  @compass_config_callbacks << block
end
execute_compass_config_callbacks(config) click to toggle source
# File lib/middleman-compass/extension.rb, line 49
def execute_compass_config_callbacks(config)
  @compass_config_callbacks.each do |b|
    instance_exec(config, &b)
  end
end