def initialize(root = ".")
@trail = Hike::Trail.new(root)
self.logger = Logger.new($stderr)
self.logger.level = Logger::FATAL
@context_class = Class.new(Context)
require 'digest/md5'
@digest_class = ::Digest::MD5
@version = ''
@mime_types = {}
@engines = Sprockets.engines
@preprocessors = Hash.new { |h, k| h[k] = [] }
@postprocessors = Hash.new { |h, k| h[k] = [] }
@bundle_processors = Hash.new { |h, k| h[k] = [] }
@engines.each do |ext, klass|
add_engine_to_trail(ext, klass)
end
register_mime_type 'text/css', '.css'
register_mime_type 'application/javascript', '.js'
register_preprocessor 'text/css', DirectiveProcessor
register_preprocessor 'application/javascript', DirectiveProcessor
register_postprocessor 'application/javascript', SafetyColons
register_bundle_processor 'text/css', CharsetNormalizer
expire_index!
yield self if block_given?
end