class Pirka::Highlighter::Middleware::LineNum
Public Class Methods
new(highlighter, params = {})
click to toggle source
# File lib/pirka/highlighter.rb, line 54 def initialize(highlighter, params = {}) @highlighter = highlighter @selector = params["selector"] raise _("selector param not specified") unless @selector end
Public Instance Methods
markup(element, lang)
click to toggle source
# File lib/pirka/highlighter.rb, line 60 def markup(element, lang) nums = element.search(@selector) nums.each(&:unlink) @highlighter.markup element, lang return if nums.empty? element.inner_html = element.inner_html.lines.collect.with_index {|line, index| num = nums[index].to_xml if line.length > 1 line[0..0] << num << line[1..-1] else num << line end }.join end