Sha256: e2596b73fb225987220396ea60c0eefa8462d68f7ee0e619b05e092f47765e24

Contents?: true

Size: 1.15 KB

Versions: 5

Compression:

Stored size: 1.15 KB

Contents

xml.instruct!

xml.urlset "xmlns" => "http://www.sitemaps.org/schemas/sitemap/0.9" do
  @locales.each do |locale|
    ::I18n.locale = locale

    ::Refinery::Page.live.in_menu.each do |page|
      
      # exclude sites that are external to our own domain.
      if page.url.is_a?(Hash)
        
        # This is how most pages work without being overriden by link_url
        page_url = page.url.merge({:only_path => false, locale: locale})
      
      elsif page.url.to_s !~ /^http/
        
        # handle relative link_url addresses.
        raw_url = [request.protocol, request.host_with_port, page.url].join
        
        if (@locales.size > 1) && !page.url.start_with?("/#{locale}/") && defined?(RoutingFilter::RefineryLocales)
          filter = RoutingFilter::RefineryLocales.new
          filter.around_generate({}) do
            raw_url
          end
        else
          raw_url
        end

        page_url = raw_url
      end

      # Add XML entry only if there is a valid page_url found above.
      xml.url do
        xml.loc refinery.url_for(page_url)
        xml.lastmod page.updated_at.to_date
      end if page_url.present?
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
refinerycms-core-4.0.3 app/views/refinery/sitemap/index.xml.builder
refinerycms-core-4.0.2 app/views/refinery/sitemap/index.xml.builder
refinerycms-core-4.0.1 app/views/refinery/sitemap/index.xml.builder
refinerycms-core-3.0.6 app/views/refinery/sitemap/index.xml.builder
refinerycms-core-4.0.0 app/views/refinery/sitemap/index.xml.builder