Skip to content

Commit

Permalink
Add sitemap support
Browse files Browse the repository at this point in the history
  • Loading branch information
unixcharles committed Jun 14, 2011
1 parent 5b3925d commit edabf9f
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions app/views/sitemap/index.xml.builder
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
xml.instruct!

xml.urlset "xmlns" => "http://www.sitemaps.org/schemas/sitemap/0.9" do

@locales.each do |locale|
::I18n.locale = locale
Page.live.in_menu.includes(:parts).each do |page|
page_url = if page.routes.where(:locale => locale).any?
page_path = page.routes.where(:locale => locale).first.url
[request.protocol, request.host_with_port, "/#{page_path}"].join
# exclude sites that are external to our own domain.
elsif page.url.is_a?(Hash)
# This is how most pages work without being overriden by link_url
page.url.merge({:only_path => false})
elsif page.url.to_s !~ /^http/
# handle relative link_url addresses.
[request.protocol, request.host_with_port, page.url].join
end

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

end

0 comments on commit edabf9f

Please sign in to comment.