module Middleman::Sitemap

def registered(app)

Once registered
def registered(app)
  app.register Middleman::Sitemap::Extensions::RequestEndpoints
  app.register Middleman::Sitemap::Extensions::Proxies
  app.register Middleman::Sitemap::Extensions::Ignores
  app.register Middleman::Sitemap::Extensions::Redirects
  # Set to automatically convert some characters into a directory
  app.config.define_setting :automatic_directory_matcher, nil, 'Set to automatically convert some characters into a directory'
  # Setup callbacks which can exclude paths from the sitemap
  app.config.define_setting :ignored_sitemap_matchers, {
    # dotfiles and folders in the root
    :root_dotfiles => proc { |file| file.start_with?('.') },
    # Files starting with an dot, but not .htaccess
    :source_dotfiles => proc { |file|
      file =~ %r{/\.} && file !~ %r{/\.ht(access|passwd)}
    },
    # Files starting with an underscore, but not a double-underscore
    :partials => proc { |file| file =~ %r{/_[^_]} },
    :layout => proc { |file, app|
      file.start_with?(File.join(app.config[:source], 'layout.')) || file.start_with?(File.join(app.config[:source], 'layouts/'))
    }
  }, 'Callbacks that can exclude paths from the sitemap'
  # Include instance methods
  app.send :include, InstanceMethods
  # Initialize Sitemap
  app.before_configuration do
    sitemap
  end
end