Class: Jekyll::CodeBlock

Inherits:
Liquid::Block
  • Object
show all
Includes:
Liquid::StandardFilters, PrismHelpers
Defined in:
lib/jekyll_prism.rb

Overview

Block object for Prism hilighting

Instance Method Summary collapse

Methods included from PrismHelpers

#add_highlights, #add_lang, #add_line_numbers, #add_line_start, #add_source, #code_attrs, #parse_args, #pre_attrs

Constructor Details

#initialize(a, args, b) ⇒ CodeBlock

Returns a new instance of CodeBlock.



68
69
70
71
# File 'lib/jekyll_prism.rb', line 68

def initialize(a, args, b)
  super
  @options = parse_args args.split
end

Instance Method Details

#render(_) ⇒ Object



73
74
75
76
77
78
79
80
81
82
# File 'lib/jekyll_prism.rb', line 73

def render(_)
  code = h(super).strip
  @options[:linecount] = code.lines.count

  <<-OUTPUT
<pre#{pre_attrs @options}><code#{code_attrs @options}>
#{code}
</code></pre>
  OUTPUT
end