module Middleman::CoreExtensions::Rendering

Public Class Methods

included(app)
Alias for: registered
registered(app) click to toggle source

Once registered

# File lib/middleman-core/core_extensions/rendering.rb, line 18
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
Also aliased as: included