Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Updated version of the ultraviolet library for 1.8 and 1.9
branch: master

This branch is 77 commits ahead, 8 commits behind spox:master

Ultraviolet is a html syntax highlighting library.
It uses Textpow to supports more than 60 programming languages.


gem install ultraviolet

Ruby 1.8: Install onigumura



Commandline interface

uv -l syntax # Listing available syntaxes:
uv -l themes # Listing available themes:
uv lib/uv.rb # Letting to guess the parameters
uv -s yaml -t espresso_libre syntax/ini.syntax Specifying a syntax and a theme

# Output results to `index.html` and copy required files (/eg/ css):
uv -c . syntax/ini.syntax > index.html

# Producing output in latex and converting to pdf:
uv -h -o latex lib/uv.rb > uv.tex
pdflatex uv.tex

Ruby interface

# List of available syntaxes
puts Uv.syntaxes.join( ", " )

# Listing available themes
puts Uv.themes.join( ", " )

# Parsing a css string. Produce xhtml output, with line numbers using amy theme
result = Uv.parse( text, "xhtml", "css", true, "amy")

# Output copy required files for `xhtml` format to directory `site`
Uv.copy_files "xhtml", "site"



Maintainer info

Updating demo

cd _pages
bundle exec ruby generate.rb
bundle exec rackup

open http://localhost:9292

Updating theme files

Currently only XHTML is "officially" supported by ultraviolet, nevertheless, experimental latex output support already exists and other output formats can be included in the future. This is important because theme conversion is format dependent. For xhmtl, the command is theme2xhtmlrender as shown in the following example.

theme2xhtmlrender Amy.tmTheme

For latex, the command theme2latexrender is used instead.

theme2latexrender Amy.tmTheme


Original author Dizan Vasquez.


Michael Grosser
License: MIT
Build Status

Something went wrong with that request. Please try again.