#
# $Id: htmlutils.rb 2227 2006-05-13 00:09:08Z aamine $
#
# Copyright (c) 2002-2006 Minero Aoki
#
# This program is free software.
# You can distribute or modify this program under the terms of
# the GNU LGPL, Lesser General Public License version 2.1.
#
module ReVIEW
module HTMLUtils
ESC = {
'&' => '&',
'<' => '<',
'>' => '>',
'"' => '"'
}
def escape_html(str)
t = ESC
str.gsub(/[&"<>]/) {|c| t[c] }
end
def unescape_html(str)
# FIXME better code
str.gsub('"', '"').gsub('>', '>').gsub('<', '<').gsub('&', '&')
end
def strip_html(str)
str.gsub(/<\/?[^>]*>/, "")
end
def highlight(ops)
body = ops[:body] || ''
lexer = ops[:lexer] || ''
format = ops[:format] || ''
return body if ReVIEW.book.param["pygments"].nil?
begin
require 'pygments'
begin
Pygments.highlight(
unescape_html(body),
:options => {
:nowrap => true,
:noclasses => true
},
:formatter => format,
:lexer => lexer)
rescue MentosError
body
end
rescue LoadError
body
end
end
end
end # module ReVIEW