Ultraviolet is a html syntax highlighting library.
It uses Textpow to supports more than 60 programming languages.
INSTALL
gem install ultraviolet
Ruby 1.8: Install onigumura
Usage
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"
Examples
TODO
- less crazy Uv.parse interface -> options hash
- replace them gallery example with some nice example code
- try using atom cson (https://github.com/atom/language-ruby/blob/master/grammars/ruby.cson)
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
Authors
Original author Dizan Vasquez.
Michael Grosser
michael@grosser.it
License: MIT