class CodeRay::Encoders::HTML

HTML Encoder

This is CodeRay’s most important highlighter: It provides save, fast XHTML generation and CSS support.

Usage

require 'coderay'
puts CodeRay.scan('Some /code/', :ruby).html  #-> a HTML page
puts CodeRay.scan('Some /code/', :ruby).html(:wrap => :span)
#-> <span class="CodeRay"><span class="co">Some</span> /code/</span>
puts CodeRay.scan('Some /code/', :ruby).span  #-> the same

puts CodeRay.scan('Some code', :ruby).html(
  :wrap => nil,
  :line_numbers => :inline,
  :css => :style
)

Options

:tab_width

Convert t characters to n spaces (a number or false.) false will keep tab characters untouched.

Default: 8

:css

How to include the styles; can be :class or :style.

Default: :class

:wrap

Wrap in :page, :div, :span or nil.

You can also use Encoders::Div and Encoders::Span.

Default: nil

:title

The title of the HTML page (works only when :wrap is set to :page.)

Default: ‘CodeRay output’

:break_lines

Split multiline blocks at line breaks. Forced to true if :line_numbers option is set to :inline.

Default: false

:line_numbers

Include line numbers in :table, :inline, or nil (no line numbers)

Default: nil

:line_number_anchors

Adds anchors and links to the line numbers. Can be false (off), true (on), or a prefix string that will be prepended to the anchor name.

The prefix must consist only of letters, digits, and underscores.

Default: true, default prefix name: “line”

:line_number_start

Where to start with line number counting.

Default: 1

:bold_every

Make every n-th number appear bold.

Default: 10

:highlight_lines

Highlights certain line numbers. Can be any Enumerable, typically just an Array or Range, of numbers.

Bolding is deactivated when :highlight_lines is set. It only makes sense in combination with :line_numbers.

Default: nil

:hint

Include some information into the output using the title attribute. Can be :info (show token kind on mouse-over), :info_long (with full path) or :debug (via inspect).

Default: false