20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/jekyll-collection-multiplier.rb', line 20
def generate(site)
return if site.config['collection_multiplier'].nil?
pairs = []
site.config['collection_multiplier'].each do |multiplier|
site.collections.each_pair do |collection_name, collection|
next unless multiplier['type'] == collection_name
renamed = multiplier['dupe']
duped_collection = Jekyll::Collection.new(site, renamed)
duped_collection.docs = collection.docs.dup.map do |doc|
duped_doc = Jekyll::Document.new(doc.path, { :site => site, :collection => duped_collection })
duped_doc.content = doc.content
actual_path = doc.path.sub(collection_name, renamed)
duped_doc.read(:actual_path => actual_path)
duped_doc
end
pairs << { renamed => duped_collection }
end
end
pairs.each do |pair|
site.collections[pair.keys.first] = pair.values.first
end
end
|