diff --git a/lib/jekyll/drops/collection_drop.rb b/lib/jekyll/drops/collection_drop.rb index 8dc8c6b8..b8a1bdd7 100644 --- a/lib/jekyll/drops/collection_drop.rb +++ b/lib/jekyll/drops/collection_drop.rb @@ -10,7 +10,7 @@ module Jekyll :relative_directory def to_s - @obj.docs.map(&:to_s).join(' ') + docs.to_s end def output diff --git a/lib/jekyll/drops/document_drop.rb b/lib/jekyll/drops/document_drop.rb index c4170d86..0da6986b 100644 --- a/lib/jekyll/drops/document_drop.rb +++ b/lib/jekyll/drops/document_drop.rb @@ -9,10 +9,6 @@ module Jekyll alias_method :path, :relative_path - def url - @obj.url - end - def collection @obj.collection.label end @@ -30,9 +26,7 @@ module Jekyll end private - def fallback_data - @obj.data - end + def_delegator :@obj, :data, :fallback_data end end diff --git a/lib/jekyll/drops/site_drop.rb b/lib/jekyll/drops/site_drop.rb index 82c55230..4c632a0d 100644 --- a/lib/jekyll/drops/site_drop.rb +++ b/lib/jekyll/drops/site_drop.rb @@ -6,10 +6,11 @@ module Jekyll extend Forwardable def_delegator :@obj, :site_data, :data - def_delegators :@obj, :time, :pages, :static_files, :documents + def_delegators :@obj, :time, :pages, :static_files, :documents, + :tags, :categories def [](key) - if !respond_to?(key) && @obj.collections.key?(key) + if @obj.collections.key?(key) && key != "posts" @obj.collections[key].docs else super(key) @@ -24,14 +25,6 @@ module Jekyll @site_html_pages ||= @obj.pages.select { |page| page.html? || page.url.end_with?("/") } end - def categories - @site_categories ||= @obj.post_attr_hash('categories') - end - - def tags - @site_tags ||= @obj.post_attr_hash('tags') - end - def collections @site_collections ||= @obj.collections.values.map(&:to_liquid) end diff --git a/lib/jekyll/drops/unified_payload_drop.rb b/lib/jekyll/drops/unified_payload_drop.rb index 65733b20..6db48f66 100644 --- a/lib/jekyll/drops/unified_payload_drop.rb +++ b/lib/jekyll/drops/unified_payload_drop.rb @@ -2,7 +2,7 @@ module Jekyll module Drops - class UnifiedPayloadDrop < Liquid::Drop + class UnifiedPayloadDrop < ImmutableDrop attr_accessor :page, :layout, :content, :paginator attr_accessor :highlighter_prefix, :highlighter_suffix @@ -19,6 +19,11 @@ module Jekyll @site_drop ||= SiteDrop.new(@site) end + private + def fallback_data + @fallback_data ||= {} + end + end end end