Top Level Namespace

Defined Under Namespace

Modules: Jekyll Classes: Albino, ClosedStruct, Hash

Instance Method Summary collapse

Instance Method Details

#open4Object

Wrapper for the Pygments command line tool, pygmentize.

Pygments: pygments.org/

Assumes pygmentize is in the path. If not, set its location with Albino.bin = ‘/path/to/pygmentize’

Use like so:

@syntaxer = Albino.new('/some/file.rb', :ruby)
puts @syntaxer.colorize

This’ll print out an HTMLized, Ruby-highlighted version of ‘/some/file.rb’.

To use another formatter, pass it as the third argument:

@syntaxer = Albino.new('/some/file.rb', :ruby, :bbcode)
puts @syntaxer.colorize

You can also use the #colorize class method:

puts Albino.colorize('/some/file.rb', :ruby)

Another also: you get a #to_s, for somewhat nicer use in Rails views.

... helper file ...
def highlight(text)
  Albino.new(text, :ruby)
end

... view file ...
<%= highlight text %>

The default lexer is ‘text’. You need to specify a lexer yourself; because we are using STDIN there is no auto-detect.

To see all lexers and formatters available, run ‘pygmentize -L`.

Chris Wanstrath // [email protected]

GitHub // http://github.com


44
# File 'lib/jekyll/albino.rb', line 44

require 'open4'