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?
  ::Tilt.mappings.delete('csv')
  require 'active_support/core_ext/string/output_safety'
  # 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
  # AsciiDoc Support
  begin
    require 'middleman-core/renderers/asciidoc'
    app.register Middleman::Renderers::AsciiDoc
  rescue LoadError
  end
  # 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, NameError
        Tilt.mappings.delete(key)
      end
    end
  end
end