Sha256: e0233b121a493b317f93ca4386503988f5410e1e91707ee5196e4b9b90fd7c8d

Contents?: true

Size: 1.13 KB

Versions: 9

Compression:

Stored size: 1.13 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? ? 1.0 : !content.metadata.priority.nil? ? content.metadata.priority : 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
    end
  end
end

Alula::Generator.register :sitemap, Alula::Sitemap

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
alula-0.4.27 lib/alula/generators/sitemap.rb
alula-0.4.26 lib/alula/generators/sitemap.rb
alula-0.4.25 lib/alula/generators/sitemap.rb
alula-0.4.24 lib/alula/generators/sitemap.rb
alula-0.4.23 lib/alula/generators/sitemap.rb
alula-0.4.22 lib/alula/generators/sitemap.rb
alula-0.4.21 lib/alula/generators/sitemap.rb
alula-0.4.20 lib/alula/generators/sitemap.rb
alula-0.4.19 lib/alula/generators/sitemap.rb