packages feed

blaze-html 0.5.0.0 → 0.5.1.0

raw patch · 6 files changed

+5204/−5 lines, 6 filesdep ~bytestringPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: bytestring

API changes (from Hackage documentation)

+ Text.Blaze.Html: preEscapedToHtml :: ToMarkup a => a -> Html
+ Text.Blaze.XHtml5: a :: Html -> Html
+ Text.Blaze.XHtml5: abbr :: Html -> Html
+ Text.Blaze.XHtml5: address :: Html -> Html
+ Text.Blaze.XHtml5: area :: Html
+ Text.Blaze.XHtml5: article :: Html -> Html
+ Text.Blaze.XHtml5: aside :: Html -> Html
+ Text.Blaze.XHtml5: audio :: Html -> Html
+ Text.Blaze.XHtml5: b :: Html -> Html
+ Text.Blaze.XHtml5: base :: Html -> Html
+ Text.Blaze.XHtml5: bdo :: Html -> Html
+ Text.Blaze.XHtml5: blockquote :: Html -> Html
+ Text.Blaze.XHtml5: body :: Html -> Html
+ Text.Blaze.XHtml5: br :: Html
+ Text.Blaze.XHtml5: button :: Html -> Html
+ Text.Blaze.XHtml5: canvas :: Html -> Html
+ Text.Blaze.XHtml5: caption :: Html -> Html
+ Text.Blaze.XHtml5: cite :: Html -> Html
+ Text.Blaze.XHtml5: code :: Html -> Html
+ Text.Blaze.XHtml5: col :: Html
+ Text.Blaze.XHtml5: colgroup :: Html -> Html
+ Text.Blaze.XHtml5: command :: Html -> Html
+ Text.Blaze.XHtml5: datalist :: Html -> Html
+ Text.Blaze.XHtml5: dd :: Html -> Html
+ Text.Blaze.XHtml5: del :: Html -> Html
+ Text.Blaze.XHtml5: details :: Html -> Html
+ Text.Blaze.XHtml5: dfn :: Html -> Html
+ Text.Blaze.XHtml5: div :: Html -> Html
+ Text.Blaze.XHtml5: dl :: Html -> Html
+ Text.Blaze.XHtml5: docType :: Html
+ Text.Blaze.XHtml5: docTypeHtml :: Html -> Html
+ Text.Blaze.XHtml5: dt :: Html -> Html
+ Text.Blaze.XHtml5: em :: Html -> Html
+ Text.Blaze.XHtml5: embed :: Html
+ Text.Blaze.XHtml5: fieldset :: Html -> Html
+ Text.Blaze.XHtml5: figcaption :: Html -> Html
+ Text.Blaze.XHtml5: figure :: Html -> Html
+ Text.Blaze.XHtml5: footer :: Html -> Html
+ Text.Blaze.XHtml5: form :: Html -> Html
+ Text.Blaze.XHtml5: h1 :: Html -> Html
+ Text.Blaze.XHtml5: h2 :: Html -> Html
+ Text.Blaze.XHtml5: h3 :: Html -> Html
+ Text.Blaze.XHtml5: h4 :: Html -> Html
+ Text.Blaze.XHtml5: h5 :: Html -> Html
+ Text.Blaze.XHtml5: h6 :: Html -> Html
+ Text.Blaze.XHtml5: head :: Html -> Html
+ Text.Blaze.XHtml5: header :: Html -> Html
+ Text.Blaze.XHtml5: hgroup :: Html -> Html
+ Text.Blaze.XHtml5: hr :: Html
+ Text.Blaze.XHtml5: html :: Html -> Html
+ Text.Blaze.XHtml5: i :: Html -> Html
+ Text.Blaze.XHtml5: iframe :: Html -> Html
+ Text.Blaze.XHtml5: img :: Html
+ Text.Blaze.XHtml5: input :: Html
+ Text.Blaze.XHtml5: ins :: Html -> Html
+ Text.Blaze.XHtml5: kbd :: Html -> Html
+ Text.Blaze.XHtml5: keygen :: Html -> Html
+ Text.Blaze.XHtml5: label :: Html -> Html
+ Text.Blaze.XHtml5: legend :: Html -> Html
+ Text.Blaze.XHtml5: li :: Html -> Html
+ Text.Blaze.XHtml5: link :: Html
+ Text.Blaze.XHtml5: map :: Html -> Html
+ Text.Blaze.XHtml5: mark :: Html -> Html
+ Text.Blaze.XHtml5: menu :: Html -> Html
+ Text.Blaze.XHtml5: meta :: Html
+ Text.Blaze.XHtml5: meter :: Html -> Html
+ Text.Blaze.XHtml5: nav :: Html -> Html
+ Text.Blaze.XHtml5: noscript :: Html -> Html
+ Text.Blaze.XHtml5: object :: Html -> Html
+ Text.Blaze.XHtml5: ol :: Html -> Html
+ Text.Blaze.XHtml5: optgroup :: Html -> Html
+ Text.Blaze.XHtml5: option :: Html -> Html
+ Text.Blaze.XHtml5: output :: Html -> Html
+ Text.Blaze.XHtml5: p :: Html -> Html
+ Text.Blaze.XHtml5: param :: Html
+ Text.Blaze.XHtml5: pre :: Html -> Html
+ Text.Blaze.XHtml5: progress :: Html -> Html
+ Text.Blaze.XHtml5: q :: Html -> Html
+ Text.Blaze.XHtml5: rp :: Html -> Html
+ Text.Blaze.XHtml5: rt :: Html -> Html
+ Text.Blaze.XHtml5: ruby :: Html -> Html
+ Text.Blaze.XHtml5: samp :: Html -> Html
+ Text.Blaze.XHtml5: script :: Html -> Html
+ Text.Blaze.XHtml5: section :: Html -> Html
+ Text.Blaze.XHtml5: select :: Html -> Html
+ Text.Blaze.XHtml5: small :: Html -> Html
+ Text.Blaze.XHtml5: source :: Html -> Html
+ Text.Blaze.XHtml5: span :: Html -> Html
+ Text.Blaze.XHtml5: strong :: Html -> Html
+ Text.Blaze.XHtml5: style :: Html -> Html
+ Text.Blaze.XHtml5: sub :: Html -> Html
+ Text.Blaze.XHtml5: summary :: Html -> Html
+ Text.Blaze.XHtml5: sup :: Html -> Html
+ Text.Blaze.XHtml5: table :: Html -> Html
+ Text.Blaze.XHtml5: tbody :: Html -> Html
+ Text.Blaze.XHtml5: td :: Html -> Html
+ Text.Blaze.XHtml5: textarea :: Html -> Html
+ Text.Blaze.XHtml5: tfoot :: Html -> Html
+ Text.Blaze.XHtml5: th :: Html -> Html
+ Text.Blaze.XHtml5: thead :: Html -> Html
+ Text.Blaze.XHtml5: time :: Html -> Html
+ Text.Blaze.XHtml5: title :: Html -> Html
+ Text.Blaze.XHtml5: tr :: Html -> Html
+ Text.Blaze.XHtml5: ul :: Html -> Html
+ Text.Blaze.XHtml5: var :: Html -> Html
+ Text.Blaze.XHtml5: video :: Html -> Html
+ Text.Blaze.XHtml5.Attributes: accept :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: acceptCharset :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: accesskey :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: action :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: alt :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: async :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: autocomplete :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: autofocus :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: autoplay :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: challenge :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: charset :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: checked :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: cite :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: class_ :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: cols :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: colspan :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: content :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: contenteditable :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: contextmenu :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: controls :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: coords :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: data_ :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: datetime :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: defer :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: dir :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: disabled :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: draggable :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: enctype :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: for :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: form :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: formaction :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: formenctype :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: formmethod :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: formnovalidate :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: formtarget :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: headers :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: height :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: hidden :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: high :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: href :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: hreflang :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: httpEquiv :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: icon :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: id :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ismap :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: item :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: itemprop :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: keytype :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: label :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: lang :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: list :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: loop :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: low :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: manifest :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: max :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: maxlength :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: media :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: method :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: min :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: multiple :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: name :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: novalidate :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onbeforeonload :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onbeforeprint :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onblur :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: oncanplay :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: oncanplaythrough :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onchange :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onclick :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: oncontextmenu :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ondblclick :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ondrag :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ondragend :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ondragenter :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ondragleave :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ondragover :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ondragstart :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ondrop :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ondurationchange :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onemptied :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onended :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onerror :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onfocus :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onformchange :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onforminput :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onhaschange :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: oninput :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: oninvalid :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onkeydown :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onkeyup :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onload :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onloadeddata :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onloadedmetadata :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onloadstart :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onmessage :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onmousedown :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onmousemove :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onmouseout :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onmouseover :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onmouseup :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onmousewheel :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ononline :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onpagehide :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onpageshow :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onpause :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onplay :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onplaying :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onprogress :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onpropstate :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onratechange :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onreadystatechange :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onredo :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onresize :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onscroll :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onseeked :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onseeking :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onselect :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onstalled :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onstorage :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onsubmit :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onsuspend :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ontimeupdate :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onundo :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onunload :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onvolumechange :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: onwaiting :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: open :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: optimum :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: pattern :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: ping :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: placeholder :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: preload :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: pubdate :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: radiogroup :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: readonly :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: rel :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: required :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: reversed :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: rows :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: rowspan :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: sandbox :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: scope :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: scoped :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: seamless :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: selected :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: shape :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: size :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: sizes :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: span :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: spellcheck :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: src :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: srcdoc :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: start :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: step :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: style :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: subject :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: summary :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: tabindex :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: target :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: title :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: type_ :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: usemap :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: value :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: width :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: wrap :: AttributeValue -> Attribute
+ Text.Blaze.XHtml5.Attributes: xmlns :: AttributeValue -> Attribute
- Text.Blaze.Html: toHtml :: ToMarkup a => a -> Markup
+ Text.Blaze.Html: toHtml :: ToMarkup a => a -> Html

Files

