| Module | HTML5::TreeWalkers::TokenConstructor |
| In: |
lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb
|
# File lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb, line 54
54: def _(str)
55: str
56: end
# File lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb, line 42
42: def comment(data)
43: {:type => :Comment, :data => data}
44: end
# File lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb, line 46
46: def doctype(name, public_id, system_id, correct=nil)
47: {:type => :Doctype, :name => name, :public_id => public_id, :system_id => system_id, :correct => correct}
48: end
# File lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb, line 14
14: def empty_tag(name, attrs, has_children=false)
15: error(_("Void element has children")) if has_children
16: {:type => :EmptyTag, :name => name, :data => normalize_attrs(attrs)}
17: end
# File lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb, line 23
23: def end_tag(name)
24: {:type => :EndTag, :name => name, :data => []}
25: end
# File lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb, line 6 6: def error(msg) 7: {:type => "SerializeError", :data => msg} 8: end
# File lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb, line 10
10: def normalize_attrs(attrs)
11: attrs.to_a
12: end
# File lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb, line 19
19: def start_tag(name, attrs)
20: {:type => :StartTag, :name => name, :data => normalize_attrs(attrs)}
21: end
# File lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb, line 27
27: def text(data)
28: if data =~ /\A([#{SPACE_CHARACTERS.join('')}]+)/m
29: yield({:type => :SpaceCharacters, :data => $1})
30: data = data[$1.length .. -1]
31: return if data.empty?
32: end
33:
34: if data =~ /([#{SPACE_CHARACTERS.join('')}]+)\Z/m
35: yield({:type => :Characters, :data => data[0 ... -$1.length]})
36: yield({:type => :SpaceCharacters, :data => $1})
37: else
38: yield({:type => :Characters, :data => data})
39: end
40: end