class Jekyll::Site

def initialize(config)

config - A Hash containing site configuration details.

Public: Initialize a new Site.
def initialize(config)
  # Source and destination may not be changed after the site has been created.
  @source          = File.expand_path(config["source"]).freeze
  @dest            = File.expand_path(config["destination"]).freeze
  self.config = config
  @cache_dir       = in_source_dir(config["cache_dir"])
  @filter_cache    = {}
  @reader          = Reader.new(self)
  @profiler        = Profiler.new(self)
  @regenerator     = Regenerator.new(self)
  @liquid_renderer = LiquidRenderer.new(self)
  Jekyll.sites << self
  reset
  setup
  Jekyll::Hooks.trigger :site, :after_init, self
end