summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll/inclusion.rb
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll/inclusion.rb')
-rw-r--r--vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll/inclusion.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll/inclusion.rb b/vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll/inclusion.rb
new file mode 100644
index 0000000..179ddb0
--- /dev/null
+++ b/vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll/inclusion.rb
@@ -0,0 +1,32 @@
+# 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