Sha256: 28c1b0f6291e39bef4dfdd3bc0ceaa13ec1068d2261998f40ea47bd4ce9d719d

Contents?: true

Size: 1.18 KB

Versions: 5

Compression:

Stored size: 1.18 KB

Contents

class Middleman::Base  
  after_feature_init do 
    ::Compass.configuration do |config|
      config.relative_assets = Proc.new do
        Middleman::Base.respond_to?(:relative_assets?) && Middleman::Base.relative_assets?
      end
    end
    
    ::Compass.configure_sass_plugin!
  end
end

class << Middleman::Base
  alias_method :pre_relative_asset_url, :asset_url
  def asset_url(path, prefix="", request=nil)
    if !self.respond_to?(:relative_assets?) || !self.relative_assets?
      return pre_relative_asset_url(path, prefix, request)
    end
    
    begin
      prefix = self.images_dir if prefix == self.http_images_path
    rescue
    end
    
    if path.include?("://")
      pre_relative_asset_url(path, prefix, request)
    elsif path[0,1] == "/"
      path
    else
      path = File.join(prefix, path) if prefix.length > 0
      request_path = request.path_info.dup
      request_path << self.index_file if path.match(%r{/$})
      request_path.gsub!(%r{^/}, '')
      parts = request_path.split('/')

      if parts.length > 1
        arry = []
        (parts.length - 1).times { arry << ".." }
        arry << path
        File.join(*arry)
      else
        path
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
middleman-0.12.2 lib/middleman/features/relative_assets.rb
middleman-0.12.1 lib/middleman/features/relative_assets.rb
middleman-0.12.0.pre3 lib/middleman/features/relative_assets.rb
middleman-0.12.0.pre2 lib/middleman/features/relative_assets.rb
middleman-0.12.0.pre lib/middleman/features/relative_assets.rb