5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/rails_site_engine/sitemap_xml.rb', line 5
def self.build(base_url:, paths:)
base_url = base_url.to_s.sub(%r{/\z}, "")
paths = Array(paths).map(&:to_s).reject(&:empty?)
urls = paths.map do |path|
loc = path == "/" ? "#{base_url}/" : "#{base_url}#{path}"
<<~XML
<url>
<loc>#{ERB::Util.html_escape(loc)}</loc>
</url>
XML
end.join
<<~XML
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
#{urls}
</urlset>
XML
end
|