lang HTML HEADER := $HTML"" convert(t:Text->HTML) t = t.translate({ "&"="&", "<"="<", ">"=">", '"'=""", "'"="'", }) return HTML.from_text(t) convert(i:Int->HTML) return HTML.from_text("$i") func paragraph(content:HTML->HTML) return $HTML"

$content

" struct Bold(text:Text) convert(b:Bold -> HTML) return $HTML"$(b.text)" func main() assert HTML.HEADER == $HTML"" assert HTML.HEADER[1] == $HTML"<" assert HTML.HEADER.text == "" >> user := "I <3 hax" html := $HTML"Hello $user!" assert html == $HTML"Hello I <3 hax!" assert html ++ $HTML"
" == $HTML"Hello I <3 hax!
" assert $HTML"$(1 + 2)" == $HTML"3" assert $HTML"$(Int8(3))" == $HTML"3" assert html.paragraph() == $HTML"

Hello I <3 hax!

" assert Text(html) == '\$HTML"Hello I <3 hax!"' >> b := Bold("Some with junk") assert $HTML"Your text: $b" == $HTML"Your text: Some <text> with junk"