Commit df71f893
Changed files (3)
app
controllers
views
sitemap
config
app/controllers/sitemap_controller.rb
@@ -0,0 +1,13 @@
+class SitemapController < ApplicationController
+ layout nil
+
+ def index
+ @creations = Creation.all
+ @base_url = "http://#{request.host_with_port}"
+ headers['Content-Type'] = 'application/xml'
+ respond_to do |format|
+ format.html
+ format.xml
+ end
+ end
+end
app/views/sitemap/index.xml.erb
@@ -0,0 +1,12 @@
+<?xml version="1.0" ?>
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
+ xmlns:image="http://www.sitemaps.org/schemas/sitemap-image/1.1"
+ xmlns:video="http://www.sitemaps.org/schemas/sitemap-video/1.1">
+<% @creations.each do |creation| %>
+ <url>
+ <loc><%= "#{@base_url}#{url_for(creation)}" %></loc>
+ <lastmod><%= creation.updated_at %></lastmod>
+ <priority>0.5</priority>
+ </url>
+<% end %>
+</urlset>
config/routes.rb
@@ -35,4 +35,9 @@ Cake::Application.routes.draw do
# /users
devise_for :users, :controllers => {:registrations => 'registrations'}
devise_for :user, :path => '', :path_names => { :sign_in => "login", :sign_out => "logout", :sign_up => "register" }
+
+ # sitemap
+ match "/sitemap.xml", :to => "sitemap#index", :defaults => {:format => :xml}
+
end
+