diff --git a/lib/middleman/base.rb b/lib/middleman/base.rb
index 198b80bb..9f7114dd 100644
--- a/lib/middleman/base.rb
+++ b/lib/middleman/base.rb
@@ -93,6 +93,8 @@ class Middleman::Base
use Middleman::Rack::Sprockets
enable :compass
+ require "middleman/features/compass"
+ @@features -= [:compass]
# Features disabled by default
disable :slickmap
@@ -125,6 +127,11 @@ class Middleman::Base
require "middleman/features/#{feature_name}"
end
+ ::Compass.configuration do |config|
+ config.http_images_path = self.http_images_path rescue File.join(self.http_prefix, self.images_dir)
+ config.http_stylesheets_path = self.http_css_path rescue File.join(self.http_prefix, self.css_dir)
+ end
+
super
end
end
\ No newline at end of file
diff --git a/lib/middleman/features/cache_buster.rb b/lib/middleman/features/cache_buster.rb
index 323931cc..ae9e1732 100644
--- a/lib/middleman/features/cache_buster.rb
+++ b/lib/middleman/features/cache_buster.rb
@@ -5,8 +5,13 @@ class << Middleman::Base
if http_path.include?("://") || !%w(.css .png .jpg .js .gif).include?(File.extname(http_path))
http_path
else
+ begin
+ prefix = self.images_dir if prefix == self.http_images_path
+ rescue
+ end
+
real_path = File.join(self.environment == "build" ? self.build_dir : self.public, prefix, path)
- http_path << "?" + File.mtime(real_path).strftime("%s") if File.readable?(real_path)
+ http_path << "?" + File.mtime(real_path).strftime("%s") if File.readable?(real_path)
http_path
end
end
diff --git a/lib/middleman/features/compass.rb b/lib/middleman/features/compass.rb
index 966cd78a..8f5501c4 100644
--- a/lib/middleman/features/compass.rb
+++ b/lib/middleman/features/compass.rb
@@ -5,19 +5,11 @@ class Middleman::Base
config.project_path = Dir.pwd
config.sass_dir = File.join(File.basename(self.views), self.css_dir)
- config.output_style = self.minify_css? ? :compressed : :nested
+ config.output_style = :nested
config.css_dir = File.join(File.basename(images_location), self.css_dir)
config.images_dir = File.join(File.basename(images_location), self.images_dir)
# File.expand_path(self.images_dir, self.public)
- if !cache_buster?
- config.asset_cache_buster do
- false
- end
- end
-
- config.http_images_path = File.join(self.http_prefix, self.images_dir)
- config.http_stylesheets_path = File.join(self.http_prefix, self.css_dir)
config.add_import_path(config.sass_dir)
end
diff --git a/lib/middleman/features/minify_css.rb b/lib/middleman/features/minify_css.rb
index 0d9bd774..d89bfb85 100644
--- a/lib/middleman/features/minify_css.rb
+++ b/lib/middleman/features/minify_css.rb
@@ -1,2 +1,9 @@
# Otherwise use YUI
-# Fine a way to minify inline/css
\ No newline at end of file
+# Fine a way to minify inline/css
+class Middleman::Base
+ configure do
+ ::Compass.configuration do |config|
+ config.output_style = :compressed
+ end
+ end
+end
\ No newline at end of file
diff --git a/lib/middleman/features/relative_assets.rb b/lib/middleman/features/relative_assets.rb
index 23d7148f..97959c99 100644
--- a/lib/middleman/features/relative_assets.rb
+++ b/lib/middleman/features/relative_assets.rb
@@ -5,6 +5,11 @@ end
class << Middleman::Base
alias_method :pre_relative_asset_url, :asset_url
def asset_url(path, prefix="", request=nil)
+ begin
+ prefix = self.images_dir if prefix == self.http_images_path
+ rescue
+ end
+
path = pre_relative_asset_url(path, prefix, request)
if path.include?("://")
path
diff --git a/lib/middleman/helpers.rb b/lib/middleman/helpers.rb
index c52d04b7..9071ce2c 100644
--- a/lib/middleman/helpers.rb
+++ b/lib/middleman/helpers.rb
@@ -33,7 +33,8 @@ module Middleman
def image_tag(path, params={})
params[:alt] ||= ""
- params = params.merge(:src => asset_url(path, options.images_dir))
+ prefix = options.http_images_path rescue options.images_dir
+ params = params.merge(:src => asset_url(path, prefix))
params = params.map { |k,v| %Q{#{k}="#{v}"}}.join(' ')
""
end
diff --git a/spec/builder_spec.rb b/spec/builder_spec.rb
index 32bd959b..66d3b1ee 100644
--- a/spec/builder_spec.rb
+++ b/spec/builder_spec.rb
@@ -23,7 +23,7 @@ describe "Builder" do
File.read("#{@root_dir}/build/index.html").should include("