SagaSaga
ProseHtml

ProseHtml

Types

HtmlNode

type HtmlNode =
  | Doctype
  | Text String
  | UnsafeHtml String
  | Element String (List HtmlAttr) (List HtmlNode)
  | VoidElement String (List HtmlAttr)
  | Fragment (List HtmlNode)

A composable HTML tree.

HtmlAttr

type HtmlAttr =
  | Attr String String
  | BoolAttr String

An HTML attribute. Boolean attributes render without a value.

Functions

text

fun text : String -> HtmlNode

Escapes text and renders it as an HTML text node.

unsafe_html

fun unsafe_html : String -> HtmlNode

Renders an already-safe HTML string without escaping.

fragment

fun fragment : List HtmlNode -> HtmlNode

Groups several nodes without adding a wrapper element.

element

fun element : String -> List HtmlAttr -> List HtmlNode -> HtmlNode

Creates a normal element with attributes and children.

void_element

fun void_element : String -> List HtmlAttr -> HtmlNode

Creates a void element with attributes and no children.

attr

fun attr : String -> String -> HtmlAttr

Creates a string-valued attribute.

bool_attr

fun bool_attr : String -> HtmlAttr

Creates a boolean attribute.

int_attr

fun int_attr : String -> Int -> HtmlAttr

Creates an integer-valued attribute.

bool_value_attr

fun bool_value_attr : String -> Bool -> HtmlAttr

Creates an attribute whose value is either "true" or "false".

doctype

fun doctype : HtmlNode

Renders the HTML5 doctype.

document

fun document : List HtmlAttr -> List HtmlNode -> HtmlNode

Creates a complete HTML document with an HTML5 doctype.

render

fun render : HtmlNode -> String

Renders HTML to a string.

id

fun id : String -> HtmlAttr

class

fun class : String -> HtmlAttr

class_names

fun class_names : List String -> HtmlAttr

Joins non-blank class names into a class attribute.

classes

fun classes : List String -> HtmlAttr

Alias for class_names.

class_if

fun class_if : Bool -> String -> String

Returns a class name when the condition is true, or an empty string otherwise.

accesskey

fun accesskey : String -> HtmlAttr

autocapitalize

fun autocapitalize : String -> HtmlAttr

autocorrect

fun autocorrect : String -> HtmlAttr

contenteditable

fun contenteditable : Bool -> HtmlAttr

dir

fun dir : String -> HtmlAttr

draggable

fun draggable : Bool -> HtmlAttr

enterkeyhint

fun enterkeyhint : String -> HtmlAttr

headingoffset

fun headingoffset : Int -> HtmlAttr

inputmode

fun inputmode : String -> HtmlAttr

is

fun is : String -> HtmlAttr

itemid

fun itemid : String -> HtmlAttr

itemprop

fun itemprop : String -> HtmlAttr

itemref

fun itemref : String -> HtmlAttr

itemtype

fun itemtype : String -> HtmlAttr

lang

fun lang : String -> HtmlAttr

nonce

fun nonce : String -> HtmlAttr

part

fun part : String -> HtmlAttr

popover

fun popover : String -> HtmlAttr

slot

fun slot : String -> HtmlAttr

spellcheck

fun spellcheck : Bool -> HtmlAttr

tabindex

fun tabindex : Int -> HtmlAttr

translate

fun translate : String -> HtmlAttr

xml_lang

fun xml_lang : String -> HtmlAttr

on

fun on : String -> String -> HtmlAttr

href

fun href : String -> HtmlAttr

hreflang

fun hreflang : String -> HtmlAttr

src

fun src : String -> HtmlAttr

srcset

fun srcset : String -> HtmlAttr

sizes

fun sizes : String -> HtmlAttr

imagesrcset

fun imagesrcset : String -> HtmlAttr

imagesizes

fun imagesizes : String -> HtmlAttr

alt

fun alt : String -> HtmlAttr

