class Markdown2Html::LinkFilter
Public Class Methods
new(source, repository)
click to toggle source
# File lib/markdown2html/link_filter.rb, line 3 def initialize(source, repository) @source = source @repository = repository end
Public Instance Methods
call()
click to toggle source
# File lib/markdown2html/link_filter.rb, line 8 def call @result = @source.gsub(/\[\[.*\]\]/) do |page_name| page_name.gsub!(/[\[\]]/, '') link = page_name_to_path(page_name) "<a href=\"#{link}\">#{page_name}</a>" end if @repository @result.gsub!(/"(https:\/\/github.com\/#{@repository}\/wiki\/)(.*)"/) do |explicit_link| url, path = $1, $2 next explicit_link if path =~ /^_pages/ explicit_link.gsub!(url, '') explicit_link.gsub!(path, page_name_to_path(path)) end end @result end
page_name_to_path(page_name)
click to toggle source
# File lib/markdown2html/link_filter.rb, line 29 def page_name_to_path(page_name) "#{page_name.downcase.gsub(/\s/,'-').gsub(':', '%3A')}.html" end