28 lines
609 B
Ruby
28 lines
609 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Jekyll
|
|
module Filters
|
|
module CreateHash
|
|
# @param input [Array<String>,String] Comma-separated list of keys
|
|
# @param args [Array] Values
|
|
# @return [Hash]
|
|
def create_hash(keys, *args)
|
|
case keys
|
|
when Array
|
|
keys = keys.map(&:to_s)
|
|
when String
|
|
keys = keys.split(',').map(&:strip)
|
|
else
|
|
return {}
|
|
end
|
|
|
|
keys.each_with_index.to_h do |key, i|
|
|
[ key, args[i] ]
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
Liquid::Template.register_filter(Jekyll::Filters::CreateHash)
|