# Add a raw html string
# add_html("<a href='#top'>top</a>")
- fun add_html(html: String) do current.add(new HTMLRaw(html))
+ fun add_html(html: String) do current.add(new HTMLRaw("", html))
# Open a html tag
# open("ul")
# HTML tagname: 'div' for <div></div>
var tag: String
- init(tag: String) do
- self.tag = tag
+ init do
self.is_void = (once ["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]).has(tag)
end
#
# assert (new HTMLTag("img")).is_void == true
# assert (new HTMLTag("p")).is_void == false
- var is_void: Bool
+ var is_void: Bool is noinit
init with_attrs(tag: String, attrs: Map[String, String]) do
self.tag = tag
# assert p.write_to_string == "<p>Hello<br/>World!</p>"
# Text is escaped see: standard::String::html_escape
fun append(txt: String): HTMLTag do
- add(new HTMLRaw(txt.html_escape))
+ add(new HTMLRaw("", txt.html_escape))
return self
end
#
# Note: the HTML in insered as it, no verification is done.
fun add_raw_html(txt: String): HTMLTag do
- add(new HTMLRaw(txt))
+ add(new HTMLRaw("", txt))
return self
end
super HTMLTag
private var content: String
- init(content: String) do self.content = content
redef fun render_in(res) do res.add content
end