Module: Tidy

Defined in:
lib/tidy.rb

Overview

Ruby interface to HTML Tidy Library Project (tidy.sf.net).

Usage

require 'tidy'
Tidy.path = '/usr/lib/tidylib.so'
html = '<html><title>title</title>Body</html>'
xml = Tidy.open(:show_warnings=>true) do |tidy|
  tidy.options.output_xml = true
  puts tidy.options.show_warnings
  xml = tidy.clean(html)
  puts tidy.errors
  puts tidy.diagnostics
  xml
end
puts xml
Author

Kevin Howe

License

Distributes under the same terms as Ruby

Class Method Summary collapse

Class Method Details

.fresh_tidy_versionObject



54
55
56
# File 'lib/tidy.rb', line 54

def fresh_tidy_version
  !!@fresh_tidy_version
end

.fresh_tidy_version=(bool) ⇒ Object



50
51
52
# File 'lib/tidy.rb', line 50

def fresh_tidy_version=(bool)
  @fresh_tidy_version = bool
end

.new(options = nil) ⇒ Object

Return a Tidyobj instance.



35
36
37
# File 'lib/tidy.rb', line 35

def new(options=nil)
  Tidyobj.new(options)
end

.open(options = nil) ⇒ Object

With no block, open is a synonym for Tidy.new. If a block is present, it is passed aTidy as a parameter. aTidyObj.release is ensured at end of the block.



62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/tidy.rb', line 62

def open(options=nil)
  raise "Tidy.path was not specified." unless @path
  tidy = Tidy.new(options)
  if block_given?
    begin
      yield tidy
    ensure
      tidy.release
    end
  else
    tidy
  end
end

.pathObject

Path to Tidylib.



41
# File 'lib/tidy.rb', line 41

def path() @path end

.path=(path) ⇒ Object

Set the path to Tidylib (automatically loads the library).



45
46
47
48
# File 'lib/tidy.rb', line 45

def path=(path)
  Tidylib.load(path)
  @path = path
end

.to_b(value) ⇒ Object

Convert to boolean. 0, false and nil return false, anything else true.



79
80
81
# File 'lib/tidy.rb', line 79

def to_b(value)
  [0,false,nil].include?(value) ? false : true
end