Class: LinkRewriterFilter

Inherits:
HTML::Pipeline::MarkdownFilter
  • Object
show all
Defined in:
lib/link-rewriter-filter.rb

Constant Summary collapse

VERSION =
'0.0.1'
/(.+?)\.md$/

Instance Method Summary collapse

Constructor Details

#initialize(text, context = nil, result = nil) ⇒ LinkRewriterFilter

Returns a new instance of LinkRewriterFilter.



7
8
9
10
11
# File 'lib/link-rewriter-filter.rb', line 7

def initialize(text, context = nil, result = nil)
  @prefix = context[:link_rewriter_prefix] || '/docs/'

  super text, context, result
end

Instance Method Details

#callObject



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/link-rewriter-filter.rb', line 13

def call
  html = super
  doc = Nokogiri::HTML(html)

  doc.search("a").each do |a|
    next if a['href'].nil?
    a["href"] = "#{@prefix}#{$1}/" if a['href'] =~ LINK_REGEX
  end

  doc.to_s
end