Drops: fix accessing of site collections via site.COL_NAME

This commit is contained in:
Parker Moore 2015-12-21 23:33:33 -05:00
parent 82c3ee365f
commit ebe3c10604
5 changed files with 16 additions and 7 deletions

View File

@ -13,7 +13,7 @@ module Jekyll
end end
private private
def data def fallback_data
@obj.metadata @obj.metadata
end end

View File

@ -38,10 +38,11 @@ module Jekyll
end end
def excerpt def excerpt
data['excerpt'].to_s fallback_data['excerpt'].to_s
end end
def data private
def fallback_data
@obj.data @obj.data
end end

View File

@ -12,7 +12,7 @@ module Jekyll
if respond_to? key if respond_to? key
public_send key public_send key
else else
data[key] fallback_data[key]
end end
end end
@ -20,7 +20,7 @@ module Jekyll
if respond_to? key if respond_to? key
raise ArgumentError.new("Key #{key} cannot be set in the drop.") raise ArgumentError.new("Key #{key} cannot be set in the drop.")
else else
data[key] = val fallback_data[key] = val
end end
end end

View File

@ -15,7 +15,7 @@ module Jekyll
elsif respond_to? key elsif respond_to? key
public_send key public_send key
else else
data[key] fallback_data[key]
end end
end end

View File

@ -8,6 +8,14 @@ module Jekyll
def_delegator :@obj, :site_data, :data def_delegator :@obj, :site_data, :data
def_delegators :@obj, :time, :pages, :static_files, :documents def_delegators :@obj, :time, :pages, :static_files, :documents
def [](key)
if !respond_to?(key) && @obj.collections.key?(key)
@obj.collections[key].docs
else
super(key)
end
end
def posts def posts
@site_posts ||= @obj.posts.docs.sort { |a, b| b <=> a } @site_posts ||= @obj.posts.docs.sort { |a, b| b <=> a }
end end
@ -29,7 +37,7 @@ module Jekyll
end end
private private
def data def fallback_data
@obj.config @obj.config
end end