class Linkify < Decode::Syntax::Rewriter

Inherits from
Decode::Syntax::Rewriter

Rewrites source code as HTML with links to indexed definitions.

Definitions

def initialize(base, language, text)

Initialize a source code rewriter.

Signature

parameter base Base

The base data.

parameter language Decode::Language::Generic

The source language.

parameter text String

The source text to rewrite.

Implementation

def initialize(base, language, text)
	@base = base
	@language = language
	
	super(text)
end

def text_for(range)

Escape an unmatched range of source text for HTML output.

Signature

parameter range Range

The source text range.

returns String

The escaped text.

Implementation

def text_for(range)
	text = super(range)
	
	return XRB::Strings.to_html(text)
end

def apply(output = XRB::Builder.new)

Apply the source links and wrap the result in a code element.

Signature

parameter output XRB::Builder

The output builder.

returns String

The generated HTML markup.

Implementation

def apply(output = XRB::Builder.new)
	output.inline("code", class: "language-#{@language.name}") do
		super
	end
	
	return output.to_str
end