Html
:= []
Create an escaped text node. Characters with special meaning in HTML are encoded when the node is rendered.
Insert trusted HTML without escaping it.
Prefer text for all user-controlled or plain-text content. Use
raw only for trusted markup, such as SSG.parse_markdown! output when
the source Markdown is trusted.
Define a non-standard HTML Element
You can use this to add elements that are not already supported. For example, you could bring back the obsolete <blink> element, and add some 90's nostalgia to your web page!
blink : List Attribute, List Node -> Node blink = element "blink"
html = blink [] [ text "This text is blinking!" ]
void_element : Str -> List(Attribute) -> Node
render_document : Node -> Str
Render a complete HTML document, including the <!DOCTYPE html> prefix.
The output has no whitespace inserted between nodes.
render_fragment : Node -> Str
Render an HTML fragment without a doctype prefix.
render_help : Str, Node -> Str
render_children : Str, List(Node) -> Str
render_attr : Str, Attribute -> Str
escape_text : Str -> Str
escape_attribute : Str -> Str
html : ElementBuilder
base : VoidBuilder
head : ElementBuilder
link : VoidBuilder
meta : VoidBuilder
style : ElementBuilder
title : ElementBuilder
body : ElementBuilder
address : ElementBuilder
article : ElementBuilder
aside : ElementBuilder
footer : ElementBuilder
header : ElementBuilder
h1 : ElementBuilder
h2 : ElementBuilder
h3 : ElementBuilder
h4 : ElementBuilder
h5 : ElementBuilder
h6 : ElementBuilder
main : ElementBuilder
nav : ElementBuilder
section : ElementBuilder
blockquote : ElementBuilder
dd : ElementBuilder
div : ElementBuilder
dl : ElementBuilder
dt : ElementBuilder
figcaption : ElementBuilder
figure : ElementBuilder
hr : VoidBuilder
li : ElementBuilder
menu : ElementBuilder
ol : ElementBuilder
p : ElementBuilder
pre : ElementBuilder
ul : ElementBuilder
a : ElementBuilder
abbr : ElementBuilder
b : ElementBuilder
bdi : ElementBuilder
bdo : ElementBuilder
br : VoidBuilder
cite : ElementBuilder
code : ElementBuilder
data : ElementBuilder
dfn : ElementBuilder
em : ElementBuilder
i : ElementBuilder
kbd : ElementBuilder
mark : ElementBuilder
q : ElementBuilder
rp : ElementBuilder
rt : ElementBuilder
ruby : ElementBuilder
s : ElementBuilder
samp : ElementBuilder
small : ElementBuilder
span : ElementBuilder
strong : ElementBuilder
sub : ElementBuilder
sup : ElementBuilder
time : ElementBuilder
u : ElementBuilder
var_ : ElementBuilder
wbr : VoidBuilder
area : VoidBuilder
audio : ElementBuilder
img : VoidBuilder
map : ElementBuilder
track : VoidBuilder
video : ElementBuilder
embed : VoidBuilder
iframe : ElementBuilder
object : ElementBuilder
picture : ElementBuilder
portal : ElementBuilder
source : VoidBuilder
svg : ElementBuilder
math : ElementBuilder
canvas : ElementBuilder
noscript : ElementBuilder
script : ElementBuilder
del : ElementBuilder
ins : ElementBuilder
caption : ElementBuilder
col : VoidBuilder
colgroup : ElementBuilder
table : ElementBuilder
tbody : ElementBuilder
td : ElementBuilder
tfoot : ElementBuilder
th : ElementBuilder
thead : ElementBuilder
tr : ElementBuilder
button : ElementBuilder
datalist : ElementBuilder
fieldset : ElementBuilder
form : ElementBuilder
input : VoidBuilder
label : ElementBuilder
legend : ElementBuilder
meter : ElementBuilder
optgroup : ElementBuilder
option : ElementBuilder
output : ElementBuilder
progress : ElementBuilder
select : ElementBuilder
textarea : ElementBuilder
details : ElementBuilder
dialog : ElementBuilder
summary : ElementBuilder
slot : ElementBuilder
template : ElementBuilder
Node
Html.Node :: # (opaque)
ElementBuilder : List(Attribute), List(Node) -> Node
VoidBuilder : List(Attribute) -> Node