class Middleman::Builder

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