class Middleman::Directory
def handle_directory(lookup)
def handle_directory(lookup) lookup = File.join(lookup, '*') results = Dir[lookup].sort do |a, b| simple_a = a.gsub(Middleman::Server.root + "/", '').gsub(Middleman::Server.views + "/", '') simple_b = b.gsub(Middleman::Server.root + "/", '').gsub(Middleman::Server.views + "/", '') a_dir = simple_a.split("/").first b_dir = simple_b.split("/").first if a_dir == Middleman::Server.images_dir -1 elsif b_dir == Middleman::Server.images_dir 1 else 0 end end results.each do |file_source| if File.directory?(file_source) handle_directory(file_source) next end next if file_source.include?('layout') && !file_source.include?('.css') # Skip partials prefixed with an underscore next unless file_source.gsub(Middleman::Server.root, '').split('/').select { |p| p[0,1] == '_' }.empty? file_extension = File.extname(file_source) file_destination = File.join(given_destination, file_source.gsub(source, '.')) file_destination.gsub!('/./', '/') handled_by_tilt = ::Tilt.mappings.has_key?(file_extension.gsub(/^\./, "")) if handled_by_tilt file_destination.gsub!(file_extension, "") end destination = base.tilt_template(file_source, file_destination, config, &@block) end end