module Middleman::CoreExtensions::Rendering

def registered(app)

Once registered
def registered(app)
  # Include methods
  app.send :include, InstanceMethods
  app.define_hook :before_render
  app.define_hook :after_render
  ::Tilt.mappings.delete('html') # WTF, Tilt?
  # Activate custom renderers
  require "middleman-core/renderers/erb"
  app.register Middleman::Renderers::ERb
  # CoffeeScript Support
  begin
    require "middleman-core/renderers/coffee_script"
    app.register Middleman::Renderers::CoffeeScript
  rescue LoadError
  end
  # Haml Support
  begin
    require "middleman-core/renderers/haml"
    app.register Middleman::Renderers::Haml
  rescue LoadError
  end
  # Sass Support
  begin
    require "middleman-core/renderers/sass"
    app.register Middleman::Renderers::Sass
  rescue LoadError
  end
  # Markdown Support
  require "middleman-core/renderers/markdown"
  app.register Middleman::Renderers::Markdown
  # Liquid Support
  begin
    require "middleman-core/renderers/liquid"
    app.register Middleman::Renderers::Liquid
  rescue LoadError
  end
  # Slim Support
  begin
    require "middleman-core/renderers/slim"
    app.register Middleman::Renderers::Slim
  rescue LoadError
  end
  # Less Support
  begin
    require "middleman-core/renderers/less"
    app.register Middleman::Renderers::Less
  rescue LoadError
  end
  # Stylus Support
  begin
    require "middleman-core/renderers/stylus"
    app.register Middleman::Renderers::Stylus
  rescue LoadError
  end
  # Clean up missing Tilt exts
  app.after_configuration do
    Tilt.mappings.each do |key, klasses|
      begin
        Tilt[".#{key}"]
      rescue LoadError
        Tilt.mappings.delete(key)
      rescue NameError
        Tilt.mappings.delete(key)
      end
    end
  end
end