Class: Jekyll::CodeBlock
- Inherits:
-
Liquid::Block
- Object
- Liquid::Block
- Jekyll::CodeBlock
- Includes:
- Liquid::StandardFilters
- Defined in:
- lib/jekyll_prism.rb
Overview
Block object for Prism hilighting
Instance Method Summary collapse
-
#initialize(a, args, b) ⇒ CodeBlock
constructor
A new instance of CodeBlock.
- #render(_) ⇒ Object
Constructor Details
#initialize(a, args, b) ⇒ CodeBlock
Returns a new instance of CodeBlock.
11 12 13 14 15 16 |
# File 'lib/jekyll_prism.rb', line 11 def initialize(a, args, b) super = args.split @lang, @linenos = .shift 2 true end |
Instance Method Details
#render(_) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/jekyll_prism.rb', line 18 def render(_) code = h(super).strip linenos = @linenos == 'all' ? "1-#{code.lines.count}" : @linenos linestring = linenos.nil? ? '' : %Q( data-line="#{linenos}") langstring = @lang.nil? ? '' : %Q( class="language-#{@lang}") <<-OUTPUT <pre#{linestring}><code#{langstring}> #{code} </code></pre> OUTPUT end |