summaryrefslogtreecommitdiff
path: root/docs/modules/syntax-highlighting/examples/autolink-urls-in-comments.rb
blob: b965859d9a754461319c6447c638748c04f1379f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class ExtendedRougeSyntaxHighlighter < (Asciidoctor::SyntaxHighlighter.for 'rouge')
  register_for 'rouge'

  def create_formatter node, source, lang, opts
    formatter = super
    formatter.singleton_class.prepend (Module.new do
      def safe_span tok, safe_val
        if tok.token_chain[0].matches? ::Rouge::Token::Tokens::Comment
          safe_val = safe_val.gsub(/https?:\/\/\S+/, '<a href="\&">\&</a>')
        end
        super
      end
    end)
    formatter
  end
end