coords

fun coords : String -> HtmlAttr

shape

fun shape : String -> HtmlAttr

title

fun title : String -> HtmlAttr

rel

fun rel : String -> HtmlAttr

media

fun media : String -> HtmlAttr

ping

fun ping : String -> HtmlAttr

referrerpolicy

fun referrerpolicy : String -> HtmlAttr

name

fun name : String -> HtmlAttr

value

fun value : String -> HtmlAttr

accept

fun accept : String -> HtmlAttr

accept_charset

fun accept_charset : String -> HtmlAttr

alpha

fun alpha : String -> HtmlAttr

autocomplete

fun autocomplete : String -> HtmlAttr

capture

fun capture : String -> HtmlAttr

colorspace

fun colorspace : String -> HtmlAttr

dirname

fun dirname : String -> HtmlAttr

form_id

fun form_id : String -> HtmlAttr

formaction

fun formaction : String -> HtmlAttr

formenctype

fun formenctype : String -> HtmlAttr

formmethod

fun formmethod : String -> HtmlAttr

formtarget

fun formtarget : String -> HtmlAttr

command

fun command : String -> HtmlAttr

commandfor

fun commandfor : String -> HtmlAttr

list_id

fun list_id : String -> HtmlAttr

popovertarget

fun popovertarget : String -> HtmlAttr

popovertargetaction

fun popovertargetaction : String -> HtmlAttr

max

fun max : String -> HtmlAttr

maxlength

fun maxlength : Int -> HtmlAttr

min

fun min : String -> HtmlAttr

minlength

fun minlength : Int -> HtmlAttr

low

fun low : String -> HtmlAttr

high

fun high : String -> HtmlAttr

optimum

fun optimum : String -> HtmlAttr

pattern

fun pattern : String -> HtmlAttr

placeholder

fun placeholder : String -> HtmlAttr

size

fun size : Int -> HtmlAttr

step

fun step : String -> HtmlAttr

type_

fun type_ : String -> HtmlAttr

for_

fun for_ : String -> HtmlAttr

label_attr

fun label_attr : String -> HtmlAttr

role

fun role : String -> HtmlAttr

aria

fun aria : String -> String -> HtmlAttr

data_

fun data_ : String -> String -> HtmlAttr

Creates a data-* attribute.

data_attr

fun data_attr : String -> HtmlAttr

style

fun style : String -> HtmlAttr

method

fun method : String -> HtmlAttr

action

fun action : String -> HtmlAttr

enctype

fun enctype : String -> HtmlAttr

target

fun target : String -> HtmlAttr

charset

fun charset : String -> HtmlAttr

content

fun content : String -> HtmlAttr

http_equiv

fun http_equiv : String -> HtmlAttr

property

fun property : String -> HtmlAttr

cite

fun cite : String -> HtmlAttr

datetime

fun datetime : String -> HtmlAttr

cols

fun cols : Int -> HtmlAttr

rows

fun rows : Int -> HtmlAttr

wrap

fun wrap : String -> HtmlAttr

colspan

fun colspan : Int -> HtmlAttr

rowspan

fun rowspan : Int -> HtmlAttr

headers

fun headers : String -> HtmlAttr

scope

fun scope : String -> HtmlAttr

abbr

fun abbr : String -> HtmlAttr

height

fun height : Int -> HtmlAttr

width

fun width : Int -> HtmlAttr

loading

fun loading : String -> HtmlAttr

decoding

fun decoding : String -> HtmlAttr

crossorigin

fun crossorigin : String -> HtmlAttr

integrity

fun integrity : String -> HtmlAttr

as_

fun as_ : String -> HtmlAttr

defer

fun defer : HtmlAttr

async_

fun async_ : HtmlAttr

nomodule

fun nomodule : HtmlAttr

poster

fun poster : String -> HtmlAttr

preload

fun preload : String -> HtmlAttr

