Sha256: 1b477fd8b754cb610f39719eeec34babf156c07da6f02c31dbcbac2ce8ed6cb0
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
# frozen_string_literal: true 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 private def_delegator :@obj, :config, :fallback_data def [](key) if key != "posts" && @obj.collections.key?(key) @obj.collections[key].docs else super(key) end end def key?(key) (key != "posts" && @obj.collections.key?(key)) || super 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 # `{{ site.related_posts }}` is how posts can get posts related to # them, either through LSI if it's enabled, or through the most # recent posts. # We should remove this in 4.0 and switch to `{{ post.related_posts }}`. def related_posts return nil unless @current_document.is_a?(Jekyll::Document) @current_document.related_posts end attr_writer :current_document # return nil for `{{ site.config }}` even if --config was passed via CLI def config; end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ngage-0.0.0 | lib/ngage/jekyll/drops/site_drop.rb |