class Middleman::Builder

def self.file(name, *args, &block)

def self.file(name, *args, &block)
  file_ext = File.extname(args[0])
  
  return unless ::Tilt[file_ext].nil?
  
  if (args[0] === args[1])
    args[1] = args[0].gsub("#{File.basename(Middleman::Server.views)}/", "").gsub("#{File.basename(Middleman::Server.public)}/", "")
  end
  super(name, *args, &block)
end

def self.init!

def self.init!
  glob! File.basename(Middleman::Server.public),  @@template_extensions
  glob! File.basename(Middleman::Server.views),   @@template_extensions
end

def self.source_root; Dir.pwd; end

Define source and desintation
def self.source_root; Dir.pwd; end

def self.template(name, *args, &block)

Override template to ask middleman for the correct extension to output
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::Server.views)}/", "").gsub("#{File.basename(Middleman::Server.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 destination_root; File.join(Dir.pwd, Middleman::Server.build_dir); end

def destination_root; File.join(Dir.pwd, Middleman::Server.build_dir); end