controlslist

fun controlslist : String -> HtmlAttr

kind

fun kind : String -> HtmlAttr

srclang

fun srclang : String -> HtmlAttr

sandbox

fun sandbox : String -> HtmlAttr

allow

fun allow : String -> HtmlAttr

blocking

fun blocking : String -> HtmlAttr

color

fun color : String -> HtmlAttr

fetchpriority

fun fetchpriority : String -> HtmlAttr

srcdoc

fun srcdoc : String -> HtmlAttr

usemap

fun usemap : String -> HtmlAttr

start

fun start : Int -> HtmlAttr

span_attr

fun span_attr : Int -> HtmlAttr

shadowrootmode

fun shadowrootmode : String -> HtmlAttr

shadowrootslotassignment

fun shadowrootslotassignment : String -> HtmlAttr

allowfullscreen

fun allowfullscreen : HtmlAttr

download

fun download : HtmlAttr

download_as

fun download_as : String -> HtmlAttr

disabled

fun disabled : HtmlAttr

checked

fun checked : HtmlAttr

selected

fun selected : HtmlAttr

readonly

fun readonly : HtmlAttr

required

fun required : HtmlAttr

autofocus

fun autofocus : HtmlAttr

hidden

fun hidden : HtmlAttr

headingreset

fun headingreset : HtmlAttr

inert

fun inert : HtmlAttr

itemscope

fun itemscope : HtmlAttr

multiple

fun multiple : HtmlAttr

formnovalidate

fun formnovalidate : HtmlAttr

novalidate

fun novalidate : HtmlAttr

open_

fun open_ : HtmlAttr

controls

fun controls : HtmlAttr

autoplay

fun autoplay : HtmlAttr

loop

fun loop : HtmlAttr

muted

fun muted : HtmlAttr

playsinline

fun playsinline : HtmlAttr

default_

fun default_ : HtmlAttr

reversed

fun reversed : HtmlAttr

ismap

fun ismap : HtmlAttr

shadowrootdelegatesfocus

fun shadowrootdelegatesfocus : HtmlAttr

shadowrootclonable

fun shadowrootclonable : HtmlAttr

shadowrootserializable

fun shadowrootserializable : HtmlAttr

shadowrootcustomelementregistry

fun shadowrootcustomelementregistry : HtmlAttr

html

fun html : List HtmlAttr -> List HtmlNode -> HtmlNode

head_

fun head_ : List HtmlAttr -> List HtmlNode -> HtmlNode

body

fun body : List HtmlAttr -> List HtmlNode -> HtmlNode

title_

fun title_ : List HtmlAttr -> List HtmlNode -> HtmlNode

style_

fun style_ : List HtmlAttr -> List HtmlNode -> HtmlNode

script

fun script : List HtmlAttr -> List HtmlNode -> HtmlNode

noscript

fun noscript : List HtmlAttr -> List HtmlNode -> HtmlNode

div

fun div : List HtmlAttr -> List HtmlNode -> HtmlNode

span

fun span : List HtmlAttr -> List HtmlNode -> HtmlNode

p

fun p : List HtmlAttr -> List HtmlNode -> HtmlNode

a

fun a : List HtmlAttr -> List HtmlNode -> HtmlNode

abbr_el

fun abbr_el : List HtmlAttr -> List HtmlNode -> HtmlNode

address

fun address : List HtmlAttr -> List HtmlNode -> HtmlNode

h1

fun h1 : List HtmlAttr -> List HtmlNode -> HtmlNode

h2

fun h2 : List HtmlAttr -> List HtmlNode -> HtmlNode

h3

fun h3 : List HtmlAttr -> List HtmlNode -> HtmlNode

h4

fun h4 : List HtmlAttr -> List HtmlNode -> HtmlNode

h5

fun h5 : List HtmlAttr -> List HtmlNode -> HtmlNode

h6

