lib/jekyll-sitemap.rb in jekyll-sitemap-0.10.0 vs lib/jekyll-sitemap.rb in jekyll-sitemap-0.11.0

- old
+ new

@@ -1,74 +1,3 @@ -require 'fileutils' - -module Jekyll - class PageWithoutAFile < Page - def read_yaml(*) - @data ||= {} - end - end - - class JekyllSitemap < Jekyll::Generator - safe true - priority :lowest - - # Main plugin action, called by Jekyll-core - def generate(site) - @site = site - @site.config["time"] = Time.new - @site.config["html_files"] = html_files.map(&:to_liquid) - unless sitemap_exists? - write - @site.keep_files ||= [] - @site.keep_files << "sitemap.xml" - end - end - - HTML_EXTENSIONS = %W( - .html - .xhtml - .htm - ) - - # Array of all non-jekyll site files with an HTML extension - def html_files - @site.static_files.select { |file| HTML_EXTENSIONS.include? file.extname } - end - - # Path to sitemap.xml template file - def source_path - File.expand_path "sitemap.xml", File.dirname(__FILE__) - end - - # Destination for sitemap.xml file within the site source directory - def destination_path - if @site.respond_to?(:in_dest_dir) - @site.in_dest_dir("sitemap.xml") - else - Jekyll.sanitized_path(@site.dest, "sitemap.xml") - end - end - - # copy sitemap template from source to destination - def write - FileUtils.mkdir_p File.dirname(destination_path) - File.open(destination_path, 'w') { |f| f.write(sitemap_content) } - end - - def sitemap_content - site_map = PageWithoutAFile.new(@site, File.dirname(__FILE__), "", "sitemap.xml") - site_map.content = File.read(source_path) - site_map.data["layout"] = nil - site_map.render({}, @site.site_payload) - site_map.output.gsub(/\s{2,}/, "\n") - end - - # Checks if a sitemap already exists in the site source - def sitemap_exists? - if @site.respond_to?(:in_source_dir) - File.exists? @site.in_source_dir("sitemap.xml") - else - File.exists? Jekyll.sanitized_path(@site.source, "sitemap.xml") - end - end - end -end +require 'jekyll/sitemap_filters' +require 'jekyll/page_without_a_file' +require 'jekyll/jekyll-sitemap'