class Jekyll::Make::Sitemap
Constants
- VERSION
Public Class Methods
generate(site, payload, file)
click to toggle source
# File lib/jekyll/make/sitemap.rb, line 8 def generate(site, payload, file) default_config = { 'pages' => true, 'posts' => true, 'environments' => ['production'] } config = site.config.has_key?("jekyll-make-sitemap") ? default_config.merge(site.config["jekyll-make-sitemap"]) : default_config if config["environments"].include?(payload.jekyll.environment) baseurl = site.config["url"] collections = config.has_key?("collections") ? config["collections"] : [] unless config.has_key?("pages") && config["pages"] == false payload.site.pages.each do |page| process(file, page, baseurl) end end unless config.has_key?("posts") && config["posts"] == false payload.site.posts.each do |post| if !config["posts"].eql?(true) config["posts"].each do |cat| if post.data.has_key?("categories") && post.data["categories"].include?(cat) process(file, post, baseurl) end end else process(file, post, baseurl) end end end collections.each do |col| site.collections[col].docs.each do |post| process(file, post, baseurl) end end end end
process(file, doc, baseurl)
click to toggle source
# File lib/jekyll/make/sitemap.rb, line 35 def process(file, doc, baseurl) if !((doc.data.has_key?("tags") && doc.data["tags"].include?("sitemap-exclude")) || !doc.path.end_with?(".md")) file.write "#{baseurl}#{doc.url}\n" end end