Cache computed item property (#7301)

Merge pull request 7301
This commit is contained in:
Ashwin Maroli 2019-03-15 22:22:30 +05:30 committed by jekyllbot
parent d4b5760002
commit 3b4151b773
1 changed files with 11 additions and 7 deletions

View File

@ -324,6 +324,9 @@ module Jekyll
end
def item_property(item, property)
@item_property_cache ||= {}
@item_property_cache[property] ||= {}
@item_property_cache[property][item] ||= begin
if item.respond_to?(:to_liquid)
property.to_s.split(".").reduce(item.to_liquid) do |subvalue, attribute|
parse_sort_input(subvalue[attribute])
@ -334,6 +337,7 @@ module Jekyll
parse_sort_input(item[property.to_s])
end
end
end
# return numeric values as numbers for proper sorting
def parse_sort_input(property)