class Middleman::BaseAction

def handle_path(file_source)

def handle_path(file_source)
  # Skip partials prefixed with an underscore
  return unless file_source.gsub(SHARED_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

def initialize(base, source, destination=nil, config={}, &block)

def initialize(base, source, destination=nil, config={}, &block)
  @source = File.expand_path(base.find_in_source_paths(source.to_s))
  @block  = block
  super(base, destination, { :recursive => true }.merge(config))
end

def invoke!

def invoke!
  execute!
end

def revoke!

def revoke!
  execute!
end