Fetch collection names agnostically regarding the data structure of config['collections']
This commit is contained in:
parent
330005d932
commit
fd98d5b1e6
|
@ -91,10 +91,23 @@ module Jekyll
|
||||||
#
|
#
|
||||||
# Returns a Hash containing collection name-to-instance pairs.
|
# Returns a Hash containing collection name-to-instance pairs.
|
||||||
def collections
|
def collections
|
||||||
@collections ||= if config['collections']
|
@collections ||= Hash[collection_names.map { |coll| [coll, Jekyll::Collection.new(self, coll)] } ]
|
||||||
Hash[config['collections'].map { |coll| [coll, Jekyll::Collection.new(self, coll)] } ]
|
end
|
||||||
|
|
||||||
|
# The list of collection names.
|
||||||
|
#
|
||||||
|
# Returns an array of collection names from the configuration,
|
||||||
|
# or an empty array if the `collections` key is not set.
|
||||||
|
def collection_names
|
||||||
|
case config['collections']
|
||||||
|
when Hash
|
||||||
|
config['collections'].keys
|
||||||
|
when Array
|
||||||
|
config['collections']
|
||||||
|
when nil
|
||||||
|
[]
|
||||||
else
|
else
|
||||||
Hash.new
|
raise ArgumentError, "Your `collections` key must be a hash or an array."
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue