keep cache busting in a single file
This commit is contained in:
parent
71551613c9
commit
33195c84a9
|
@ -34,7 +34,7 @@ module Middleman
|
||||||
end
|
end
|
||||||
|
|
||||||
@@afters = []
|
@@afters = []
|
||||||
def self.after(&block)
|
def self.after_feature_init(&block)
|
||||||
@@afters << block
|
@@afters << block
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,22 @@
|
||||||
|
class Middleman::Base
|
||||||
|
include Middleman::Sass
|
||||||
|
|
||||||
|
after_feature_init do
|
||||||
|
::Compass.configuration do |config|
|
||||||
|
config.asset_cache_buster do |path, real_path|
|
||||||
|
# real_path = real_path.gsub(self.build_dir, self.public)
|
||||||
|
if File.readable?(real_path)
|
||||||
|
File.mtime(real_path).strftime("%s")
|
||||||
|
else
|
||||||
|
$stderr.puts "WARNING: '#{File.basename(path)}' was not found (or cannot be read) in #{File.dirname(real_path)}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
::Compass.configure_sass_plugin!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
class << Middleman::Base
|
class << Middleman::Base
|
||||||
alias_method :pre_cache_buster_asset_url, :asset_url
|
alias_method :pre_cache_buster_asset_url, :asset_url
|
||||||
def asset_url(path, prefix="", request=nil)
|
def asset_url(path, prefix="", request=nil)
|
||||||
|
|
|
@ -68,39 +68,24 @@ end
|
||||||
class Middleman::Base
|
class Middleman::Base
|
||||||
include Middleman::Sass
|
include Middleman::Sass
|
||||||
|
|
||||||
after do
|
after_feature_init do
|
||||||
::Compass.configuration do |config|
|
::Compass.configuration do |config|
|
||||||
config.project_path = self.root
|
config.project_path = self.root
|
||||||
config.sass_dir = File.join(File.basename(self.views), self.css_dir)
|
config.sass_dir = File.join(File.basename(self.views), self.css_dir)
|
||||||
config.output_style = :nested
|
config.output_style = :nested
|
||||||
config.css_dir = File.join(File.basename(self.public), self.css_dir)
|
config.css_dir = File.join(File.basename(self.public), self.css_dir)
|
||||||
config.images_dir = File.join(File.basename(self.public), self.images_dir)
|
config.images_dir = File.join(File.basename(self.public), self.images_dir)
|
||||||
|
|
||||||
config.add_import_path(config.sass_dir)
|
|
||||||
|
|
||||||
config.http_images_path = self.http_images_path rescue File.join(self.http_prefix, self.images_dir)
|
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)
|
config.http_stylesheets_path = self.http_css_path rescue File.join(self.http_prefix, self.css_dir)
|
||||||
|
config.asset_cache_buster { false }
|
||||||
|
|
||||||
if self.cache_buster?
|
config.add_import_path(config.sass_dir)
|
||||||
config.asset_cache_buster do |path, real_path|
|
|
||||||
# real_path = real_path.gsub(self.build_dir, self.public)
|
|
||||||
if File.readable?(real_path)
|
|
||||||
File.mtime(real_path).strftime("%s")
|
|
||||||
else
|
|
||||||
$stderr.puts "WARNING: '#{File.basename(path)}' was not found (or cannot be read) in #{File.dirname(real_path)}"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
else
|
|
||||||
config.asset_cache_buster do
|
|
||||||
false
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
configure :build do
|
configure :build do
|
||||||
::Compass.configuration do |config|
|
::Compass.configuration do |config|
|
||||||
config.css_dir = File.join(File.basename(self.build_dir), self.css_dir)
|
config.css_dir = File.join(File.basename(self.build_dir), self.css_dir)
|
||||||
config.images_dir = File.join(File.basename(self.build_dir), self.images_dir)
|
config.images_dir = File.join(File.basename(self.build_dir), self.images_dir)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue