Class: EasyHtmlGenerator::Generator::Service::Sitemap

Inherits:
Base
  • Object
show all
Defined in:
lib/easy_html_generator/generator/service/sitemap.rb

Overview

this generator combines files in the dist folder

Instance Attribute Summary

Attributes inherited from Base

#config

Instance Method Summary collapse

Methods inherited from Base

#enabled?, #file_changed?, #generate, #initialize, #log, #log_running, #repetitive?, #store_file_hash, #tasks

Constructor Details

This class inherits a constructor from EasyHtmlGenerator::Generator::Base

Instance Method Details

#blacklisted?(file, config) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
32
# File 'lib/easy_html_generator/generator/service/sitemap.rb', line 29

def blacklisted?(file, config)
  return false if config.blacklist.nil?
  config.blacklist.any? { |entry| file.include?(entry) }
end

#generate!(config) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/easy_html_generator/generator/service/sitemap.rb', line 10

def generate!(config)
  files = Dir[config.selector]

  files.map! do |file|
    file.sub(@project.dist_path, '').sub(@project.name, '')
  end
  generate_sitemap(files, config)
end

#generate_sitemap(files, config) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/easy_html_generator/generator/service/sitemap.rb', line 19

def generate_sitemap(files, config)
  map = XmlSitemap::Map.new(config.domain) do |m|
    files.each do |file|
      next if blacklisted?(file, config)
      m.add file, updated: Date.today, period: :daily
    end
  end
  map.render_to(config.target)
end