blaze-html.cabal view
@@ -1,5 +1,5 @@ Name:         blaze-html-Version:      0.5.0.0+Version:      0.5.1.0 Homepage:     http://jaspervdj.be/blaze Bug-Reports:  http://github.com/jaspervdj/blaze-html/issues License:      BSD3@@ -46,12 +46,14 @@     Text.Blaze.XHtml1.Strict.Attributes     Text.Blaze.XHtml1.Transitional     Text.Blaze.XHtml1.Transitional.Attributes+    Text.Blaze.XHtml5+    Text.Blaze.XHtml5.Attributes      Build-depends:     base          >= 4     && < 5,     blaze-builder >= 0.2   && < 0.4,     blaze-markup  >= 0.5.1 && < 0.6,-    bytestring    >= 0.9   && < 0.10,+    bytestring    >= 0.9   && < 0.11,     text          >= 0.10  && < 0.12  Test-suite blaze-html-tests@@ -76,7 +78,7 @@     base          >= 4     && < 5,     blaze-builder >= 0.2   && < 0.4,     blaze-markup  >= 0.5.1 && < 0.6,-    bytestring    >= 0.9   && < 0.10,+    bytestring    >= 0.9   && < 0.11,     text          >= 0.10  && < 0.12  Source-repository head
src/Text/Blaze/Html.hs view
@@ -2,11 +2,15 @@     ( module Text.Blaze     , Html     , toHtml+    , preEscapedToHtml     ) where  import Text.Blaze  type Html = Markup -toHtml :: ToMarkup a => a -> Markup +toHtml :: ToMarkup a => a -> Html toHtml = toMarkup++preEscapedToHtml :: ToMarkup a => a -> Html+preEscapedToHtml = preEscapedToMarkup
+ src/Text/Blaze/XHtml5.hs view
@@ -0,0 +1,2005 @@+-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:69+--+{-# LANGUAGE OverloadedStrings #-}+-- | This module exports HTML combinators used to create documents.+--+module Text.Blaze.XHtml5+    ( module Text.Blaze.Html+    , docType+    , docTypeHtml+    , a+    , abbr+    , address+    , area+    , article+    , aside+    , audio+    , b+    , base+    , bdo+    , blockquote+    , body+    , br+    , button+    , canvas+    , caption+    , cite+    , code+    , col+    , colgroup+    , command+    , datalist+    , dd+    , del+    , details+    , dfn+    , div+    , dl+    , dt+    , em+    , embed+    , fieldset+    , figcaption+    , figure+    , footer+    , form+    , h1+    , h2+    , h3+    , h4+    , h5+    , h6+    , head+    , header+    , hgroup+    , hr+    , html+    , i+    , iframe+    , img+    , input+    , ins+    , kbd+    , keygen+    , label+    , legend+    , li+    , link+    , map+    , mark+    , menu+    , meta+    , meter+    , nav+    , noscript+    , object+    , ol+    , optgroup+    , option+    , output+    , p+    , param+    , pre+    , progress+    , q+    , rp+    , rt+    , ruby+    , samp+    , script+    , section+    , select+    , small+    , source+    , span+    , strong+    , style+    , sub+    , summary+    , sup+    , table+    , tbody+    , td+    , textarea+    , tfoot+    , th+    , thead+    , time+    , title+    , tr+    , ul+    , var+    , video+    ) where++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:77+--+import Prelude ((>>), (.))++import Text.Blaze+import Text.Blaze.Internal+import Text.Blaze.Html++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:156+--+-- | Combinator for the document type. This should be placed at the top+-- of every HTML page.+--+-- Example:+--+-- > docType+--+-- Result:+--+-- > <!DOCTYPE HTML>+--+docType :: Html  -- ^ The document type HTML.+docType = preEscapedText "<!DOCTYPE HTML>\n"+{-# INLINE docType #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:177+--+-- | Combinator for the @\<html>@ element. This combinator will also+-- insert the correct doctype.+--+-- Example:+--+-- > docTypeHtml $ span $ text "foo"+--+-- Result:+--+-- > <!DOCTYPE HTML>+-- > <html><span>foo</span></html>+--+docTypeHtml :: Html  -- ^ Inner HTML.+            -> Html  -- ^ Resulting HTML.+docTypeHtml inner = docType >> html inner+{-# INLINE docTypeHtml #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<a>@ element.+--+-- Example:+--+-- > a $ span $ text "foo"+--+-- Result:+--+-- > <a><span>foo</span></a>+--+a :: Html  -- ^ Inner HTML.+  -> Html  -- ^ Resulting HTML.+a = Parent "a" "<a" "</a>"+{-# INLINE a #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<abbr>@ element.+--+-- Example:+--+-- > abbr $ span $ text "foo"+--+-- Result:+--+-- > <abbr><span>foo</span></abbr>+--+abbr :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+abbr = Parent "abbr" "<abbr" "</abbr>"+{-# INLINE abbr #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<address>@ element.+--+-- Example:+--+-- > address $ span $ text "foo"+--+-- Result:+--+-- > <address><span>foo</span></address>+--+address :: Html  -- ^ Inner HTML.+        -> Html  -- ^ Resulting HTML.+address = Parent "address" "<address" "</address>"+{-# INLINE address #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:226+--+-- | Combinator for the @\<area />@ element.+--+-- Example:+--+-- > area+--+-- Result:+--+-- > <area />+--+area :: Html  -- ^ Resulting HTML.+area = Leaf "area" "<area" " />"+{-# INLINE area #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<article>@ element.+--+-- Example:+--+-- > article $ span $ text "foo"+--+-- Result:+--+-- > <article><span>foo</span></article>+--+article :: Html  -- ^ Inner HTML.+        -> Html  -- ^ Resulting HTML.+article = Parent "article" "<article" "</article>"+{-# INLINE article #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<aside>@ element.+--+-- Example:+--+-- > aside $ span $ text "foo"+--+-- Result:+--+-- > <aside><span>foo</span></aside>+--+aside :: Html  -- ^ Inner HTML.+      -> Html  -- ^ Resulting HTML.+aside = Parent "aside" "<aside" "</aside>"+{-# INLINE aside #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<audio>@ element.+--+-- Example:+--+-- > audio $ span $ text "foo"+--+-- Result:+--+-- > <audio><span>foo</span></audio>+--+audio :: Html  -- ^ Inner HTML.+      -> Html  -- ^ Resulting HTML.+audio = Parent "audio" "<audio" "</audio>"+{-# INLINE audio #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<b>@ element.+--+-- Example:+--+-- > b $ span $ text "foo"+--+-- Result:+--+-- > <b><span>foo</span></b>+--+b :: Html  -- ^ Inner HTML.+  -> Html  -- ^ Resulting HTML.+b = Parent "b" "<b" "</b>"+{-# INLINE b #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<base>@ element.+--+-- Example:+--+-- > base $ span $ text "foo"+--+-- Result:+--+-- > <base><span>foo</span></base>+--+base :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+base = Parent "base" "<base" "</base>"+{-# INLINE base #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<bdo>@ element.+--+-- Example:+--+-- > bdo $ span $ text "foo"+--+-- Result:+--+-- > <bdo><span>foo</span></bdo>+--+bdo :: Html  -- ^ Inner HTML.+    -> Html  -- ^ Resulting HTML.+bdo = Parent "bdo" "<bdo" "</bdo>"+{-# INLINE bdo #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<blockquote>@ element.+--+-- Example:+--+-- > blockquote $ span $ text "foo"+--+-- Result:+--+-- > <blockquote><span>foo</span></blockquote>+--+blockquote :: Html  -- ^ Inner HTML.+           -> Html  -- ^ Resulting HTML.+blockquote = Parent "blockquote" "<blockquote" "</blockquote>"+{-# INLINE blockquote #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<body>@ element.+--+-- Example:+--+-- > body $ span $ text "foo"+--+-- Result:+--+-- > <body><span>foo</span></body>+--+body :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+body = Parent "body" "<body" "</body>"+{-# INLINE body #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:226+--+-- | Combinator for the @\<br />@ element.+--+-- Example:+--+-- > br+--+-- Result:+--+-- > <br />+--+br :: Html  -- ^ Resulting HTML.+br = Leaf "br" "<br" " />"+{-# INLINE br #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<button>@ element.+--+-- Example:+--+-- > button $ span $ text "foo"+--+-- Result:+--+-- > <button><span>foo</span></button>+--+button :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+button = Parent "button" "<button" "</button>"+{-# INLINE button #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<canvas>@ element.+--+-- Example:+--+-- > canvas $ span $ text "foo"+--+-- Result:+--+-- > <canvas><span>foo</span></canvas>+--+canvas :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+canvas = Parent "canvas" "<canvas" "</canvas>"+{-# INLINE canvas #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<caption>@ element.+--+-- Example:+--+-- > caption $ span $ text "foo"+--+-- Result:+--+-- > <caption><span>foo</span></caption>+--+caption :: Html  -- ^ Inner HTML.+        -> Html  -- ^ Resulting HTML.+caption = Parent "caption" "<caption" "</caption>"+{-# INLINE caption #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<cite>@ element.+--+-- Example:+--+-- > cite $ span $ text "foo"+--+-- Result:+--+-- > <cite><span>foo</span></cite>+--+cite :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+cite = Parent "cite" "<cite" "</cite>"+{-# INLINE cite #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<code>@ element.+--+-- Example:+--+-- > code $ span $ text "foo"+--+-- Result:+--+-- > <code><span>foo</span></code>+--+code :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+code = Parent "code" "<code" "</code>"+{-# INLINE code #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:226+--+-- | Combinator for the @\<col />@ element.+--+-- Example:+--+-- > col+--+-- Result:+--+-- > <col />+--+col :: Html  -- ^ Resulting HTML.+col = Leaf "col" "<col" " />"+{-# INLINE col #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<colgroup>@ element.+--+-- Example:+--+-- > colgroup $ span $ text "foo"+--+-- Result:+--+-- > <colgroup><span>foo</span></colgroup>+--+colgroup :: Html  -- ^ Inner HTML.+         -> Html  -- ^ Resulting HTML.+colgroup = Parent "colgroup" "<colgroup" "</colgroup>"+{-# INLINE colgroup #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<command>@ element.+--+-- Example:+--+-- > command $ span $ text "foo"+--+-- Result:+--+-- > <command><span>foo</span></command>+--+command :: Html  -- ^ Inner HTML.+        -> Html  -- ^ Resulting HTML.+command = Parent "command" "<command" "</command>"+{-# INLINE command #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<datalist>@ element.+--+-- Example:+--+-- > datalist $ span $ text "foo"+--+-- Result:+--+-- > <datalist><span>foo</span></datalist>+--+datalist :: Html  -- ^ Inner HTML.+         -> Html  -- ^ Resulting HTML.+datalist = Parent "datalist" "<datalist" "</datalist>"+{-# INLINE datalist #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<dd>@ element.+--+-- Example:+--+-- > dd $ span $ text "foo"+--+-- Result:+--+-- > <dd><span>foo</span></dd>+--+dd :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+dd = Parent "dd" "<dd" "</dd>"+{-# INLINE dd #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<del>@ element.+--+-- Example:+--+-- > del $ span $ text "foo"+--+-- Result:+--+-- > <del><span>foo</span></del>+--+del :: Html  -- ^ Inner HTML.+    -> Html  -- ^ Resulting HTML.+del = Parent "del" "<del" "</del>"+{-# INLINE del #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<details>@ element.+--+-- Example:+--+-- > details $ span $ text "foo"+--+-- Result:+--+-- > <details><span>foo</span></details>+--+details :: Html  -- ^ Inner HTML.+        -> Html  -- ^ Resulting HTML.+details = Parent "details" "<details" "</details>"+{-# INLINE details #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<dfn>@ element.+--+-- Example:+--+-- > dfn $ span $ text "foo"+--+-- Result:+--+-- > <dfn><span>foo</span></dfn>+--+dfn :: Html  -- ^ Inner HTML.+    -> Html  -- ^ Resulting HTML.+dfn = Parent "dfn" "<dfn" "</dfn>"+{-# INLINE dfn #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<div>@ element.+--+-- Example:+--+-- > div $ span $ text "foo"+--+-- Result:+--+-- > <div><span>foo</span></div>+--+div :: Html  -- ^ Inner HTML.+    -> Html  -- ^ Resulting HTML.+div = Parent "div" "<div" "</div>"+{-# INLINE div #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<dl>@ element.+--+-- Example:+--+-- > dl $ span $ text "foo"+--+-- Result:+--+-- > <dl><span>foo</span></dl>+--+dl :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+dl = Parent "dl" "<dl" "</dl>"+{-# INLINE dl #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<dt>@ element.+--+-- Example:+--+-- > dt $ span $ text "foo"+--+-- Result:+--+-- > <dt><span>foo</span></dt>+--+dt :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+dt = Parent "dt" "<dt" "</dt>"+{-# INLINE dt #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<em>@ element.+--+-- Example:+--+-- > em $ span $ text "foo"+--+-- Result:+--+-- > <em><span>foo</span></em>+--+em :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+em = Parent "em" "<em" "</em>"+{-# INLINE em #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:226+--+-- | Combinator for the @\<embed />@ element.+--+-- Example:+--+-- > embed+--+-- Result:+--+-- > <embed />+--+embed :: Html  -- ^ Resulting HTML.+embed = Leaf "embed" "<embed" " />"+{-# INLINE embed #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<fieldset>@ element.+--+-- Example:+--+-- > fieldset $ span $ text "foo"+--+-- Result:+--+-- > <fieldset><span>foo</span></fieldset>+--+fieldset :: Html  -- ^ Inner HTML.+         -> Html  -- ^ Resulting HTML.+fieldset = Parent "fieldset" "<fieldset" "</fieldset>"+{-# INLINE fieldset #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<figcaption>@ element.+--+-- Example:+--+-- > figcaption $ span $ text "foo"+--+-- Result:+--+-- > <figcaption><span>foo</span></figcaption>+--+figcaption :: Html  -- ^ Inner HTML.+           -> Html  -- ^ Resulting HTML.+figcaption = Parent "figcaption" "<figcaption" "</figcaption>"+{-# INLINE figcaption #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<figure>@ element.+--+-- Example:+--+-- > figure $ span $ text "foo"+--+-- Result:+--+-- > <figure><span>foo</span></figure>+--+figure :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+figure = Parent "figure" "<figure" "</figure>"+{-# INLINE figure #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<footer>@ element.+--+-- Example:+--+-- > footer $ span $ text "foo"+--+-- Result:+--+-- > <footer><span>foo</span></footer>+--+footer :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+footer = Parent "footer" "<footer" "</footer>"+{-# INLINE footer #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<form>@ element.+--+-- Example:+--+-- > form $ span $ text "foo"+--+-- Result:+--+-- > <form><span>foo</span></form>+--+form :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+form = Parent "form" "<form" "</form>"+{-# INLINE form #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<h1>@ element.+--+-- Example:+--+-- > h1 $ span $ text "foo"+--+-- Result:+--+-- > <h1><span>foo</span></h1>+--+h1 :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+h1 = Parent "h1" "<h1" "</h1>"+{-# INLINE h1 #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<h2>@ element.+--+-- Example:+--+-- > h2 $ span $ text "foo"+--+-- Result:+--+-- > <h2><span>foo</span></h2>+--+h2 :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+h2 = Parent "h2" "<h2" "</h2>"+{-# INLINE h2 #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<h3>@ element.+--+-- Example:+--+-- > h3 $ span $ text "foo"+--+-- Result:+--+-- > <h3><span>foo</span></h3>+--+h3 :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+h3 = Parent "h3" "<h3" "</h3>"+{-# INLINE h3 #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<h4>@ element.+--+-- Example:+--+-- > h4 $ span $ text "foo"+--+-- Result:+--+-- > <h4><span>foo</span></h4>+--+h4 :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+h4 = Parent "h4" "<h4" "</h4>"+{-# INLINE h4 #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<h5>@ element.+--+-- Example:+--+-- > h5 $ span $ text "foo"+--+-- Result:+--+-- > <h5><span>foo</span></h5>+--+h5 :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+h5 = Parent "h5" "<h5" "</h5>"+{-# INLINE h5 #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<h6>@ element.+--+-- Example:+--+-- > h6 $ span $ text "foo"+--+-- Result:+--+-- > <h6><span>foo</span></h6>+--+h6 :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+h6 = Parent "h6" "<h6" "</h6>"+{-# INLINE h6 #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<head>@ element.+--+-- Example:+--+-- > head $ span $ text "foo"+--+-- Result:+--+-- > <head><span>foo</span></head>+--+head :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+head = Parent "head" "<head" "</head>"+{-# INLINE head #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<header>@ element.+--+-- Example:+--+-- > header $ span $ text "foo"+--+-- Result:+--+-- > <header><span>foo</span></header>+--+header :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+header = Parent "header" "<header" "</header>"+{-# INLINE header #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<hgroup>@ element.+--+-- Example:+--+-- > hgroup $ span $ text "foo"+--+-- Result:+--+-- > <hgroup><span>foo</span></hgroup>+--+hgroup :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+hgroup = Parent "hgroup" "<hgroup" "</hgroup>"+{-# INLINE hgroup #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:226+--+-- | Combinator for the @\<hr />@ element.+--+-- Example:+--+-- > hr+--+-- Result:+--+-- > <hr />+--+hr :: Html  -- ^ Resulting HTML.+hr = Leaf "hr" "<hr" " />"+{-# INLINE hr #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<html>@ element.+--+-- Example:+--+-- > html $ span $ text "foo"+--+-- Result:+--+-- > <html><span>foo</span></html>+--+html :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+html = Parent "html" "<html" "</html>"+{-# INLINE html #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<i>@ element.+--+-- Example:+--+-- > i $ span $ text "foo"+--+-- Result:+--+-- > <i><span>foo</span></i>+--+i :: Html  -- ^ Inner HTML.+  -> Html  -- ^ Resulting HTML.+i = Parent "i" "<i" "</i>"+{-# INLINE i #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<iframe>@ element.+--+-- Example:+--+-- > iframe $ span $ text "foo"+--+-- Result:+--+-- > <iframe><span>foo</span></iframe>+--+iframe :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+iframe = Parent "iframe" "<iframe" "</iframe>"+{-# INLINE iframe #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:226+--+-- | Combinator for the @\<img />@ element.+--+-- Example:+--+-- > img+--+-- Result:+--+-- > <img />+--+img :: Html  -- ^ Resulting HTML.+img = Leaf "img" "<img" " />"+{-# INLINE img #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:226+--+-- | Combinator for the @\<input />@ element.+--+-- Example:+--+-- > input+--+-- Result:+--+-- > <input />+--+input :: Html  -- ^ Resulting HTML.+input = Leaf "input" "<input" " />"+{-# INLINE input #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<ins>@ element.+--+-- Example:+--+-- > ins $ span $ text "foo"+--+-- Result:+--+-- > <ins><span>foo</span></ins>+--+ins :: Html  -- ^ Inner HTML.+    -> Html  -- ^ Resulting HTML.+ins = Parent "ins" "<ins" "</ins>"+{-# INLINE ins #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<kbd>@ element.+--+-- Example:+--+-- > kbd $ span $ text "foo"+--+-- Result:+--+-- > <kbd><span>foo</span></kbd>+--+kbd :: Html  -- ^ Inner HTML.+    -> Html  -- ^ Resulting HTML.+kbd = Parent "kbd" "<kbd" "</kbd>"+{-# INLINE kbd #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<keygen>@ element.+--+-- Example:+--+-- > keygen $ span $ text "foo"+--+-- Result:+--+-- > <keygen><span>foo</span></keygen>+--+keygen :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+keygen = Parent "keygen" "<keygen" "</keygen>"+{-# INLINE keygen #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<label>@ element.+--+-- Example:+--+-- > label $ span $ text "foo"+--+-- Result:+--+-- > <label><span>foo</span></label>+--+label :: Html  -- ^ Inner HTML.+      -> Html  -- ^ Resulting HTML.+label = Parent "label" "<label" "</label>"+{-# INLINE label #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<legend>@ element.+--+-- Example:+--+-- > legend $ span $ text "foo"+--+-- Result:+--+-- > <legend><span>foo</span></legend>+--+legend :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+legend = Parent "legend" "<legend" "</legend>"+{-# INLINE legend #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<li>@ element.+--+-- Example:+--+-- > li $ span $ text "foo"+--+-- Result:+--+-- > <li><span>foo</span></li>+--+li :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+li = Parent "li" "<li" "</li>"+{-# INLINE li #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:226+--+-- | Combinator for the @\<link />@ element.+--+-- Example:+--+-- > link+--+-- Result:+--+-- > <link />+--+link :: Html  -- ^ Resulting HTML.+link = Leaf "link" "<link" " />"+{-# INLINE link #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<map>@ element.+--+-- Example:+--+-- > map $ span $ text "foo"+--+-- Result:+--+-- > <map><span>foo</span></map>+--+map :: Html  -- ^ Inner HTML.+    -> Html  -- ^ Resulting HTML.+map = Parent "map" "<map" "</map>"+{-# INLINE map #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<mark>@ element.+--+-- Example:+--+-- > mark $ span $ text "foo"+--+-- Result:+--+-- > <mark><span>foo</span></mark>+--+mark :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+mark = Parent "mark" "<mark" "</mark>"+{-# INLINE mark #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<menu>@ element.+--+-- Example:+--+-- > menu $ span $ text "foo"+--+-- Result:+--+-- > <menu><span>foo</span></menu>+--+menu :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+menu = Parent "menu" "<menu" "</menu>"+{-# INLINE menu #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:226+--+-- | Combinator for the @\<meta />@ element.+--+-- Example:+--+-- > meta+--+-- Result:+--+-- > <meta />+--+meta :: Html  -- ^ Resulting HTML.+meta = Leaf "meta" "<meta" " />"+{-# INLINE meta #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<meter>@ element.+--+-- Example:+--+-- > meter $ span $ text "foo"+--+-- Result:+--+-- > <meter><span>foo</span></meter>+--+meter :: Html  -- ^ Inner HTML.+      -> Html  -- ^ Resulting HTML.+meter = Parent "meter" "<meter" "</meter>"+{-# INLINE meter #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<nav>@ element.+--+-- Example:+--+-- > nav $ span $ text "foo"+--+-- Result:+--+-- > <nav><span>foo</span></nav>+--+nav :: Html  -- ^ Inner HTML.+    -> Html  -- ^ Resulting HTML.+nav = Parent "nav" "<nav" "</nav>"+{-# INLINE nav #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<noscript>@ element.+--+-- Example:+--+-- > noscript $ span $ text "foo"+--+-- Result:+--+-- > <noscript><span>foo</span></noscript>+--+noscript :: Html  -- ^ Inner HTML.+         -> Html  -- ^ Resulting HTML.+noscript = Parent "noscript" "<noscript" "</noscript>"+{-# INLINE noscript #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<object>@ element.+--+-- Example:+--+-- > object $ span $ text "foo"+--+-- Result:+--+-- > <object><span>foo</span></object>+--+object :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+object = Parent "object" "<object" "</object>"+{-# INLINE object #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<ol>@ element.+--+-- Example:+--+-- > ol $ span $ text "foo"+--+-- Result:+--+-- > <ol><span>foo</span></ol>+--+ol :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+ol = Parent "ol" "<ol" "</ol>"+{-# INLINE ol #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<optgroup>@ element.+--+-- Example:+--+-- > optgroup $ span $ text "foo"+--+-- Result:+--+-- > <optgroup><span>foo</span></optgroup>+--+optgroup :: Html  -- ^ Inner HTML.+         -> Html  -- ^ Resulting HTML.+optgroup = Parent "optgroup" "<optgroup" "</optgroup>"+{-# INLINE optgroup #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<option>@ element.+--+-- Example:+--+-- > option $ span $ text "foo"+--+-- Result:+--+-- > <option><span>foo</span></option>+--+option :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+option = Parent "option" "<option" "</option>"+{-# INLINE option #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<output>@ element.+--+-- Example:+--+-- > output $ span $ text "foo"+--+-- Result:+--+-- > <output><span>foo</span></output>+--+output :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+output = Parent "output" "<output" "</output>"+{-# INLINE output #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<p>@ element.+--+-- Example:+--+-- > p $ span $ text "foo"+--+-- Result:+--+-- > <p><span>foo</span></p>+--+p :: Html  -- ^ Inner HTML.+  -> Html  -- ^ Resulting HTML.+p = Parent "p" "<p" "</p>"+{-# INLINE p #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:226+--+-- | Combinator for the @\<param />@ element.+--+-- Example:+--+-- > param+--+-- Result:+--+-- > <param />+--+param :: Html  -- ^ Resulting HTML.+param = Leaf "param" "<param" " />"+{-# INLINE param #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<pre>@ element.+--+-- Example:+--+-- > pre $ span $ text "foo"+--+-- Result:+--+-- > <pre><span>foo</span></pre>+--+pre :: Html  -- ^ Inner HTML.+    -> Html  -- ^ Resulting HTML.+pre = Parent "pre" "<pre" "</pre>"+{-# INLINE pre #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<progress>@ element.+--+-- Example:+--+-- > progress $ span $ text "foo"+--+-- Result:+--+-- > <progress><span>foo</span></progress>+--+progress :: Html  -- ^ Inner HTML.+         -> Html  -- ^ Resulting HTML.+progress = Parent "progress" "<progress" "</progress>"+{-# INLINE progress #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<q>@ element.+--+-- Example:+--+-- > q $ span $ text "foo"+--+-- Result:+--+-- > <q><span>foo</span></q>+--+q :: Html  -- ^ Inner HTML.+  -> Html  -- ^ Resulting HTML.+q = Parent "q" "<q" "</q>"+{-# INLINE q #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<rp>@ element.+--+-- Example:+--+-- > rp $ span $ text "foo"+--+-- Result:+--+-- > <rp><span>foo</span></rp>+--+rp :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+rp = Parent "rp" "<rp" "</rp>"+{-# INLINE rp #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<rt>@ element.+--+-- Example:+--+-- > rt $ span $ text "foo"+--+-- Result:+--+-- > <rt><span>foo</span></rt>+--+rt :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+rt = Parent "rt" "<rt" "</rt>"+{-# INLINE rt #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<ruby>@ element.+--+-- Example:+--+-- > ruby $ span $ text "foo"+--+-- Result:+--+-- > <ruby><span>foo</span></ruby>+--+ruby :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+ruby = Parent "ruby" "<ruby" "</ruby>"+{-# INLINE ruby #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<samp>@ element.+--+-- Example:+--+-- > samp $ span $ text "foo"+--+-- Result:+--+-- > <samp><span>foo</span></samp>+--+samp :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+samp = Parent "samp" "<samp" "</samp>"+{-# INLINE samp #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<script>@ element.+--+-- Example:+--+-- > script $ span $ text "foo"+--+-- Result:+--+-- > <script><span>foo</span></script>+--+script :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+script = Parent "script" "<script" "</script>" . external+{-# INLINE script #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<section>@ element.+--+-- Example:+--+-- > section $ span $ text "foo"+--+-- Result:+--+-- > <section><span>foo</span></section>+--+section :: Html  -- ^ Inner HTML.+        -> Html  -- ^ Resulting HTML.+section = Parent "section" "<section" "</section>"+{-# INLINE section #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<select>@ element.+--+-- Example:+--+-- > select $ span $ text "foo"+--+-- Result:+--+-- > <select><span>foo</span></select>+--+select :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+select = Parent "select" "<select" "</select>"+{-# INLINE select #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<small>@ element.+--+-- Example:+--+-- > small $ span $ text "foo"+--+-- Result:+--+-- > <small><span>foo</span></small>+--+small :: Html  -- ^ Inner HTML.+      -> Html  -- ^ Resulting HTML.+small = Parent "small" "<small" "</small>"+{-# INLINE small #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<source>@ element.+--+-- Example:+--+-- > source $ span $ text "foo"+--+-- Result:+--+-- > <source><span>foo</span></source>+--+source :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+source = Parent "source" "<source" "</source>"+{-# INLINE source #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<span>@ element.+--+-- Example:+--+-- > span $ span $ text "foo"+--+-- Result:+--+-- > <span><span>foo</span></span>+--+span :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+span = Parent "span" "<span" "</span>"+{-# INLINE span #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<strong>@ element.+--+-- Example:+--+-- > strong $ span $ text "foo"+--+-- Result:+--+-- > <strong><span>foo</span></strong>+--+strong :: Html  -- ^ Inner HTML.+       -> Html  -- ^ Resulting HTML.+strong = Parent "strong" "<strong" "</strong>"+{-# INLINE strong #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<style>@ element.+--+-- Example:+--+-- > style $ span $ text "foo"+--+-- Result:+--+-- > <style><span>foo</span></style>+--+style :: Html  -- ^ Inner HTML.+      -> Html  -- ^ Resulting HTML.+style = Parent "style" "<style" "</style>" . external+{-# INLINE style #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<sub>@ element.+--+-- Example:+--+-- > sub $ span $ text "foo"+--+-- Result:+--+-- > <sub><span>foo</span></sub>+--+sub :: Html  -- ^ Inner HTML.+    -> Html  -- ^ Resulting HTML.+sub = Parent "sub" "<sub" "</sub>"+{-# INLINE sub #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<summary>@ element.+--+-- Example:+--+-- > summary $ span $ text "foo"+--+-- Result:+--+-- > <summary><span>foo</span></summary>+--+summary :: Html  -- ^ Inner HTML.+        -> Html  -- ^ Resulting HTML.+summary = Parent "summary" "<summary" "</summary>"+{-# INLINE summary #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<sup>@ element.+--+-- Example:+--+-- > sup $ span $ text "foo"+--+-- Result:+--+-- > <sup><span>foo</span></sup>+--+sup :: Html  -- ^ Inner HTML.+    -> Html  -- ^ Resulting HTML.+sup = Parent "sup" "<sup" "</sup>"+{-# INLINE sup #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<table>@ element.+--+-- Example:+--+-- > table $ span $ text "foo"+--+-- Result:+--+-- > <table><span>foo</span></table>+--+table :: Html  -- ^ Inner HTML.+      -> Html  -- ^ Resulting HTML.+table = Parent "table" "<table" "</table>"+{-# INLINE table #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<tbody>@ element.+--+-- Example:+--+-- > tbody $ span $ text "foo"+--+-- Result:+--+-- > <tbody><span>foo</span></tbody>+--+tbody :: Html  -- ^ Inner HTML.+      -> Html  -- ^ Resulting HTML.+tbody = Parent "tbody" "<tbody" "</tbody>"+{-# INLINE tbody #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<td>@ element.+--+-- Example:+--+-- > td $ span $ text "foo"+--+-- Result:+--+-- > <td><span>foo</span></td>+--+td :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+td = Parent "td" "<td" "</td>"+{-# INLINE td #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<textarea>@ element.+--+-- Example:+--+-- > textarea $ span $ text "foo"+--+-- Result:+--+-- > <textarea><span>foo</span></textarea>+--+textarea :: Html  -- ^ Inner HTML.+         -> Html  -- ^ Resulting HTML.+textarea = Parent "textarea" "<textarea" "</textarea>"+{-# INLINE textarea #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<tfoot>@ element.+--+-- Example:+--+-- > tfoot $ span $ text "foo"+--+-- Result:+--+-- > <tfoot><span>foo</span></tfoot>+--+tfoot :: Html  -- ^ Inner HTML.+      -> Html  -- ^ Resulting HTML.+tfoot = Parent "tfoot" "<tfoot" "</tfoot>"+{-# INLINE tfoot #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<th>@ element.+--+-- Example:+--+-- > th $ span $ text "foo"+--+-- Result:+--+-- > <th><span>foo</span></th>+--+th :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+th = Parent "th" "<th" "</th>"+{-# INLINE th #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<thead>@ element.+--+-- Example:+--+-- > thead $ span $ text "foo"+--+-- Result:+--+-- > <thead><span>foo</span></thead>+--+thead :: Html  -- ^ Inner HTML.+      -> Html  -- ^ Resulting HTML.+thead = Parent "thead" "<thead" "</thead>"+{-# INLINE thead #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<time>@ element.+--+-- Example:+--+-- > time $ span $ text "foo"+--+-- Result:+--+-- > <time><span>foo</span></time>+--+time :: Html  -- ^ Inner HTML.+     -> Html  -- ^ Resulting HTML.+time = Parent "time" "<time" "</time>"+{-# INLINE time #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<title>@ element.+--+-- Example:+--+-- > title $ span $ text "foo"+--+-- Result:+--+-- > <title><span>foo</span></title>+--+title :: Html  -- ^ Inner HTML.+      -> Html  -- ^ Resulting HTML.+title = Parent "title" "<title" "</title>"+{-# INLINE title #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<tr>@ element.+--+-- Example:+--+-- > tr $ span $ text "foo"+--+-- Result:+--+-- > <tr><span>foo</span></tr>+--+tr :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+tr = Parent "tr" "<tr" "</tr>"+{-# INLINE tr #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<ul>@ element.+--+-- Example:+--+-- > ul $ span $ text "foo"+--+-- Result:+--+-- > <ul><span>foo</span></ul>+--+ul :: Html  -- ^ Inner HTML.+   -> Html  -- ^ Resulting HTML.+ul = Parent "ul" "<ul" "</ul>"+{-# INLINE ul #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<var>@ element.+--+-- Example:+--+-- > var $ span $ text "foo"+--+-- Result:+--+-- > <var><span>foo</span></var>+--+var :: Html  -- ^ Inner HTML.+    -> Html  -- ^ Resulting HTML.+var = Parent "var" "<var" "</var>"+{-# INLINE var #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:199+--+-- | Combinator for the @\<video>@ element.+--+-- Example:+--+-- > video $ span $ text "foo"+--+-- Result:+--+-- > <video><span>foo</span></video>+--+video :: Html  -- ^ Inner HTML.+      -> Html  -- ^ Resulting HTML.+video = Parent "video" "<video" "</video>"+{-# INLINE video #-}
+ src/Text/Blaze/XHtml5/Attributes.hs view
@@ -0,0 +1,3170 @@+-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:93+--+-- | This module exports combinators that provide you with the+-- ability to set attributes on HTML elements.+--+{-# LANGUAGE OverloadedStrings #-}+module Text.Blaze.XHtml5.Attributes+    ( accept+    , acceptCharset+    , accesskey+    , action+    , alt+    , async+    , autocomplete+    , autofocus+    , autoplay+    , challenge+    , charset+    , checked+    , cite+    , class_+    , cols+    , colspan+    , content+    , contenteditable+    , contextmenu+    , controls+    , coords+    , data_+    , datetime+    , defer+    , dir+    , disabled+    , draggable+    , enctype+    , for+    , form+    , formaction+    , formenctype+    , formmethod+    , formnovalidate+    , formtarget+    , headers+    , height+    , hidden+    , high+    , href+    , hreflang+    , httpEquiv+    , icon+    , id+    , ismap+    , item+    , itemprop+    , keytype+    , label+    , lang+    , list+    , loop+    , low+    , manifest+    , max+    , maxlength+    , media+    , method+    , min+    , multiple+    , name+    , novalidate+    , onbeforeonload+    , onbeforeprint+    , onblur+    , oncanplay+    , oncanplaythrough+    , onchange+    , onclick+    , oncontextmenu+    , ondblclick+    , ondrag+    , ondragend+    , ondragenter+    , ondragleave+    , ondragover+    , ondragstart+    , ondrop+    , ondurationchange+    , onemptied+    , onended+    , onerror+    , onfocus+    , onformchange+    , onforminput+    , onhaschange+    , oninput+    , oninvalid+    , onkeydown+    , onkeyup+    , onload+    , onloadeddata+    , onloadedmetadata+    , onloadstart+    , onmessage+    , onmousedown+    , onmousemove+    , onmouseout+    , onmouseover+    , onmouseup+    , onmousewheel+    , ononline+    , onpagehide+    , onpageshow+    , onpause+    , onplay+    , onplaying+    , onprogress+    , onpropstate+    , onratechange+    , onreadystatechange+    , onredo+    , onresize+    , onscroll+    , onseeked+    , onseeking+    , onselect+    , onstalled+    , onstorage+    , onsubmit+    , onsuspend+    , ontimeupdate+    , onundo+    , onunload+    , onvolumechange+    , onwaiting+    , open+    , optimum+    , pattern+    , ping+    , placeholder+    , preload+    , pubdate+    , radiogroup+    , readonly+    , rel+    , required+    , reversed+    , rows+    , rowspan+    , sandbox+    , scope+    , scoped+    , seamless+    , selected+    , shape+    , size+    , sizes+    , span+    , spellcheck+    , src+    , srcdoc+    , start+    , step+    , style+    , subject+    , summary+    , tabindex+    , target+    , title+    , type_+    , usemap+    , value+    , width+    , wrap+    , xmlns+    ) where++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:99+--+import Prelude ()++import Text.Blaze.Internal (Attribute, AttributeValue, attribute)++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @accept@ attribute.+--+-- Example:+--+-- > div ! accept "bar" $ "Hello."+--+-- Result:+--+-- > <div accept="bar">Hello.</div>+--+accept :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+accept = attribute "accept" " accept=\""+{-# INLINE accept #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @accept-charset@ attribute.+--+-- Example:+--+-- > div ! acceptCharset "bar" $ "Hello."+--+-- Result:+--+-- > <div accept-charset="bar">Hello.</div>+--+acceptCharset :: AttributeValue  -- ^ Attribute value.+              -> Attribute       -- ^ Resulting attribute.+acceptCharset = attribute "accept-charset" " accept-charset=\""+{-# INLINE acceptCharset #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @accesskey@ attribute.+--+-- Example:+--+-- > div ! accesskey "bar" $ "Hello."+--+-- Result:+--+-- > <div accesskey="bar">Hello.</div>+--+accesskey :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+accesskey = attribute "accesskey" " accesskey=\""+{-# INLINE accesskey #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @action@ attribute.+--+-- Example:+--+-- > div ! action "bar" $ "Hello."+--+-- Result:+--+-- > <div action="bar">Hello.</div>+--+action :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+action = attribute "action" " action=\""+{-# INLINE action #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @alt@ attribute.+--+-- Example:+--+-- > div ! alt "bar" $ "Hello."+--+-- Result:+--+-- > <div alt="bar">Hello.</div>+--+alt :: AttributeValue  -- ^ Attribute value.+    -> Attribute       -- ^ Resulting attribute.+alt = attribute "alt" " alt=\""+{-# INLINE alt #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @async@ attribute.+--+-- Example:+--+-- > div ! async "bar" $ "Hello."+--+-- Result:+--+-- > <div async="bar">Hello.</div>+--+async :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+async = attribute "async" " async=\""+{-# INLINE async #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @autocomplete@ attribute.+--+-- Example:+--+-- > div ! autocomplete "bar" $ "Hello."+--+-- Result:+--+-- > <div autocomplete="bar">Hello.</div>+--+autocomplete :: AttributeValue  -- ^ Attribute value.+             -> Attribute       -- ^ Resulting attribute.+autocomplete = attribute "autocomplete" " autocomplete=\""+{-# INLINE autocomplete #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @autofocus@ attribute.+--+-- Example:+--+-- > div ! autofocus "bar" $ "Hello."+--+-- Result:+--+-- > <div autofocus="bar">Hello.</div>+--+autofocus :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+autofocus = attribute "autofocus" " autofocus=\""+{-# INLINE autofocus #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @autoplay@ attribute.+--+-- Example:+--+-- > div ! autoplay "bar" $ "Hello."+--+-- Result:+--+-- > <div autoplay="bar">Hello.</div>+--+autoplay :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+autoplay = attribute "autoplay" " autoplay=\""+{-# INLINE autoplay #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @challenge@ attribute.+--+-- Example:+--+-- > div ! challenge "bar" $ "Hello."+--+-- Result:+--+-- > <div challenge="bar">Hello.</div>+--+challenge :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+challenge = attribute "challenge" " challenge=\""+{-# INLINE challenge #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @charset@ attribute.+--+-- Example:+--+-- > div ! charset "bar" $ "Hello."+--+-- Result:+--+-- > <div charset="bar">Hello.</div>+--+charset :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+charset = attribute "charset" " charset=\""+{-# INLINE charset #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @checked@ attribute.+--+-- Example:+--+-- > div ! checked "bar" $ "Hello."+--+-- Result:+--+-- > <div checked="bar">Hello.</div>+--+checked :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+checked = attribute "checked" " checked=\""+{-# INLINE checked #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @cite@ attribute.+--+-- Example:+--+-- > div ! cite "bar" $ "Hello."+--+-- Result:+--+-- > <div cite="bar">Hello.</div>+--+cite :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+cite = attribute "cite" " cite=\""+{-# INLINE cite #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @class@ attribute.+--+-- Example:+--+-- > div ! class_ "bar" $ "Hello."+--+-- Result:+--+-- > <div class="bar">Hello.</div>+--+class_ :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+class_ = attribute "class" " class=\""+{-# INLINE class_ #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @cols@ attribute.+--+-- Example:+--+-- > div ! cols "bar" $ "Hello."+--+-- Result:+--+-- > <div cols="bar">Hello.</div>+--+cols :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+cols = attribute "cols" " cols=\""+{-# INLINE cols #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @colspan@ attribute.+--+-- Example:+--+-- > div ! colspan "bar" $ "Hello."+--+-- Result:+--+-- > <div colspan="bar">Hello.</div>+--+colspan :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+colspan = attribute "colspan" " colspan=\""+{-# INLINE colspan #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @content@ attribute.+--+-- Example:+--+-- > div ! content "bar" $ "Hello."+--+-- Result:+--+-- > <div content="bar">Hello.</div>+--+content :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+content = attribute "content" " content=\""+{-# INLINE content #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @contenteditable@ attribute.+--+-- Example:+--+-- > div ! contenteditable "bar" $ "Hello."+--+-- Result:+--+-- > <div contenteditable="bar">Hello.</div>+--+contenteditable :: AttributeValue  -- ^ Attribute value.+                -> Attribute       -- ^ Resulting attribute.+contenteditable = attribute "contenteditable" " contenteditable=\""+{-# INLINE contenteditable #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @contextmenu@ attribute.+--+-- Example:+--+-- > div ! contextmenu "bar" $ "Hello."+--+-- Result:+--+-- > <div contextmenu="bar">Hello.</div>+--+contextmenu :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+contextmenu = attribute "contextmenu" " contextmenu=\""+{-# INLINE contextmenu #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @controls@ attribute.+--+-- Example:+--+-- > div ! controls "bar" $ "Hello."+--+-- Result:+--+-- > <div controls="bar">Hello.</div>+--+controls :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+controls = attribute "controls" " controls=\""+{-# INLINE controls #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @coords@ attribute.+--+-- Example:+--+-- > div ! coords "bar" $ "Hello."+--+-- Result:+--+-- > <div coords="bar">Hello.</div>+--+coords :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+coords = attribute "coords" " coords=\""+{-# INLINE coords #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @data@ attribute.+--+-- Example:+--+-- > div ! data_ "bar" $ "Hello."+--+-- Result:+--+-- > <div data="bar">Hello.</div>+--+data_ :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+data_ = attribute "data" " data=\""+{-# INLINE data_ #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @datetime@ attribute.+--+-- Example:+--+-- > div ! datetime "bar" $ "Hello."+--+-- Result:+--+-- > <div datetime="bar">Hello.</div>+--+datetime :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+datetime = attribute "datetime" " datetime=\""+{-# INLINE datetime #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @defer@ attribute.+--+-- Example:+--+-- > div ! defer "bar" $ "Hello."+--+-- Result:+--+-- > <div defer="bar">Hello.</div>+--+defer :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+defer = attribute "defer" " defer=\""+{-# INLINE defer #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @dir@ attribute.+--+-- Example:+--+-- > div ! dir "bar" $ "Hello."+--+-- Result:+--+-- > <div dir="bar">Hello.</div>+--+dir :: AttributeValue  -- ^ Attribute value.+    -> Attribute       -- ^ Resulting attribute.+dir = attribute "dir" " dir=\""+{-# INLINE dir #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @disabled@ attribute.+--+-- Example:+--+-- > div ! disabled "bar" $ "Hello."+--+-- Result:+--+-- > <div disabled="bar">Hello.</div>+--+disabled :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+disabled = attribute "disabled" " disabled=\""+{-# INLINE disabled #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @draggable@ attribute.+--+-- Example:+--+-- > div ! draggable "bar" $ "Hello."+--+-- Result:+--+-- > <div draggable="bar">Hello.</div>+--+draggable :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+draggable = attribute "draggable" " draggable=\""+{-# INLINE draggable #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @enctype@ attribute.+--+-- Example:+--+-- > div ! enctype "bar" $ "Hello."+--+-- Result:+--+-- > <div enctype="bar">Hello.</div>+--+enctype :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+enctype = attribute "enctype" " enctype=\""+{-# INLINE enctype #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @for@ attribute.+--+-- Example:+--+-- > div ! for "bar" $ "Hello."+--+-- Result:+--+-- > <div for="bar">Hello.</div>+--+for :: AttributeValue  -- ^ Attribute value.+    -> Attribute       -- ^ Resulting attribute.+for = attribute "for" " for=\""+{-# INLINE for #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @form@ attribute.+--+-- Example:+--+-- > div ! form "bar" $ "Hello."+--+-- Result:+--+-- > <div form="bar">Hello.</div>+--+form :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+form = attribute "form" " form=\""+{-# INLINE form #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @formaction@ attribute.+--+-- Example:+--+-- > div ! formaction "bar" $ "Hello."+--+-- Result:+--+-- > <div formaction="bar">Hello.</div>+--+formaction :: AttributeValue  -- ^ Attribute value.+           -> Attribute       -- ^ Resulting attribute.+formaction = attribute "formaction" " formaction=\""+{-# INLINE formaction #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @formenctype@ attribute.+--+-- Example:+--+-- > div ! formenctype "bar" $ "Hello."+--+-- Result:+--+-- > <div formenctype="bar">Hello.</div>+--+formenctype :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+formenctype = attribute "formenctype" " formenctype=\""+{-# INLINE formenctype #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @formmethod@ attribute.+--+-- Example:+--+-- > div ! formmethod "bar" $ "Hello."+--+-- Result:+--+-- > <div formmethod="bar">Hello.</div>+--+formmethod :: AttributeValue  -- ^ Attribute value.+           -> Attribute       -- ^ Resulting attribute.+formmethod = attribute "formmethod" " formmethod=\""+{-# INLINE formmethod #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @formnovalidate@ attribute.+--+-- Example:+--+-- > div ! formnovalidate "bar" $ "Hello."+--+-- Result:+--+-- > <div formnovalidate="bar">Hello.</div>+--+formnovalidate :: AttributeValue  -- ^ Attribute value.+               -> Attribute       -- ^ Resulting attribute.+formnovalidate = attribute "formnovalidate" " formnovalidate=\""+{-# INLINE formnovalidate #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @formtarget@ attribute.+--+-- Example:+--+-- > div ! formtarget "bar" $ "Hello."+--+-- Result:+--+-- > <div formtarget="bar">Hello.</div>+--+formtarget :: AttributeValue  -- ^ Attribute value.+           -> Attribute       -- ^ Resulting attribute.+formtarget = attribute "formtarget" " formtarget=\""+{-# INLINE formtarget #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @headers@ attribute.+--+-- Example:+--+-- > div ! headers "bar" $ "Hello."+--+-- Result:+--+-- > <div headers="bar">Hello.</div>+--+headers :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+headers = attribute "headers" " headers=\""+{-# INLINE headers #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @height@ attribute.+--+-- Example:+--+-- > div ! height "bar" $ "Hello."+--+-- Result:+--+-- > <div height="bar">Hello.</div>+--+height :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+height = attribute "height" " height=\""+{-# INLINE height #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @hidden@ attribute.+--+-- Example:+--+-- > div ! hidden "bar" $ "Hello."+--+-- Result:+--+-- > <div hidden="bar">Hello.</div>+--+hidden :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+hidden = attribute "hidden" " hidden=\""+{-# INLINE hidden #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @high@ attribute.+--+-- Example:+--+-- > div ! high "bar" $ "Hello."+--+-- Result:+--+-- > <div high="bar">Hello.</div>+--+high :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+high = attribute "high" " high=\""+{-# INLINE high #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @href@ attribute.+--+-- Example:+--+-- > div ! href "bar" $ "Hello."+--+-- Result:+--+-- > <div href="bar">Hello.</div>+--+href :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+href = attribute "href" " href=\""+{-# INLINE href #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @hreflang@ attribute.+--+-- Example:+--+-- > div ! hreflang "bar" $ "Hello."+--+-- Result:+--+-- > <div hreflang="bar">Hello.</div>+--+hreflang :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+hreflang = attribute "hreflang" " hreflang=\""+{-# INLINE hreflang #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @http-equiv@ attribute.+--+-- Example:+--+-- > div ! httpEquiv "bar" $ "Hello."+--+-- Result:+--+-- > <div http-equiv="bar">Hello.</div>+--+httpEquiv :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+httpEquiv = attribute "http-equiv" " http-equiv=\""+{-# INLINE httpEquiv #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @icon@ attribute.+--+-- Example:+--+-- > div ! icon "bar" $ "Hello."+--+-- Result:+--+-- > <div icon="bar">Hello.</div>+--+icon :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+icon = attribute "icon" " icon=\""+{-# INLINE icon #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @id@ attribute.+--+-- Example:+--+-- > div ! id "bar" $ "Hello."+--+-- Result:+--+-- > <div id="bar">Hello.</div>+--+id :: AttributeValue  -- ^ Attribute value.+   -> Attribute       -- ^ Resulting attribute.+id = attribute "id" " id=\""+{-# INLINE id #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ismap@ attribute.+--+-- Example:+--+-- > div ! ismap "bar" $ "Hello."+--+-- Result:+--+-- > <div ismap="bar">Hello.</div>+--+ismap :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+ismap = attribute "ismap" " ismap=\""+{-# INLINE ismap #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @item@ attribute.+--+-- Example:+--+-- > div ! item "bar" $ "Hello."+--+-- Result:+--+-- > <div item="bar">Hello.</div>+--+item :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+item = attribute "item" " item=\""+{-# INLINE item #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @itemprop@ attribute.+--+-- Example:+--+-- > div ! itemprop "bar" $ "Hello."+--+-- Result:+--+-- > <div itemprop="bar">Hello.</div>+--+itemprop :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+itemprop = attribute "itemprop" " itemprop=\""+{-# INLINE itemprop #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @keytype@ attribute.+--+-- Example:+--+-- > div ! keytype "bar" $ "Hello."+--+-- Result:+--+-- > <div keytype="bar">Hello.</div>+--+keytype :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+keytype = attribute "keytype" " keytype=\""+{-# INLINE keytype #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @label@ attribute.+--+-- Example:+--+-- > div ! label "bar" $ "Hello."+--+-- Result:+--+-- > <div label="bar">Hello.</div>+--+label :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+label = attribute "label" " label=\""+{-# INLINE label #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @lang@ attribute.+--+-- Example:+--+-- > div ! lang "bar" $ "Hello."+--+-- Result:+--+-- > <div lang="bar">Hello.</div>+--+lang :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+lang = attribute "lang" " lang=\""+{-# INLINE lang #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @list@ attribute.+--+-- Example:+--+-- > div ! list "bar" $ "Hello."+--+-- Result:+--+-- > <div list="bar">Hello.</div>+--+list :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+list = attribute "list" " list=\""+{-# INLINE list #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @loop@ attribute.+--+-- Example:+--+-- > div ! loop "bar" $ "Hello."+--+-- Result:+--+-- > <div loop="bar">Hello.</div>+--+loop :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+loop = attribute "loop" " loop=\""+{-# INLINE loop #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @low@ attribute.+--+-- Example:+--+-- > div ! low "bar" $ "Hello."+--+-- Result:+--+-- > <div low="bar">Hello.</div>+--+low :: AttributeValue  -- ^ Attribute value.+    -> Attribute       -- ^ Resulting attribute.+low = attribute "low" " low=\""+{-# INLINE low #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @manifest@ attribute.+--+-- Example:+--+-- > div ! manifest "bar" $ "Hello."+--+-- Result:+--+-- > <div manifest="bar">Hello.</div>+--+manifest :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+manifest = attribute "manifest" " manifest=\""+{-# INLINE manifest #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @max@ attribute.+--+-- Example:+--+-- > div ! max "bar" $ "Hello."+--+-- Result:+--+-- > <div max="bar">Hello.</div>+--+max :: AttributeValue  -- ^ Attribute value.+    -> Attribute       -- ^ Resulting attribute.+max = attribute "max" " max=\""+{-# INLINE max #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @maxlength@ attribute.+--+-- Example:+--+-- > div ! maxlength "bar" $ "Hello."+--+-- Result:+--+-- > <div maxlength="bar">Hello.</div>+--+maxlength :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+maxlength = attribute "maxlength" " maxlength=\""+{-# INLINE maxlength #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @media@ attribute.+--+-- Example:+--+-- > div ! media "bar" $ "Hello."+--+-- Result:+--+-- > <div media="bar">Hello.</div>+--+media :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+media = attribute "media" " media=\""+{-# INLINE media #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @method@ attribute.+--+-- Example:+--+-- > div ! method "bar" $ "Hello."+--+-- Result:+--+-- > <div method="bar">Hello.</div>+--+method :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+method = attribute "method" " method=\""+{-# INLINE method #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @min@ attribute.+--+-- Example:+--+-- > div ! min "bar" $ "Hello."+--+-- Result:+--+-- > <div min="bar">Hello.</div>+--+min :: AttributeValue  -- ^ Attribute value.+    -> Attribute       -- ^ Resulting attribute.+min = attribute "min" " min=\""+{-# INLINE min #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @multiple@ attribute.+--+-- Example:+--+-- > div ! multiple "bar" $ "Hello."+--+-- Result:+--+-- > <div multiple="bar">Hello.</div>+--+multiple :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+multiple = attribute "multiple" " multiple=\""+{-# INLINE multiple #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @name@ attribute.+--+-- Example:+--+-- > div ! name "bar" $ "Hello."+--+-- Result:+--+-- > <div name="bar">Hello.</div>+--+name :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+name = attribute "name" " name=\""+{-# INLINE name #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @novalidate@ attribute.+--+-- Example:+--+-- > div ! novalidate "bar" $ "Hello."+--+-- Result:+--+-- > <div novalidate="bar">Hello.</div>+--+novalidate :: AttributeValue  -- ^ Attribute value.+           -> Attribute       -- ^ Resulting attribute.+novalidate = attribute "novalidate" " novalidate=\""+{-# INLINE novalidate #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onbeforeonload@ attribute.+--+-- Example:+--+-- > div ! onbeforeonload "bar" $ "Hello."+--+-- Result:+--+-- > <div onbeforeonload="bar">Hello.</div>+--+onbeforeonload :: AttributeValue  -- ^ Attribute value.+               -> Attribute       -- ^ Resulting attribute.+onbeforeonload = attribute "onbeforeonload" " onbeforeonload=\""+{-# INLINE onbeforeonload #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onbeforeprint@ attribute.+--+-- Example:+--+-- > div ! onbeforeprint "bar" $ "Hello."+--+-- Result:+--+-- > <div onbeforeprint="bar">Hello.</div>+--+onbeforeprint :: AttributeValue  -- ^ Attribute value.+              -> Attribute       -- ^ Resulting attribute.+onbeforeprint = attribute "onbeforeprint" " onbeforeprint=\""+{-# INLINE onbeforeprint #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onblur@ attribute.+--+-- Example:+--+-- > div ! onblur "bar" $ "Hello."+--+-- Result:+--+-- > <div onblur="bar">Hello.</div>+--+onblur :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+onblur = attribute "onblur" " onblur=\""+{-# INLINE onblur #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @oncanplay@ attribute.+--+-- Example:+--+-- > div ! oncanplay "bar" $ "Hello."+--+-- Result:+--+-- > <div oncanplay="bar">Hello.</div>+--+oncanplay :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+oncanplay = attribute "oncanplay" " oncanplay=\""+{-# INLINE oncanplay #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @oncanplaythrough@ attribute.+--+-- Example:+--+-- > div ! oncanplaythrough "bar" $ "Hello."+--+-- Result:+--+-- > <div oncanplaythrough="bar">Hello.</div>+--+oncanplaythrough :: AttributeValue  -- ^ Attribute value.+                 -> Attribute       -- ^ Resulting attribute.+oncanplaythrough = attribute "oncanplaythrough" " oncanplaythrough=\""+{-# INLINE oncanplaythrough #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onchange@ attribute.+--+-- Example:+--+-- > div ! onchange "bar" $ "Hello."+--+-- Result:+--+-- > <div onchange="bar">Hello.</div>+--+onchange :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+onchange = attribute "onchange" " onchange=\""+{-# INLINE onchange #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onclick@ attribute.+--+-- Example:+--+-- > div ! onclick "bar" $ "Hello."+--+-- Result:+--+-- > <div onclick="bar">Hello.</div>+--+onclick :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+onclick = attribute "onclick" " onclick=\""+{-# INLINE onclick #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @oncontextmenu@ attribute.+--+-- Example:+--+-- > div ! oncontextmenu "bar" $ "Hello."+--+-- Result:+--+-- > <div oncontextmenu="bar">Hello.</div>+--+oncontextmenu :: AttributeValue  -- ^ Attribute value.+              -> Attribute       -- ^ Resulting attribute.+oncontextmenu = attribute "oncontextmenu" " oncontextmenu=\""+{-# INLINE oncontextmenu #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ondblclick@ attribute.+--+-- Example:+--+-- > div ! ondblclick "bar" $ "Hello."+--+-- Result:+--+-- > <div ondblclick="bar">Hello.</div>+--+ondblclick :: AttributeValue  -- ^ Attribute value.+           -> Attribute       -- ^ Resulting attribute.+ondblclick = attribute "ondblclick" " ondblclick=\""+{-# INLINE ondblclick #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ondrag@ attribute.+--+-- Example:+--+-- > div ! ondrag "bar" $ "Hello."+--+-- Result:+--+-- > <div ondrag="bar">Hello.</div>+--+ondrag :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+ondrag = attribute "ondrag" " ondrag=\""+{-# INLINE ondrag #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ondragend@ attribute.+--+-- Example:+--+-- > div ! ondragend "bar" $ "Hello."+--+-- Result:+--+-- > <div ondragend="bar">Hello.</div>+--+ondragend :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+ondragend = attribute "ondragend" " ondragend=\""+{-# INLINE ondragend #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ondragenter@ attribute.+--+-- Example:+--+-- > div ! ondragenter "bar" $ "Hello."+--+-- Result:+--+-- > <div ondragenter="bar">Hello.</div>+--+ondragenter :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+ondragenter = attribute "ondragenter" " ondragenter=\""+{-# INLINE ondragenter #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ondragleave@ attribute.+--+-- Example:+--+-- > div ! ondragleave "bar" $ "Hello."+--+-- Result:+--+-- > <div ondragleave="bar">Hello.</div>+--+ondragleave :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+ondragleave = attribute "ondragleave" " ondragleave=\""+{-# INLINE ondragleave #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ondragover@ attribute.+--+-- Example:+--+-- > div ! ondragover "bar" $ "Hello."+--+-- Result:+--+-- > <div ondragover="bar">Hello.</div>+--+ondragover :: AttributeValue  -- ^ Attribute value.+           -> Attribute       -- ^ Resulting attribute.+ondragover = attribute "ondragover" " ondragover=\""+{-# INLINE ondragover #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ondragstart@ attribute.+--+-- Example:+--+-- > div ! ondragstart "bar" $ "Hello."+--+-- Result:+--+-- > <div ondragstart="bar">Hello.</div>+--+ondragstart :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+ondragstart = attribute "ondragstart" " ondragstart=\""+{-# INLINE ondragstart #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ondrop@ attribute.+--+-- Example:+--+-- > div ! ondrop "bar" $ "Hello."+--+-- Result:+--+-- > <div ondrop="bar">Hello.</div>+--+ondrop :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+ondrop = attribute "ondrop" " ondrop=\""+{-# INLINE ondrop #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ondurationchange@ attribute.+--+-- Example:+--+-- > div ! ondurationchange "bar" $ "Hello."+--+-- Result:+--+-- > <div ondurationchange="bar">Hello.</div>+--+ondurationchange :: AttributeValue  -- ^ Attribute value.+                 -> Attribute       -- ^ Resulting attribute.+ondurationchange = attribute "ondurationchange" " ondurationchange=\""+{-# INLINE ondurationchange #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onemptied@ attribute.+--+-- Example:+--+-- > div ! onemptied "bar" $ "Hello."+--+-- Result:+--+-- > <div onemptied="bar">Hello.</div>+--+onemptied :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+onemptied = attribute "onemptied" " onemptied=\""+{-# INLINE onemptied #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onended@ attribute.+--+-- Example:+--+-- > div ! onended "bar" $ "Hello."+--+-- Result:+--+-- > <div onended="bar">Hello.</div>+--+onended :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+onended = attribute "onended" " onended=\""+{-# INLINE onended #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onerror@ attribute.+--+-- Example:+--+-- > div ! onerror "bar" $ "Hello."+--+-- Result:+--+-- > <div onerror="bar">Hello.</div>+--+onerror :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+onerror = attribute "onerror" " onerror=\""+{-# INLINE onerror #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onfocus@ attribute.+--+-- Example:+--+-- > div ! onfocus "bar" $ "Hello."+--+-- Result:+--+-- > <div onfocus="bar">Hello.</div>+--+onfocus :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+onfocus = attribute "onfocus" " onfocus=\""+{-# INLINE onfocus #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onformchange@ attribute.+--+-- Example:+--+-- > div ! onformchange "bar" $ "Hello."+--+-- Result:+--+-- > <div onformchange="bar">Hello.</div>+--+onformchange :: AttributeValue  -- ^ Attribute value.+             -> Attribute       -- ^ Resulting attribute.+onformchange = attribute "onformchange" " onformchange=\""+{-# INLINE onformchange #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onforminput@ attribute.+--+-- Example:+--+-- > div ! onforminput "bar" $ "Hello."+--+-- Result:+--+-- > <div onforminput="bar">Hello.</div>+--+onforminput :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+onforminput = attribute "onforminput" " onforminput=\""+{-# INLINE onforminput #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onhaschange@ attribute.+--+-- Example:+--+-- > div ! onhaschange "bar" $ "Hello."+--+-- Result:+--+-- > <div onhaschange="bar">Hello.</div>+--+onhaschange :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+onhaschange = attribute "onhaschange" " onhaschange=\""+{-# INLINE onhaschange #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @oninput@ attribute.+--+-- Example:+--+-- > div ! oninput "bar" $ "Hello."+--+-- Result:+--+-- > <div oninput="bar">Hello.</div>+--+oninput :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+oninput = attribute "oninput" " oninput=\""+{-# INLINE oninput #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @oninvalid@ attribute.+--+-- Example:+--+-- > div ! oninvalid "bar" $ "Hello."+--+-- Result:+--+-- > <div oninvalid="bar">Hello.</div>+--+oninvalid :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+oninvalid = attribute "oninvalid" " oninvalid=\""+{-# INLINE oninvalid #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onkeydown@ attribute.+--+-- Example:+--+-- > div ! onkeydown "bar" $ "Hello."+--+-- Result:+--+-- > <div onkeydown="bar">Hello.</div>+--+onkeydown :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+onkeydown = attribute "onkeydown" " onkeydown=\""+{-# INLINE onkeydown #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onkeyup@ attribute.+--+-- Example:+--+-- > div ! onkeyup "bar" $ "Hello."+--+-- Result:+--+-- > <div onkeyup="bar">Hello.</div>+--+onkeyup :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+onkeyup = attribute "onkeyup" " onkeyup=\""+{-# INLINE onkeyup #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onload@ attribute.+--+-- Example:+--+-- > div ! onload "bar" $ "Hello."+--+-- Result:+--+-- > <div onload="bar">Hello.</div>+--+onload :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+onload = attribute "onload" " onload=\""+{-# INLINE onload #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onloadeddata@ attribute.+--+-- Example:+--+-- > div ! onloadeddata "bar" $ "Hello."+--+-- Result:+--+-- > <div onloadeddata="bar">Hello.</div>+--+onloadeddata :: AttributeValue  -- ^ Attribute value.+             -> Attribute       -- ^ Resulting attribute.+onloadeddata = attribute "onloadeddata" " onloadeddata=\""+{-# INLINE onloadeddata #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onloadedmetadata@ attribute.+--+-- Example:+--+-- > div ! onloadedmetadata "bar" $ "Hello."+--+-- Result:+--+-- > <div onloadedmetadata="bar">Hello.</div>+--+onloadedmetadata :: AttributeValue  -- ^ Attribute value.+                 -> Attribute       -- ^ Resulting attribute.+onloadedmetadata = attribute "onloadedmetadata" " onloadedmetadata=\""+{-# INLINE onloadedmetadata #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onloadstart@ attribute.+--+-- Example:+--+-- > div ! onloadstart "bar" $ "Hello."+--+-- Result:+--+-- > <div onloadstart="bar">Hello.</div>+--+onloadstart :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+onloadstart = attribute "onloadstart" " onloadstart=\""+{-# INLINE onloadstart #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onmessage@ attribute.+--+-- Example:+--+-- > div ! onmessage "bar" $ "Hello."+--+-- Result:+--+-- > <div onmessage="bar">Hello.</div>+--+onmessage :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+onmessage = attribute "onmessage" " onmessage=\""+{-# INLINE onmessage #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onmousedown@ attribute.+--+-- Example:+--+-- > div ! onmousedown "bar" $ "Hello."+--+-- Result:+--+-- > <div onmousedown="bar">Hello.</div>+--+onmousedown :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+onmousedown = attribute "onmousedown" " onmousedown=\""+{-# INLINE onmousedown #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onmousemove@ attribute.+--+-- Example:+--+-- > div ! onmousemove "bar" $ "Hello."+--+-- Result:+--+-- > <div onmousemove="bar">Hello.</div>+--+onmousemove :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+onmousemove = attribute "onmousemove" " onmousemove=\""+{-# INLINE onmousemove #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onmouseout@ attribute.+--+-- Example:+--+-- > div ! onmouseout "bar" $ "Hello."+--+-- Result:+--+-- > <div onmouseout="bar">Hello.</div>+--+onmouseout :: AttributeValue  -- ^ Attribute value.+           -> Attribute       -- ^ Resulting attribute.+onmouseout = attribute "onmouseout" " onmouseout=\""+{-# INLINE onmouseout #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onmouseover@ attribute.+--+-- Example:+--+-- > div ! onmouseover "bar" $ "Hello."+--+-- Result:+--+-- > <div onmouseover="bar">Hello.</div>+--+onmouseover :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+onmouseover = attribute "onmouseover" " onmouseover=\""+{-# INLINE onmouseover #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onmouseup@ attribute.+--+-- Example:+--+-- > div ! onmouseup "bar" $ "Hello."+--+-- Result:+--+-- > <div onmouseup="bar">Hello.</div>+--+onmouseup :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+onmouseup = attribute "onmouseup" " onmouseup=\""+{-# INLINE onmouseup #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onmousewheel@ attribute.+--+-- Example:+--+-- > div ! onmousewheel "bar" $ "Hello."+--+-- Result:+--+-- > <div onmousewheel="bar">Hello.</div>+--+onmousewheel :: AttributeValue  -- ^ Attribute value.+             -> Attribute       -- ^ Resulting attribute.+onmousewheel = attribute "onmousewheel" " onmousewheel=\""+{-# INLINE onmousewheel #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ononline@ attribute.+--+-- Example:+--+-- > div ! ononline "bar" $ "Hello."+--+-- Result:+--+-- > <div ononline="bar">Hello.</div>+--+ononline :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+ononline = attribute "ononline" " ononline=\""+{-# INLINE ononline #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onpagehide@ attribute.+--+-- Example:+--+-- > div ! onpagehide "bar" $ "Hello."+--+-- Result:+--+-- > <div onpagehide="bar">Hello.</div>+--+onpagehide :: AttributeValue  -- ^ Attribute value.+           -> Attribute       -- ^ Resulting attribute.+onpagehide = attribute "onpagehide" " onpagehide=\""+{-# INLINE onpagehide #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onpageshow@ attribute.+--+-- Example:+--+-- > div ! onpageshow "bar" $ "Hello."+--+-- Result:+--+-- > <div onpageshow="bar">Hello.</div>+--+onpageshow :: AttributeValue  -- ^ Attribute value.+           -> Attribute       -- ^ Resulting attribute.+onpageshow = attribute "onpageshow" " onpageshow=\""+{-# INLINE onpageshow #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onpause@ attribute.+--+-- Example:+--+-- > div ! onpause "bar" $ "Hello."+--+-- Result:+--+-- > <div onpause="bar">Hello.</div>+--+onpause :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+onpause = attribute "onpause" " onpause=\""+{-# INLINE onpause #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onplay@ attribute.+--+-- Example:+--+-- > div ! onplay "bar" $ "Hello."+--+-- Result:+--+-- > <div onplay="bar">Hello.</div>+--+onplay :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+onplay = attribute "onplay" " onplay=\""+{-# INLINE onplay #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onplaying@ attribute.+--+-- Example:+--+-- > div ! onplaying "bar" $ "Hello."+--+-- Result:+--+-- > <div onplaying="bar">Hello.</div>+--+onplaying :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+onplaying = attribute "onplaying" " onplaying=\""+{-# INLINE onplaying #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onprogress@ attribute.+--+-- Example:+--+-- > div ! onprogress "bar" $ "Hello."+--+-- Result:+--+-- > <div onprogress="bar">Hello.</div>+--+onprogress :: AttributeValue  -- ^ Attribute value.+           -> Attribute       -- ^ Resulting attribute.+onprogress = attribute "onprogress" " onprogress=\""+{-# INLINE onprogress #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onpropstate@ attribute.+--+-- Example:+--+-- > div ! onpropstate "bar" $ "Hello."+--+-- Result:+--+-- > <div onpropstate="bar">Hello.</div>+--+onpropstate :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+onpropstate = attribute "onpropstate" " onpropstate=\""+{-# INLINE onpropstate #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onratechange@ attribute.+--+-- Example:+--+-- > div ! onratechange "bar" $ "Hello."+--+-- Result:+--+-- > <div onratechange="bar">Hello.</div>+--+onratechange :: AttributeValue  -- ^ Attribute value.+             -> Attribute       -- ^ Resulting attribute.+onratechange = attribute "onratechange" " onratechange=\""+{-# INLINE onratechange #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onreadystatechange@ attribute.+--+-- Example:+--+-- > div ! onreadystatechange "bar" $ "Hello."+--+-- Result:+--+-- > <div onreadystatechange="bar">Hello.</div>+--+onreadystatechange :: AttributeValue  -- ^ Attribute value.+                   -> Attribute       -- ^ Resulting attribute.+onreadystatechange = attribute "onreadystatechange" " onreadystatechange=\""+{-# INLINE onreadystatechange #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onredo@ attribute.+--+-- Example:+--+-- > div ! onredo "bar" $ "Hello."+--+-- Result:+--+-- > <div onredo="bar">Hello.</div>+--+onredo :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+onredo = attribute "onredo" " onredo=\""+{-# INLINE onredo #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onresize@ attribute.+--+-- Example:+--+-- > div ! onresize "bar" $ "Hello."+--+-- Result:+--+-- > <div onresize="bar">Hello.</div>+--+onresize :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+onresize = attribute "onresize" " onresize=\""+{-# INLINE onresize #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onscroll@ attribute.+--+-- Example:+--+-- > div ! onscroll "bar" $ "Hello."+--+-- Result:+--+-- > <div onscroll="bar">Hello.</div>+--+onscroll :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+onscroll = attribute "onscroll" " onscroll=\""+{-# INLINE onscroll #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onseeked@ attribute.+--+-- Example:+--+-- > div ! onseeked "bar" $ "Hello."+--+-- Result:+--+-- > <div onseeked="bar">Hello.</div>+--+onseeked :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+onseeked = attribute "onseeked" " onseeked=\""+{-# INLINE onseeked #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onseeking@ attribute.+--+-- Example:+--+-- > div ! onseeking "bar" $ "Hello."+--+-- Result:+--+-- > <div onseeking="bar">Hello.</div>+--+onseeking :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+onseeking = attribute "onseeking" " onseeking=\""+{-# INLINE onseeking #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onselect@ attribute.+--+-- Example:+--+-- > div ! onselect "bar" $ "Hello."+--+-- Result:+--+-- > <div onselect="bar">Hello.</div>+--+onselect :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+onselect = attribute "onselect" " onselect=\""+{-# INLINE onselect #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onstalled@ attribute.+--+-- Example:+--+-- > div ! onstalled "bar" $ "Hello."+--+-- Result:+--+-- > <div onstalled="bar">Hello.</div>+--+onstalled :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+onstalled = attribute "onstalled" " onstalled=\""+{-# INLINE onstalled #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onstorage@ attribute.+--+-- Example:+--+-- > div ! onstorage "bar" $ "Hello."+--+-- Result:+--+-- > <div onstorage="bar">Hello.</div>+--+onstorage :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+onstorage = attribute "onstorage" " onstorage=\""+{-# INLINE onstorage #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onsubmit@ attribute.+--+-- Example:+--+-- > div ! onsubmit "bar" $ "Hello."+--+-- Result:+--+-- > <div onsubmit="bar">Hello.</div>+--+onsubmit :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+onsubmit = attribute "onsubmit" " onsubmit=\""+{-# INLINE onsubmit #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onsuspend@ attribute.+--+-- Example:+--+-- > div ! onsuspend "bar" $ "Hello."+--+-- Result:+--+-- > <div onsuspend="bar">Hello.</div>+--+onsuspend :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+onsuspend = attribute "onsuspend" " onsuspend=\""+{-# INLINE onsuspend #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ontimeupdate@ attribute.+--+-- Example:+--+-- > div ! ontimeupdate "bar" $ "Hello."+--+-- Result:+--+-- > <div ontimeupdate="bar">Hello.</div>+--+ontimeupdate :: AttributeValue  -- ^ Attribute value.+             -> Attribute       -- ^ Resulting attribute.+ontimeupdate = attribute "ontimeupdate" " ontimeupdate=\""+{-# INLINE ontimeupdate #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onundo@ attribute.+--+-- Example:+--+-- > div ! onundo "bar" $ "Hello."+--+-- Result:+--+-- > <div onundo="bar">Hello.</div>+--+onundo :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+onundo = attribute "onundo" " onundo=\""+{-# INLINE onundo #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onunload@ attribute.+--+-- Example:+--+-- > div ! onunload "bar" $ "Hello."+--+-- Result:+--+-- > <div onunload="bar">Hello.</div>+--+onunload :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+onunload = attribute "onunload" " onunload=\""+{-# INLINE onunload #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onvolumechange@ attribute.+--+-- Example:+--+-- > div ! onvolumechange "bar" $ "Hello."+--+-- Result:+--+-- > <div onvolumechange="bar">Hello.</div>+--+onvolumechange :: AttributeValue  -- ^ Attribute value.+               -> Attribute       -- ^ Resulting attribute.+onvolumechange = attribute "onvolumechange" " onvolumechange=\""+{-# INLINE onvolumechange #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @onwaiting@ attribute.+--+-- Example:+--+-- > div ! onwaiting "bar" $ "Hello."+--+-- Result:+--+-- > <div onwaiting="bar">Hello.</div>+--+onwaiting :: AttributeValue  -- ^ Attribute value.+          -> Attribute       -- ^ Resulting attribute.+onwaiting = attribute "onwaiting" " onwaiting=\""+{-# INLINE onwaiting #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @open@ attribute.+--+-- Example:+--+-- > div ! open "bar" $ "Hello."+--+-- Result:+--+-- > <div open="bar">Hello.</div>+--+open :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+open = attribute "open" " open=\""+{-# INLINE open #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @optimum@ attribute.+--+-- Example:+--+-- > div ! optimum "bar" $ "Hello."+--+-- Result:+--+-- > <div optimum="bar">Hello.</div>+--+optimum :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+optimum = attribute "optimum" " optimum=\""+{-# INLINE optimum #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @pattern@ attribute.+--+-- Example:+--+-- > div ! pattern "bar" $ "Hello."+--+-- Result:+--+-- > <div pattern="bar">Hello.</div>+--+pattern :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+pattern = attribute "pattern" " pattern=\""+{-# INLINE pattern #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @ping@ attribute.+--+-- Example:+--+-- > div ! ping "bar" $ "Hello."+--+-- Result:+--+-- > <div ping="bar">Hello.</div>+--+ping :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+ping = attribute "ping" " ping=\""+{-# INLINE ping #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @placeholder@ attribute.+--+-- Example:+--+-- > div ! placeholder "bar" $ "Hello."+--+-- Result:+--+-- > <div placeholder="bar">Hello.</div>+--+placeholder :: AttributeValue  -- ^ Attribute value.+            -> Attribute       -- ^ Resulting attribute.+placeholder = attribute "placeholder" " placeholder=\""+{-# INLINE placeholder #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @preload@ attribute.+--+-- Example:+--+-- > div ! preload "bar" $ "Hello."+--+-- Result:+--+-- > <div preload="bar">Hello.</div>+--+preload :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+preload = attribute "preload" " preload=\""+{-# INLINE preload #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @pubdate@ attribute.+--+-- Example:+--+-- > div ! pubdate "bar" $ "Hello."+--+-- Result:+--+-- > <div pubdate="bar">Hello.</div>+--+pubdate :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+pubdate = attribute "pubdate" " pubdate=\""+{-# INLINE pubdate #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @radiogroup@ attribute.+--+-- Example:+--+-- > div ! radiogroup "bar" $ "Hello."+--+-- Result:+--+-- > <div radiogroup="bar">Hello.</div>+--+radiogroup :: AttributeValue  -- ^ Attribute value.+           -> Attribute       -- ^ Resulting attribute.+radiogroup = attribute "radiogroup" " radiogroup=\""+{-# INLINE radiogroup #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @readonly@ attribute.+--+-- Example:+--+-- > div ! readonly "bar" $ "Hello."+--+-- Result:+--+-- > <div readonly="bar">Hello.</div>+--+readonly :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+readonly = attribute "readonly" " readonly=\""+{-# INLINE readonly #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @rel@ attribute.+--+-- Example:+--+-- > div ! rel "bar" $ "Hello."+--+-- Result:+--+-- > <div rel="bar">Hello.</div>+--+rel :: AttributeValue  -- ^ Attribute value.+    -> Attribute       -- ^ Resulting attribute.+rel = attribute "rel" " rel=\""+{-# INLINE rel #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @required@ attribute.+--+-- Example:+--+-- > div ! required "bar" $ "Hello."+--+-- Result:+--+-- > <div required="bar">Hello.</div>+--+required :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+required = attribute "required" " required=\""+{-# INLINE required #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @reversed@ attribute.+--+-- Example:+--+-- > div ! reversed "bar" $ "Hello."+--+-- Result:+--+-- > <div reversed="bar">Hello.</div>+--+reversed :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+reversed = attribute "reversed" " reversed=\""+{-# INLINE reversed #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @rows@ attribute.+--+-- Example:+--+-- > div ! rows "bar" $ "Hello."+--+-- Result:+--+-- > <div rows="bar">Hello.</div>+--+rows :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+rows = attribute "rows" " rows=\""+{-# INLINE rows #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @rowspan@ attribute.+--+-- Example:+--+-- > div ! rowspan "bar" $ "Hello."+--+-- Result:+--+-- > <div rowspan="bar">Hello.</div>+--+rowspan :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+rowspan = attribute "rowspan" " rowspan=\""+{-# INLINE rowspan #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @sandbox@ attribute.+--+-- Example:+--+-- > div ! sandbox "bar" $ "Hello."+--+-- Result:+--+-- > <div sandbox="bar">Hello.</div>+--+sandbox :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+sandbox = attribute "sandbox" " sandbox=\""+{-# INLINE sandbox #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @scope@ attribute.+--+-- Example:+--+-- > div ! scope "bar" $ "Hello."+--+-- Result:+--+-- > <div scope="bar">Hello.</div>+--+scope :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+scope = attribute "scope" " scope=\""+{-# INLINE scope #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @scoped@ attribute.+--+-- Example:+--+-- > div ! scoped "bar" $ "Hello."+--+-- Result:+--+-- > <div scoped="bar">Hello.</div>+--+scoped :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+scoped = attribute "scoped" " scoped=\""+{-# INLINE scoped #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @seamless@ attribute.+--+-- Example:+--+-- > div ! seamless "bar" $ "Hello."+--+-- Result:+--+-- > <div seamless="bar">Hello.</div>+--+seamless :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+seamless = attribute "seamless" " seamless=\""+{-# INLINE seamless #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @selected@ attribute.+--+-- Example:+--+-- > div ! selected "bar" $ "Hello."+--+-- Result:+--+-- > <div selected="bar">Hello.</div>+--+selected :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+selected = attribute "selected" " selected=\""+{-# INLINE selected #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @shape@ attribute.+--+-- Example:+--+-- > div ! shape "bar" $ "Hello."+--+-- Result:+--+-- > <div shape="bar">Hello.</div>+--+shape :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+shape = attribute "shape" " shape=\""+{-# INLINE shape #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @size@ attribute.+--+-- Example:+--+-- > div ! size "bar" $ "Hello."+--+-- Result:+--+-- > <div size="bar">Hello.</div>+--+size :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+size = attribute "size" " size=\""+{-# INLINE size #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @sizes@ attribute.+--+-- Example:+--+-- > div ! sizes "bar" $ "Hello."+--+-- Result:+--+-- > <div sizes="bar">Hello.</div>+--+sizes :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+sizes = attribute "sizes" " sizes=\""+{-# INLINE sizes #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @span@ attribute.+--+-- Example:+--+-- > div ! span "bar" $ "Hello."+--+-- Result:+--+-- > <div span="bar">Hello.</div>+--+span :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+span = attribute "span" " span=\""+{-# INLINE span #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @spellcheck@ attribute.+--+-- Example:+--+-- > div ! spellcheck "bar" $ "Hello."+--+-- Result:+--+-- > <div spellcheck="bar">Hello.</div>+--+spellcheck :: AttributeValue  -- ^ Attribute value.+           -> Attribute       -- ^ Resulting attribute.+spellcheck = attribute "spellcheck" " spellcheck=\""+{-# INLINE spellcheck #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @src@ attribute.+--+-- Example:+--+-- > div ! src "bar" $ "Hello."+--+-- Result:+--+-- > <div src="bar">Hello.</div>+--+src :: AttributeValue  -- ^ Attribute value.+    -> Attribute       -- ^ Resulting attribute.+src = attribute "src" " src=\""+{-# INLINE src #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @srcdoc@ attribute.+--+-- Example:+--+-- > div ! srcdoc "bar" $ "Hello."+--+-- Result:+--+-- > <div srcdoc="bar">Hello.</div>+--+srcdoc :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+srcdoc = attribute "srcdoc" " srcdoc=\""+{-# INLINE srcdoc #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @start@ attribute.+--+-- Example:+--+-- > div ! start "bar" $ "Hello."+--+-- Result:+--+-- > <div start="bar">Hello.</div>+--+start :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+start = attribute "start" " start=\""+{-# INLINE start #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @step@ attribute.+--+-- Example:+--+-- > div ! step "bar" $ "Hello."+--+-- Result:+--+-- > <div step="bar">Hello.</div>+--+step :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+step = attribute "step" " step=\""+{-# INLINE step #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @style@ attribute.+--+-- Example:+--+-- > div ! style "bar" $ "Hello."+--+-- Result:+--+-- > <div style="bar">Hello.</div>+--+style :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+style = attribute "style" " style=\""+{-# INLINE style #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @subject@ attribute.+--+-- Example:+--+-- > div ! subject "bar" $ "Hello."+--+-- Result:+--+-- > <div subject="bar">Hello.</div>+--+subject :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+subject = attribute "subject" " subject=\""+{-# INLINE subject #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @summary@ attribute.+--+-- Example:+--+-- > div ! summary "bar" $ "Hello."+--+-- Result:+--+-- > <div summary="bar">Hello.</div>+--+summary :: AttributeValue  -- ^ Attribute value.+        -> Attribute       -- ^ Resulting attribute.+summary = attribute "summary" " summary=\""+{-# INLINE summary #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @tabindex@ attribute.+--+-- Example:+--+-- > div ! tabindex "bar" $ "Hello."+--+-- Result:+--+-- > <div tabindex="bar">Hello.</div>+--+tabindex :: AttributeValue  -- ^ Attribute value.+         -> Attribute       -- ^ Resulting attribute.+tabindex = attribute "tabindex" " tabindex=\""+{-# INLINE tabindex #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @target@ attribute.+--+-- Example:+--+-- > div ! target "bar" $ "Hello."+--+-- Result:+--+-- > <div target="bar">Hello.</div>+--+target :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+target = attribute "target" " target=\""+{-# INLINE target #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @title@ attribute.+--+-- Example:+--+-- > div ! title "bar" $ "Hello."+--+-- Result:+--+-- > <div title="bar">Hello.</div>+--+title :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+title = attribute "title" " title=\""+{-# INLINE title #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @type@ attribute.+--+-- Example:+--+-- > div ! type_ "bar" $ "Hello."+--+-- Result:+--+-- > <div type="bar">Hello.</div>+--+type_ :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+type_ = attribute "type" " type=\""+{-# INLINE type_ #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @usemap@ attribute.+--+-- Example:+--+-- > div ! usemap "bar" $ "Hello."+--+-- Result:+--+-- > <div usemap="bar">Hello.</div>+--+usemap :: AttributeValue  -- ^ Attribute value.+       -> Attribute       -- ^ Resulting attribute.+usemap = attribute "usemap" " usemap=\""+{-# INLINE usemap #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @value@ attribute.+--+-- Example:+--+-- > div ! value "bar" $ "Hello."+--+-- Result:+--+-- > <div value="bar">Hello.</div>+--+value :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+value = attribute "value" " value=\""+{-# INLINE value #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @width@ attribute.+--+-- Example:+--+-- > div ! width "bar" $ "Hello."+--+-- Result:+--+-- > <div width="bar">Hello.</div>+--+width :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+width = attribute "width" " width=\""+{-# INLINE width #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @wrap@ attribute.+--+-- Example:+--+-- > div ! wrap "bar" $ "Hello."+--+-- Result:+--+-- > <div wrap="bar">Hello.</div>+--+wrap :: AttributeValue  -- ^ Attribute value.+     -> Attribute       -- ^ Resulting attribute.+wrap = attribute "wrap" " wrap=\""+{-# INLINE wrap #-}++-- WARNING: The next block of code was automatically generated by+-- src/Util/GenerateHtmlCombinators.hs:249+--+-- | Combinator for the @xmlns@ attribute.+--+-- Example:+--+-- > div ! xmlns "bar" $ "Hello."+--+-- Result:+--+-- > <div xmlns="bar">Hello.</div>+--+xmlns :: AttributeValue  -- ^ Attribute value.+      -> Attribute       -- ^ Resulting attribute.+xmlns = attribute "xmlns" " xmlns=\""+{-# INLINE xmlns #-}
src/Util/GenerateHtmlCombinators.hs view
@@ -453,6 +453,19 @@     , selfClosing = False     } +-- | XHTML 5.0+--+xhtml5 :: HtmlVariant+xhtml5 = HtmlVariant+    { version = ["XHtml5"]+    , docType = ["<!DOCTYPE HTML>"]+    , parents = parents html5+    , leafs = leafs html5+    , attributes = attributes html5+    , selfClosing = True+    }++ -- | A map of HTML variants, per version, lowercase. -- htmlVariants :: Map String HtmlVariant@@ -464,6 +477,7 @@     , xhtml1Transitional     , xhtml1FrameSet     , html5+    , xhtml5     ]  main :: IO ()
src/Util/Sanitize.hs view
@@ -19,8 +19,12 @@ -- > sanitize "http-equiv" == "httpEquiv" -- sanitize :: String -> String-sanitize = appendUnderscore . removeDash . map toLower+sanitize str+    | lower  == "doctypehtml" = "docTypeHtml"+    | otherwise               = appendUnderscore $ removeDash lower   where+    lower = map toLower str+     -- Remove a dash, replacing it by camelcase notation     --     -- Example: