Sha256: 6cbf7b38052aa8f0bb548b08abb26bac1ba475fbe9f568a94c0d233130db32d5

Contents?: true

Size: 897 Bytes

Versions: 12

Compression:

Stored size: 897 Bytes

Contents

# encoding: UTF-8

module Jekyll
  module Drops
    class SiteDrop < Drop
      extend Forwardable

      mutable false

      def_delegator  :@obj, :site_data, :data
      def_delegators :@obj, :time, :pages, :static_files, :documents,
                            :tags, :categories

      def [](key)
        if @obj.collections.key?(key) && key != "posts"
          @obj.collections[key].docs
        else
          super(key)
        end
      end

      def posts
        @site_posts ||= @obj.posts.docs.sort { |a, b| b <=> a }
      end

      def html_pages
        @site_html_pages ||= @obj.pages.select do |page|
          page.html? || page.url.end_with?("/")
        end
      end

      def collections
        @site_collections ||= @obj.collections.values.sort_by(&:label).map(&:to_liquid)
      end

      private
      def_delegator :@obj, :config, :fallback_data
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
jekyll-3.4.5 lib/jekyll/drops/site_drop.rb
jekyll-3.4.4 lib/jekyll/drops/site_drop.rb
jekyll-3.4.3 lib/jekyll/drops/site_drop.rb
jekyll-3.4.2 lib/jekyll/drops/site_drop.rb
jekyll-3.4.1 lib/jekyll/drops/site_drop.rb
jekyll-3.4.0 lib/jekyll/drops/site_drop.rb
jekyll-3.3.1 lib/jekyll/drops/site_drop.rb
jekyll-3.3.0 lib/jekyll/drops/site_drop.rb
jekyll-3.3.0.pre.rc1 lib/jekyll/drops/site_drop.rb
jekyll-3.2.1 lib/jekyll/drops/site_drop.rb
jekyll-3.2.0 lib/jekyll/drops/site_drop.rb
jekyll-3.2.0.pre.beta2 lib/jekyll/drops/site_drop.rb