# File lib/webby/helpers/ultraviolet_helper.rb, line 49
  def uv( *args, &block )
    opts = args.last.instance_of?(Hash) ? args.pop : {}

    text = capture_erb(&block)
    return if text.empty?
    
    defaults = ::Webby.site.uv
    lang = opts.getopt(:lang, defaults.lang)
    line_numbers = opts.getopt(:line_numbers, defaults.line_numbers)
    theme = opts.getopt(:theme, defaults.theme)
    
    out = %Q{<div class="UltraViolet">\n}
    out << Uv.parse(text, "xhtml", lang, line_numbers, theme)
    out << %Q{\n</div>}

    # put some guards around the output (specifically for textile)
    out = _guard(out)

    concat_erb(out, block.binding)
    return
  end