Sha256: cbe02286d76c23499ec4340ff7a14440e47645a7180bb1529e4c7ee29390ae4f
Contents?: true
Size: 1.29 KB
Versions: 11
Compression:
Stored size: 1.29 KB
Contents
require 'builder' # For Tilt module Alula class Sitemap < Generator def allow_compressing? return :normal end def generate urls_callback = ->(context) { (context.site.content.posts + context.site.content.pages) .reject {|content| content.generator == self } .reject {|content| content.metadata.sitemap == false } .collect { |content| content.languages.collect{|lang| { url: content.url(lang), lastmod: content.last_modified, priority: content.generator.nil? ? 0.5 : 0.3, } } }.flatten } @sitemap_page = Alula::Content::Page.new({ generator: self, urls: urls_callback, title: "Sitemap", name: "sitemap.xml", slug: "sitemap", sidebar: false, template: self.options.template || "/:locale/:name", site: self.site, layout: "sitemap", }) self.site.content.pages << @sitemap_page # Add link to head Alula::Plugin.addon(:head, ->(context) { "<link rel=\"sitemap\" type=\"application/xml\" title=\"Sitemap\" href=\"#{context.url_for(@sitemap_page.url(context.locale))}\">" }) end end end Alula::Generator.register :sitemap, Alula::Sitemap
Version data entries
11 entries across 11 versions & 1 rubygems