Sha256: 75b74adabc20aa962776169b28e7bd026ef13e6377a528c7bf7bf5a396ce804e

Contents?: true

Size: 961 Bytes

Versions: 4

Compression:

Stored size: 961 Bytes

Contents

require 'builder' # For Tilt

module Alula
  class Generator::Sitemap < Generator
    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
      }
      
      self.site.content.pages << 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",
      })
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
alula-0.4.6 lib/alula/generators/sitemap.rb
alula-0.4.5 lib/alula/generators/sitemap.rb
alula-0.4.4 lib/alula/generators/sitemap.rb
alula-0.4.3 lib/alula/generators/sitemap.rb