class Middleman::Builder
def self.file(name, *args, &block)
def self.file(name, *args, &block) if (args[0] === args[1]) args[1] = args[0].gsub("#{File.basename(Middleman::Base.views)}/", "") .gsub("#{File.basename(Middleman::Base.public)}/", "") end super(name, *args, &block) end
def self.init!
def self.init! glob! File.basename(Middleman::Base.public), [] glob! File.basename(Middleman::Base.views), Middleman::Base.supported_formats end
def self.source_root; Dir.pwd; end
def self.source_root; Dir.pwd; end
def self.template(name, *args, &block)
def self.template(name, *args, &block) return if args[0].include?('layout') args.first.split('/').each do |part| return if part[0,1] == '_' end if (args[0] === args[1]) args[1] = args[0].gsub("#{File.basename(Middleman::Base.views)}/", "") .gsub("#{File.basename(Middleman::Base.public)}/", "") if File.extname(args[1]) != ".js" args[1] = args[1].gsub!(File.extname(args[1]), "") if File.basename(args[1]).split('.').length > 2 end end super(name, *args, &block) end
def after_run
def after_run end
def after_run
def after_run pre_yui_after_run compressor = ::YUI::JavaScriptCompressor.new(:munge => true) Dir[File.join(Middleman::Base.build_dir, Middleman::Base.js_dir, "**", "*.js")].each do |path| lines = IO.readlines(path) if lines.length > 1 compressed_js = compressor.compress(lines.join($/)) File.open(path, 'w') { |f| f.write(compressed_js) } say "<%= color('#{"[COMPRESSED]".rjust(12)}', :yellow) %> " + path.gsub(Middleman::Base.build_dir+"/", '') end end end
def after_run
def after_run pre_smush_after_run smush_dir = File.join(Middleman::Base.build_dir, Middleman::Base.images_dir) # Read cache cache_file = File.join(Middleman::Base.root, ".smush-cache") cache_data = if File.exists?(cache_file) Marshal.restore(File.read(cache_file)) else {} end ::Smusher.class_eval do images_in_folder(smush_dir).each do |file| original_file_size = size(file) return if original_file_size.zero? return if cache_data[file] && cache_data[file] == original_file_size with_logging(file, true) do write_optimized_data(file) cache_data[file] = size(file) # Add or update cache File.open(cache_file, "w") { |f| f.write Marshal.dump(cache_data) } # Write cache say "<%= color('#{"[SMUSHED]".rjust(12)}', :yellow) %> " + file.gsub(Middleman::Base.build_dir+"/", '') end end end end
def destination_root; File.join(Dir.pwd, Middleman::Base.build_dir); end
def destination_root; File.join(Dir.pwd, Middleman::Base.build_dir); end