fun h6 : List HtmlAttr -> List HtmlNode -> HtmlNode

hgroup

fun hgroup : List HtmlAttr -> List HtmlNode -> HtmlNode

b

fun b : List HtmlAttr -> List HtmlNode -> HtmlNode

bdi

fun bdi : List HtmlAttr -> List HtmlNode -> HtmlNode

bdo

fun bdo : List HtmlAttr -> List HtmlNode -> HtmlNode

blockquote

fun blockquote : List HtmlAttr -> List HtmlNode -> HtmlNode

cite_el

fun cite_el : List HtmlAttr -> List HtmlNode -> HtmlNode

code

fun code : List HtmlAttr -> List HtmlNode -> HtmlNode

data_el

fun data_el : List HtmlAttr -> List HtmlNode -> HtmlNode

del

fun del : List HtmlAttr -> List HtmlNode -> HtmlNode

dfn

fun dfn : List HtmlAttr -> List HtmlNode -> HtmlNode

em

fun em : List HtmlAttr -> List HtmlNode -> HtmlNode

i

fun i : List HtmlAttr -> List HtmlNode -> HtmlNode

ins

fun ins : List HtmlAttr -> List HtmlNode -> HtmlNode

kbd

fun kbd : List HtmlAttr -> List HtmlNode -> HtmlNode

mark

fun mark : List HtmlAttr -> List HtmlNode -> HtmlNode

pre

fun pre : List HtmlAttr -> List HtmlNode -> HtmlNode

q

fun q : List HtmlAttr -> List HtmlNode -> HtmlNode

rp

fun rp : List HtmlAttr -> List HtmlNode -> HtmlNode

rt

fun rt : List HtmlAttr -> List HtmlNode -> HtmlNode

ruby

fun ruby : List HtmlAttr -> List HtmlNode -> HtmlNode

s

fun s : List HtmlAttr -> List HtmlNode -> HtmlNode

samp

fun samp : List HtmlAttr -> List HtmlNode -> HtmlNode

small

fun small : List HtmlAttr -> List HtmlNode -> HtmlNode

strong

fun strong : List HtmlAttr -> List HtmlNode -> HtmlNode

sub

fun sub : List HtmlAttr -> List HtmlNode -> HtmlNode

sup

fun sup : List HtmlAttr -> List HtmlNode -> HtmlNode

time

fun time : List HtmlAttr -> List HtmlNode -> HtmlNode

u_

fun u_ : List HtmlAttr -> List HtmlNode -> HtmlNode

var_

fun var_ : List HtmlAttr -> List HtmlNode -> HtmlNode

ul

fun ul : List HtmlAttr -> List HtmlNode -> HtmlNode

ol

fun ol : List HtmlAttr -> List HtmlNode -> HtmlNode

li

fun li : List HtmlAttr -> List HtmlNode -> HtmlNode
fun menu : List HtmlAttr -> List HtmlNode -> HtmlNode

dl

fun dl : List HtmlAttr -> List HtmlNode -> HtmlNode

dt

fun dt : List HtmlAttr -> List HtmlNode -> HtmlNode

dd

fun dd : List HtmlAttr -> List HtmlNode -> HtmlNode
fun nav : List HtmlAttr -> List HtmlNode -> HtmlNode

main_

fun main_ : List HtmlAttr -> List HtmlNode -> HtmlNode
fun search : List HtmlAttr -> List HtmlNode -> HtmlNode

section

fun section : List HtmlAttr -> List HtmlNode -> HtmlNode

article

fun article : List HtmlAttr -> List HtmlNode -> HtmlNode
fun header : List HtmlAttr -> List HtmlNode -> HtmlNode
fun footer : List HtmlAttr -> List HtmlNode -> HtmlNode

aside

fun aside : List HtmlAttr -> List HtmlNode -> HtmlNode

figure

fun figure : List HtmlAttr -> List HtmlNode -> HtmlNode

figcaption

