Module: Uv
- Defined in:
- lib/uv.rb,
lib/uv/html_processor.rb
Defined Under Namespace
Classes: HtmlProcessor
Class Method Summary collapse
- .debug(text, syntax_name) ⇒ Object
- .init_syntaxes ⇒ Object
- .parse(text, output = "xhtml", syntax_name = nil, line_numbers = false, render_style = "classic") ⇒ Object
- .path ⇒ Object
- .syntax_for_file(file_name) ⇒ Object
- .syntaxes ⇒ Object
- .themes ⇒ Object
Class Method Details
.debug(text, syntax_name) ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/uv.rb', line 72 def Uv.debug text, syntax_name unless @syntaxes @syntaxes = {} Dir.glob( File.join(File.dirname(__FILE__), '..', 'syntax', '*.syntax') ).each do |f| @syntaxes[File.basename(f, '.syntax')] = Textpow::SyntaxNode.load( f ) end end processor = Textpow::DebugProcessor.new @syntaxes[syntax_name].parse( text, processor ) end |
.init_syntaxes ⇒ Object
12 13 14 15 16 17 |
# File 'lib/uv.rb', line 12 def Uv.init_syntaxes @syntaxes = {} Dir.glob( File.join(File.dirname(__FILE__), '..', 'syntax', '*.syntax') ).each do |f| @syntaxes[File.basename(f, '.syntax')] = Textpow::SyntaxNode.load( f ) end end |
.parse(text, output = "xhtml", syntax_name = nil, line_numbers = false, render_style = "classic") ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/uv.rb', line 58 def Uv.parse text, output = "xhtml", syntax_name = nil, line_numbers = false, render_style = "classic" init_syntaxes unless @syntaxes renderer = File.join( File.dirname(__FILE__), '..',"render", output,"#{render_style}.render") css_class = render_style = YAML.load( File.open( renderer ) ) if output == "xhtml" render_processor = HtmlProcessor.new( , line_numbers ) @syntaxes[syntax_name].parse( text, render_processor ) "<pre class =\"#{css_class}\">#{render_processor.string}</pre>" else raise( ArgumentError, "Output for #{output} is not yet implemented" ) end end |
.path ⇒ Object
7 8 9 10 |
# File 'lib/uv.rb', line 7 def Uv.path result = [] result << File.join(File.dirname(__FILE__), ".." ) end |
.syntax_for_file(file_name) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/uv.rb', line 31 def Uv.syntax_for_file file_name init_syntaxes unless @syntaxes first_line = "" File.open( file_name, 'r' ) { |f| while (first_line = f.readline).strip.size == 0; end } result = [] @syntaxes.each do |key, value| assigned = false if value.fileTypes value.fileTypes.each do |t| if t == File.basename( file_name ) || t == File.extname( file_name )[1..-1] result << [key, value] assigned = true break end end end unless assigned if value.firstLineMatch && value.firstLineMatch =~ first_line result << [key, value] end end end result end |
.syntaxes ⇒ Object
19 20 21 22 23 |
# File 'lib/uv.rb', line 19 def Uv.syntaxes Dir.glob( File.join(File.dirname(__FILE__), '..', 'syntax', '*.syntax') ).collect do |f| File.basename(f, '.syntax') end end |
.themes ⇒ Object
25 26 27 28 29 |
# File 'lib/uv.rb', line 25 def Uv.themes Dir.glob( File.join(File.dirname(__FILE__), '..', 'render', 'xhtml', 'files', 'css', '*.css') ).collect do |f| File.basename(f, '.css') end end |