class Jekyll::IncludeSnippet::LiquidTag
Constants
- DEFAULT_COMMENT_PREFIX
Public Class Methods
new(tag_name, arg_str, tokens)
click to toggle source
Calls superclass method
# File lib/jekyll/include_snippet/liquid_tag.rb, line 6 def initialize(tag_name, arg_str, tokens) super @snippet_name, @source_path = arg_str.split(/\sfrom\s/).map(&:strip) end
Public Instance Methods
render(context)
click to toggle source
# File lib/jekyll/include_snippet/liquid_tag.rb, line 11 def render(context) source_path = source_path_for(context) source = File.read(source_path) extractor = Extractor.new(comment_prefix: comment_prefix_for(context)) snippets = extractor.(source) snippets.fetch(@snippet_name) do fail "Snippet not found: #{@snippet_name.inspect}\n in file: #{@source_path}" end end
Private Instance Methods
comment_prefix_for(context)
click to toggle source
# File lib/jekyll/include_snippet/liquid_tag.rb, line 33 def comment_prefix_for(context) get_option(:snippet_comment_prefix, context) || DEFAULT_COMMENT_PREFIX end
get_option(option_name, context)
click to toggle source
# File lib/jekyll/include_snippet/liquid_tag.rb, line 37 def get_option(option_name, context) page = context['page'] page && page[option_name.to_s] end
source_path_for(context)
click to toggle source
# File lib/jekyll/include_snippet/liquid_tag.rb, line 23 def source_path_for(context) result = get_option(:snippet_source, context) || @source_path if result.nil? fail "No source path provided for snippet: #{@snippet_name}" end result end