fun figcaption : List HtmlAttr -> List HtmlNode -> HtmlNode

details

fun details : List HtmlAttr -> List HtmlNode -> HtmlNode

summary

fun summary : List HtmlAttr -> List HtmlNode -> HtmlNode

dialog

fun dialog : List HtmlAttr -> List HtmlNode -> HtmlNode

button

fun button : List HtmlAttr -> List HtmlNode -> HtmlNode

form

fun form : List HtmlAttr -> List HtmlNode -> HtmlNode

fieldset

fun fieldset : List HtmlAttr -> List HtmlNode -> HtmlNode

legend

fun legend : List HtmlAttr -> List HtmlNode -> HtmlNode

label

fun label : List HtmlAttr -> List HtmlNode -> HtmlNode

textarea

fun textarea : List HtmlAttr -> List HtmlNode -> HtmlNode

select

fun select : List HtmlAttr -> List HtmlNode -> HtmlNode

datalist

fun datalist : List HtmlAttr -> List HtmlNode -> HtmlNode

optgroup

fun optgroup : List HtmlAttr -> List HtmlNode -> HtmlNode

option

fun option : List HtmlAttr -> List HtmlNode -> HtmlNode

output

fun output : List HtmlAttr -> List HtmlNode -> HtmlNode

progress

fun progress : List HtmlAttr -> List HtmlNode -> HtmlNode

meter

fun meter : List HtmlAttr -> List HtmlNode -> HtmlNode

table

fun table : List HtmlAttr -> List HtmlNode -> HtmlNode

caption

fun caption : List HtmlAttr -> List HtmlNode -> HtmlNode

colgroup

fun colgroup : List HtmlAttr -> List HtmlNode -> HtmlNode

thead

fun thead : List HtmlAttr -> List HtmlNode -> HtmlNode

tbody

fun tbody : List HtmlAttr -> List HtmlNode -> HtmlNode

tfoot

fun tfoot : List HtmlAttr -> List HtmlNode -> HtmlNode

tr

fun tr : List HtmlAttr -> List HtmlNode -> HtmlNode

th

fun th : List HtmlAttr -> List HtmlNode -> HtmlNode

td

fun td : List HtmlAttr -> List HtmlNode -> HtmlNode

canvas

fun canvas : List HtmlAttr -> List HtmlNode -> HtmlNode

audio

fun audio : List HtmlAttr -> List HtmlNode -> HtmlNode

video

fun video : List HtmlAttr -> List HtmlNode -> HtmlNode

picture

fun picture : List HtmlAttr -> List HtmlNode -> HtmlNode

map_

fun map_ : List HtmlAttr -> List HtmlNode -> HtmlNode

object_

fun object_ : List HtmlAttr -> List HtmlNode -> HtmlNode

iframe

fun iframe : List HtmlAttr -> List HtmlNode -> HtmlNode

slot_el

fun slot_el : List HtmlAttr -> List HtmlNode -> HtmlNode

template

fun template : List HtmlAttr -> List HtmlNode -> HtmlNode

selectedcontent

fun selectedcontent : List HtmlAttr -> HtmlNode

meta

fun meta : List HtmlAttr -> HtmlNode

base

fun base : List HtmlAttr -> HtmlNode
fun link : List HtmlAttr -> HtmlNode

area

fun area : List HtmlAttr -> HtmlNode

img

fun img : List HtmlAttr -> HtmlNode

input

fun input : List HtmlAttr -> HtmlNode

br

fun br : List HtmlAttr -> HtmlNode

hr

fun hr : List HtmlAttr -> HtmlNode

col

fun col : List HtmlAttr -> HtmlNode

embed

fun embed : List HtmlAttr -> HtmlNode

source

fun source : List HtmlAttr -> HtmlNode

track

fun track : List HtmlAttr -> HtmlNode

wbr

fun wbr : List HtmlAttr -> HtmlNode