Class: Jekyll::CollectionPages::CollectionPages

Inherits:
Generator
  • Object
show all
Defined in:
lib/jekyll/collection_pages.rb

Instance Method Summary collapse

Instance Method Details

#generate(site) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/jekyll/collection_pages.rb', line 17

def generate(site)
  return unless site.config['collection_pages']

  config = site.config['collection_pages']

  if config.is_a?(Hash)
    Jekyll.logger.debug('CollectionPages:', 'Processing single collection config')
    generate_for_config(site, config)
  elsif config.is_a?(Array)
    Jekyll.logger.debug('CollectionPages:', 'Processing multiple collection config')
    config.each do |collection_config|
      generate_for_config(site, collection_config)
    end
  else
    Jekyll.logger.error('CollectionPages:', 'Invalid configuration.')
  end
  Jekyll.logger.debug('CollectionPages:', "Generation complete. Total pages: #{site.pages.size}")
end

#generate_for_config(site, config) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/jekyll/collection_pages.rb', line 36

def generate_for_config(site, config)
  collection_config = CollectionConfig.new(config)
  Jekyll.logger.debug('CollectionPages:',
                      "Generating pages for collection: #{collection_config.collection_name}::#{collection_config.tag_field}")
  collection_pager = CollectionPager.new(site, collection_config)
  collection_pager.create_pages
end