Class: Hpricot::DocType

Inherits:
Object show all
Defined in:
lib/haml/html.rb

Overview

See Also:

Instance Method Summary collapse

Instance Method Details

#to_haml(tabs, options) ⇒ Object

See Also:

  • Node#to_haml


110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/haml/html.rb', line 110

def to_haml(tabs, options)
  attrs = public_id.scan(/DTD\s+([^\s]+)\s*([^\s]*)\s*([^\s]*)\s*\/\//)[0]
  if attrs == nil
    raise Exception.new("Invalid doctype")
  end

  type, version, strictness = attrs.map { |a| a.downcase }
  if type == "html"
    version = "1.0"
    strictness = "transitional"
  end

  if version == "1.0" || version.empty?
    version = nil
  end

  if strictness == 'transitional' || strictness.empty?
    strictness = nil
  end

  version = " #{version}" if version
  if strictness
    strictness[0] = strictness[0] - 32
    strictness = " #{strictness}"
  end

  "#{tabulate(tabs)}!!!#{version}#{strictness}\n"
end