Sha256: 138be25a3bc422e9234f01dda2e728d4ae18fe091d558d3f4b7395f2b9546c37

Contents?: true

Size: 702 Bytes

Versions: 11

Compression:

Stored size: 702 Bytes

Contents

# frozen_string_literal: true

module Jekyll
  class Inclusion
    attr_reader :site, :name, :path
    private :site

    def initialize(site, base, name)
      @site = site
      @name = name
      @path = PathManager.join(base, name)
    end

    def render(context)
      @template ||= site.liquid_renderer.file(path).parse(content)
      @template.render!(context)
    rescue Liquid::Error => e
      e.template_name  = path
      e.markup_context = "included " if e.markup_context.nil?
      raise e
    end

    def content
      @content ||= File.read(path, **site.file_read_opts)
    end

    def inspect
      "#{self.class} #{path.inspect}"
    end
    alias_method :to_s, :inspect
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
jekyll-4.4.1 lib/jekyll/inclusion.rb
jekyll-4.4.0 lib/jekyll/inclusion.rb
jekyll-4.3.4 lib/jekyll/inclusion.rb
jekyll-4.3.3 lib/jekyll/inclusion.rb
jekyll-4.3.2 lib/jekyll/inclusion.rb
jekyll-4.3.1 lib/jekyll/inclusion.rb
jekyll-4.3.0 lib/jekyll/inclusion.rb
jekyll-4.2.2 lib/jekyll/inclusion.rb
jekyll-4.2.0 lib/jekyll/inclusion.rb
jekyll-4.1.1 lib/jekyll/inclusion.rb
jekyll-4.1.0 lib/jekyll/inclusion.rb