manually handle recursion in mm-build, support symlinks. closes #20
This commit is contained in:
parent
350d36b018
commit
74266e7440
|
@ -78,25 +78,27 @@ module Middleman
|
||||||
end
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
def handle_directory(lookup)
|
||||||
def execute!
|
|
||||||
lookup = config[:recursive] ? File.join(source, '**') : source
|
|
||||||
lookup = File.join(lookup, '{*,.[a-z]*}')
|
lookup = File.join(lookup, '{*,.[a-z]*}')
|
||||||
|
|
||||||
Dir[lookup].sort.each do |file_source|
|
Dir[lookup].sort.each do |file_source|
|
||||||
next if File.directory?(file_source)
|
if File.directory?(file_source)
|
||||||
|
handle_directory(file_source)
|
||||||
|
next
|
||||||
|
end
|
||||||
|
|
||||||
next if file_source.include?('layout')
|
next if file_source.include?('layout')
|
||||||
next unless file_source.split('/').select { |p| p[0,1] == '_' }.empty?
|
next unless file_source.split('/').select { |p| p[0,1] == '_' }.empty?
|
||||||
|
|
||||||
file_extension = File.extname(file_source)
|
file_extension = File.extname(file_source)
|
||||||
file_destination = File.join(given_destination, file_source.gsub(source, '.'))
|
file_destination = File.join(given_destination, file_source.gsub(source, '.'))
|
||||||
file_destination.gsub!('/./', '/')
|
file_destination.gsub!('/./', '/')
|
||||||
|
|
||||||
handled_by_tilt = ::Tilt.mappings.keys.include?(file_extension.gsub(/^\./, ""))
|
handled_by_tilt = ::Tilt.mappings.keys.include?(file_extension.gsub(/^\./, ""))
|
||||||
if handled_by_tilt || (file_extension == ".js")
|
if handled_by_tilt || (file_extension == ".js")
|
||||||
new_file_extension = ""
|
new_file_extension = ""
|
||||||
next if file_source.split('/').last.split('.').length < 3
|
next if file_source.split('/').last.split('.').length < 3
|
||||||
|
|
||||||
file_destination.gsub!(file_extension, new_file_extension)
|
file_destination.gsub!(file_extension, new_file_extension)
|
||||||
destination = base.tilt_template(file_source, file_destination, config, &@block)
|
destination = base.tilt_template(file_source, file_destination, config, &@block)
|
||||||
else
|
else
|
||||||
|
@ -104,5 +106,9 @@ module Middleman
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def execute!
|
||||||
|
handle_directory(source)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
Loading…
Reference in a new issue