手間を省いて拡張Liquid
できます:
例えば
# https://gist.github.com/dnozay/026862f5d65dcb8b4353
module Jekyll
module Toolbox
def keys(hash)
hash.keys
end
def to_ul(collection)
result = ''
collection.each do |item|
result << "<li>#{item}</li>"
end
result
end
end
end
Liquid::Template.register_filter(Jekyll::Toolbox)
使用法:
{{ myhash | keys | to_ul }}
例:
# https://gist.github.com/dnozay/026862f5d65dcb8b4353
@context = { 'myhash' => { 'b' => 'B', 'a' => 'A', 'c' => 'C' } }
@template = Liquid::Template.parse("{{ myhash | keys | to_ul }}")
@template.render(@context) # => "<li>b</li><li>a</li><li>c</li>"
@template = Liquid::Template.parse("{{ myhash | keys | sort | to_ul }}")
@template.render(@context) # => "<li>a</li><li>b</li><li>c</li>"
運が良ければ、github でfor.rb
ファイルを探し、構文を拡張してfor
ハッシュをより適切に処理できます:)。