Sha256: 457ea539beecdd60cb96002754c6d1d1aef04913016d44235cda737e49a67397
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
module MiniSyntax module Highlighter module HTML def self.highlight(code) code = "#{code}" code.gsub! %r((<script( [a-z\-]+(=("|'|\w).*?\4)?)*>)(.*?)(</script>))m do %Q(#{$1}#{MiniSyntax.highlight($5, :javascript)}#{$6}) end code.gsub! %r(<([a-z\-]+[1-6]?)(( [a-z\-]+(=("|").*?("|"))?)*)( /)?>)m do tag = $1 xml_close_tag = $7 attributes = $2.gsub %r( ([a-z\-]+)(=("|")(.*?)("|"))?)m do if %(onload onclick onmouseover onmousemove onmouseout onfocus onblur onkeyup onkeydown onkeypress).include?($1) %Q( <b>#{$1}</b>=#{$3}#{MiniSyntax.highlight($4, :javascript)}#{$3}) else %Q( <b>#{$1}</b>#{$2}) end end if $2 %Q(<b><<em>#{tag}</em></b>#{attributes}<b>#{xml_close_tag}></b>) end code.gsub! %r(</([a-z\-]+[1-6]?)>) do tag = $1 %Q(<b></<em>#{tag}</em>></b>) end code end end end end MiniSyntax.register(:html, MiniSyntax::Highlighter::HTML)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
minisyntax-0.2.5 | lib/minisyntax/highlighter/html.rb |