Safe Haskell | None |
---|---|
Language | Haskell2010 |
Html.Type
Synopsis
- data a # b = (:#:) a b
- (#) :: a -> b -> a # b
- data father :> child where
- data element :@ attribution where
- data a := v where
- data Element (name :: Symbol) (categories :: [ContentCategory]) (contentModel :: ContentCategory) (contentAttributes :: [Symbol]) where
- DOCTYPE :: Element "!DOCTYPE html" ('[] :: [ContentCategory]) 'None ('[] :: [Symbol])
- Html :: Element "html" ('[] :: [ContentCategory]) ('Elements '["head", "body"]) '[GetAttributeName 'ManifestA]
- Head :: Element "head" ('[] :: [ContentCategory]) 'Metadata ('[] :: [Symbol])
- Title :: Element "title" '['Metadata] 'OnlyText ('[] :: [Symbol])
- Base :: Element "base" '['Metadata] 'None (GetAttributeName 'HrefA ': ('TargetA & ('[] :: [Symbol])))
- Link :: Element "link" '['Metadata, 'Flow, 'Phrasing] 'None (GetAttributeName 'HrefA ': ('CrossoriginA & ('RelA & ('MediaA & ('IntegrityA & ('HreflangA & ('TypeA & ('ReferrerpolicyA & ('SizesA & ('ImagesrcsetA & ('ImagesizesA & ('AsA & ('RelA & ('ColorA & ('DisabledA & ('[] :: [Symbol]))))))))))))))))
- Meta :: Element "meta" '['Metadata, 'Flow, 'Phrasing] 'None (GetAttributeName 'NameA ': ('HttpEquivA & ('ContentA & ('CharsetA & ('[] :: [Symbol])))))
- Style :: Element "style" '['Metadata] 'OnlyText '[GetAttributeName 'MediaA]
- Body :: Element "body" ('[] :: [ContentCategory]) 'Flow (GetAttributeName 'OnafterprintA ': ('OnbeforeprintA & ('OnbeforeunloadA & ('OnhashchangeA & ('OnlanguagechangeA & ('OnmessageA & ('OnmessageerrorA & ('OnofflineA & ('OnonlineA & ('OnpagehideA & ('OnpageshowA & ('OnpopstateA & ('OnrejectionhandledA & ('OnstorageA & ('OnunhandledrejectionA & ('OnunloadA & ('[] :: [Symbol])))))))))))))))))
- Article :: Element "article" '['Flow, 'Sectioning, 'Palpable] 'Flow ('[] :: [Symbol])
- Section :: Element "section" '['Flow, 'Sectioning, 'Palpable] 'Flow ('[] :: [Symbol])
- Nav :: Element "nav" '['Flow, 'Sectioning, 'Palpable] 'Flow ('[] :: [Symbol])
- Aside :: Element "aside" '['Flow, 'Sectioning, 'Palpable] 'Flow ('[] :: [Symbol])
- H1 :: Element "h1" '['Flow, 'Heading, 'Palpable] 'Phrasing ('[] :: [Symbol])
- H2 :: Element "h2" '['Flow, 'Heading, 'Palpable] 'Phrasing ('[] :: [Symbol])
- H3 :: Element "h3" '['Flow, 'Heading, 'Palpable] 'Phrasing ('[] :: [Symbol])
- H4 :: Element "h4" '['Flow, 'Heading, 'Palpable] 'Phrasing ('[] :: [Symbol])
- H5 :: Element "h5" '['Flow, 'Heading, 'Palpable] 'Phrasing ('[] :: [Symbol])
- H6 :: Element "h6" '['Flow, 'Heading, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Hgroup :: Element "hgroup" '['Flow, 'Heading, 'Palpable] (('Heading ':&: 'NOT ('Elements '["hgroup"])) ':|: 'Scripting) ('[] :: [Symbol])
- Header :: Element "header" '['Flow, 'Palpable] ('Flow ':&: 'NOT ('Elements '["header", "footer"])) ('[] :: [Symbol])
- Footer :: Element "footer" '['Flow, 'Palpable] ('Flow ':&: 'NOT ('Elements '["header", "footer"])) ('[] :: [Symbol])
- Address :: Element "address" '['Flow, 'Palpable] ('Flow ':&: 'NOT ('Heading ':|: ('Sectioning ':|: 'Elements '["header", "footer", "address"]))) ('[] :: [Symbol])
- P :: Element "p" '['Flow, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Hr :: Element "hr" '['Flow] 'None ('[] :: [Symbol])
- Pre :: Element "pre" '['Flow, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Blockquote :: Element "blockquote" '['Flow, 'Palpable] 'Flow '[GetAttributeName 'CiteA]
- Ol :: Element "ol" '['Flow, 'Palpable] ('Elements '["li"] ':|: 'Scripting) (GetAttributeName 'ReversedA ': ('StartA & ('TypeA & ('[] :: [Symbol]))))
- Ul :: Element "ul" '['Flow, 'Palpable] ('Elements '["li"] ':|: 'Scripting) ('[] :: [Symbol])
- Menu :: Element "menu" '['Flow, 'Palpable] ('Elements '["li"] ':|: 'Scripting) ('[] :: [Symbol])
- Li :: Element "li" ('[] :: [ContentCategory]) 'Flow '[GetAttributeName 'ValueA]
- Dl :: Element "dl" '['Flow, 'Palpable] ('Elements '["dt", "dd", "div"] ':|: 'Scripting) ('[] :: [Symbol])
- Dt :: Element "dt" ('[] :: [ContentCategory]) ('Flow ':&: 'NOT ('Sectioning ':|: ('Heading ':|: 'Elements '["header", "footer"]))) ('[] :: [Symbol])
- Dd :: Element "dd" ('[] :: [ContentCategory]) 'Flow ('[] :: [Symbol])
- Figure :: Element "figure" '['Flow, 'Palpable] ('Flow ':|: 'Elements '["figcaption"]) ('[] :: [Symbol])
- Figcaption :: Element "figcaption" ('[] :: [ContentCategory]) 'Flow ('[] :: [Symbol])
- Main :: Element "main" '['Flow, 'Palpable] 'Flow ('[] :: [Symbol])
- Div :: Element "div" '['Flow, 'Palpable] ('Flow ':|: ('Elements '["dt", "dt"] ':|: 'Scripting)) ('[] :: [Symbol])
- A :: Element "a" '['Flow, 'Phrasing, 'Interactive, 'Palpable] (('Flow ':|: ('Phrasing ':|: 'Palpable)) ':&: 'NOT ('Elements '["a"])) (GetAttributeName 'HrefA ': ('TargetA & ('DownloadA & ('PingA & ('RelA & ('HreflangA & ('TypeA & ('ReferrerpolicyA & ('[] :: [Symbol])))))))))
- Em :: Element "em" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Strong :: Element "strong" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Small :: Element "small" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- S :: Element "s" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Cite :: Element "cite" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Q :: Element "q" '['Flow, 'Phrasing, 'Palpable] 'Phrasing '[GetAttributeName 'CiteA]
- Dfn :: Element "dfn" '['Flow, 'Phrasing, 'Palpable] ('Phrasing ':&: 'NOT ('Elements '["dfn"])) ('[] :: [Symbol])
- Abbr :: Element "abbr" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Ruby :: Element "ruby" '['Flow, 'Phrasing, 'Palpable] ('Phrasing ':|: 'Elements '["rt", "rp"]) ('[] :: [Symbol])
- Rt :: Element "rt" ('[] :: [ContentCategory]) 'Phrasing ('[] :: [Symbol])
- Rp :: Element "rp" ('[] :: [ContentCategory]) 'OnlyText ('[] :: [Symbol])
- Data :: Element "data" '['Flow, 'Phrasing, 'Palpable] 'Phrasing '[GetAttributeName 'ValueA]
- Time :: Element "time" '['Flow, 'Phrasing, 'Palpable] 'Phrasing '[GetAttributeName 'DatetimeA]
- Code :: Element "code" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Var :: Element "var" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Samp :: Element "samp" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Kbd :: Element "kbd" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Sub :: Element "sub" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Sup :: Element "sup" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- I :: Element "i" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- B :: Element "b" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- U :: Element "u" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Mark :: Element "mark" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Bdi :: Element "bdi" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Bdo :: Element "bdo" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Span :: Element "span" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol])
- Br :: Element "br" '['Flow, 'Phrasing] 'None ('[] :: [Symbol])
- Wbr :: Element "wbr" '['Flow, 'Phrasing] 'None ('[] :: [Symbol])
- Ins :: Element "ins" '['Flow, 'Phrasing, 'Palpable] ('Flow ':|: ('Phrasing ':|: 'Palpable)) (GetAttributeName 'CiteA ': ('DatetimeA & ('[] :: [Symbol])))
- Del :: Element "del" '['Flow, 'Phrasing] ('Flow ':|: 'Phrasing) (GetAttributeName 'CiteA ': ('DatetimeA & ('[] :: [Symbol])))
- Picture :: Element "picture" '['Flow, 'Phrasing, 'Embedded] ('Elements '["source", "img"] ':|: 'Scripting) ('[] :: [Symbol])
- Source :: Element "source" ('[] :: [ContentCategory]) 'None (GetAttributeName 'SrcA ': ('TypeA & ('SrcsetA & ('SizesA & ('MediaA & ('[] :: [Symbol]))))))
- Img :: Element "img" '['Flow, 'Phrasing, 'Embedded, 'Interactive, 'Palpable] 'None (GetAttributeName 'AltA ': ('SrcA & ('SrcsetA & ('SizesA & ('CrossoriginA & ('UsemapA & ('IsmapA & ('WidthA & ('HeightA & ('ReferrerpolicyA & ('DecodingA & ('LoadingA & ('[] :: [Symbol])))))))))))))
- Iframe :: Element "iframe" '['Flow, 'Phrasing, 'Embedded, 'Interactive, 'Palpable] 'None (GetAttributeName 'SrcA ': ('SrcdocA & ('NameA & ('SandboxA & ('AllowA & ('AllowfullscreenA & ('WidthA & ('HeightA & ('ReferrerpolicyA & ('LoadingA & ('[] :: [Symbol])))))))))))
- Embed :: Element "embed" '['Flow, 'Phrasing, 'Embedded, 'Interactive, 'Palpable] 'None (GetAttributeName 'SrcA ': ('TypeA & ('WidthA & ('HeightA & ('[] :: [Symbol])))))
- Object :: Element "object" '['Flow, 'Phrasing, 'Embedded, 'Interactive, 'Palpable] ('Elements '["param"] ':|: ('Flow ':|: ('Phrasing ':|: ('Embedded ':|: ('Interactive ':|: 'Palpable))))) (GetAttributeName 'DataA ': ('TypeA & ('NameA & ('UsemapA & ('FormA & ('WidthA & ('HeightA & ('[] :: [Symbol]))))))))
- Param :: Element "param" ('[] :: [ContentCategory]) 'None (GetAttributeName 'NameA ': ('ValueA & ('[] :: [Symbol])))
- Video :: Element "video" '['Flow, 'Phrasing, 'Embedded, 'Interactive, 'Palpable] (('Elements '["track", "source"] ':|: ('Flow ':|: ('Phrasing ':|: ('Embedded ':|: ('Interactive ':|: 'Palpable))))) ':&: 'NOT ('Elements '["audio", "video"])) (GetAttributeName 'SrcA ': ('CrossoriginA & ('PosterA & ('PreloadA & ('AutoplayA & ('PlaysinlineA & ('LoopA & ('MutedA & ('ControlsA & ('WidthA & ('HeightA & ('[] :: [Symbol]))))))))))))
- Audio :: Element "audio" '['Flow, 'Phrasing, 'Embedded, 'Interactive, 'Palpable] (('Elements '["track", "source"] ':|: ('Flow ':|: ('Phrasing ':|: ('Embedded ':|: ('Interactive ':|: 'Palpable))))) ':&: 'NOT ('Elements '["audio", "video"])) (GetAttributeName 'SrcA ': ('CrossoriginA & ('PreloadA & ('AutoplayA & ('LoopA & ('MutedA & ('ControlsA & ('[] :: [Symbol]))))))))
- Track :: Element "track" ('[] :: [ContentCategory]) 'None (GetAttributeName 'KindA ': ('SrcA & ('SrclangA & ('LabelA & ('DefaultA & ('[] :: [Symbol]))))))
- Map :: Element "map" '['Flow, 'Phrasing, 'Palpable] ('Flow ':|: ('Phrasing ':|: 'Palpable)) '[GetAttributeName 'NameA]
- Area :: Element "area" '['Flow, 'Phrasing] 'None (GetAttributeName 'AltA ': ('CoordsA & ('ShapeA & ('HrefA & ('TargetA & ('DownloadA & ('PingA & ('RelA & ('ReferrerpolicyA & ('[] :: [Symbol]))))))))))
- Table :: Element "table" '['Flow, 'Palpable] ('Elements '["caption", "colgroup", "thead", "tbody", "tr", "tfoot"] ':|: 'Scripting) ('[] :: [Symbol])
- Caption :: Element "caption" ('[] :: [ContentCategory]) ('Flow ':|: 'NOT ('Elements '["table"])) ('[] :: [Symbol])
- Colgroup :: Element "colgroup" ('[] :: [ContentCategory]) ('Elements '["col", "template"]) '[GetAttributeName 'SpanA]
- Col :: Element "col" ('[] :: [ContentCategory]) 'None '[GetAttributeName 'SpanA]
- Tbody :: Element "tbody" ('[] :: [ContentCategory]) ('Elements '["tr"] ':|: 'Scripting) ('[] :: [Symbol])
- Thead :: Element "thead" ('[] :: [ContentCategory]) ('Elements '["tr"] ':|: 'Scripting) ('[] :: [Symbol])
- Tfoot :: Element "tfoot" ('[] :: [ContentCategory]) ('Elements '["tr"] ':|: 'Scripting) ('[] :: [Symbol])
- Tr :: Element "tr" ('[] :: [ContentCategory]) ('Elements '["td", "th"] ':|: 'Scripting) ('[] :: [Symbol])
- Td :: Element "td" ('[] :: [ContentCategory]) 'Flow (GetAttributeName 'ColspanA ': ('RowspanA & ('HeadersA & ('[] :: [Symbol]))))
- Th :: Element "th" ('[] :: [ContentCategory]) ('Flow ':&: 'NOT ('Elements '["header", "footer"] ':|: ('Sectioning ':|: 'Heading))) (GetAttributeName 'ColspanA ': ('RowspanA & ('HeadersA & ('ScopeA & ('AbbrA & ('[] :: [Symbol]))))))
- Form :: Element "form" '['Flow, 'Palpable] ('Flow ':&: 'NOT ('Elements '["form"])) (GetAttributeName 'AcceptCharsetA ': ('ActionA & ('AutocompleteA & ('EnctypeA & ('MethodA & ('NameA & ('NovalidateA & ('TargetA & ('RelA & ('[] :: [Symbol]))))))))))
- Label :: Element "label" '['Flow, 'Phrasing, 'Interactive, 'Palpable] ('Phrasing ':&: 'NOT ('Elements '["label"])) '[GetAttributeName 'ForA]
- Input :: Element "input" '['Flow, 'Phrasing, 'Interactive, 'Palpable] 'None (GetAttributeName 'AcceptA ': ('AltA & ('AutocompleteA & ('CheckedA & ('DirnameA & ('DisabledA & ('FormA & ('FormactionA & ('FormenctypeA & ('FormmethodA & ('FormnovalidateA & ('FormtargetA & ('HeightA & ('ListA & ('MaxA & ('MaxlengthA & ('MinA & ('MinlengthA & ('MultipleA & ('NameA & ('PatternA & ('PlaceholderA & ('ReadonlyA & ('RequiredA & ('SizeA & ('SrcA & ('StepA & ('TypeA & ('ValueA & ('WidthA & ('[] :: [Symbol])))))))))))))))))))))))))))))))
- Button :: Element "button" '['Flow, 'Phrasing, 'Interactive, 'Palpable] ('Phrasing ':&: 'NOT 'Interactive) (GetAttributeName 'DisabledA ': ('FormA & ('FormactionA & ('FormenctypeA & ('FormmethodA & ('FormnovalidateA & ('FormtargetA & ('NameA & ('TypeA & ('ValueA & ('[] :: [Symbol])))))))))))
- Select :: Element "select" '['Flow, 'Phrasing, 'Interactive, 'Palpable] ('Elements '["option", "optgroup"] ':|: 'Scripting) (GetAttributeName 'AutocompleteA ': ('DisabledA & ('FormA & ('MultipleA & ('NameA & ('RequiredA & ('SizeA & ('[] :: [Symbol]))))))))
- Datalist :: Element "datalist" '['Flow, 'Phrasing] ('Phrasing ':|: ('Scripting ':|: 'Elements '["option"])) ('[] :: [Symbol])
- Optgroup :: Element "optgroup" ('[] :: [ContentCategory]) ('Elements '["option"] ':|: 'Scripting) (GetAttributeName 'DisabledA ': ('LabelA & ('[] :: [Symbol])))
- Option :: Element "option" ('[] :: [ContentCategory]) 'OnlyText (GetAttributeName 'DisabledA ': ('LabelA & ('SelectedA & ('ValueA & ('[] :: [Symbol])))))
- Textarea :: Element "textarea" '['Flow, 'Phrasing, 'Interactive, 'Palpable] 'OnlyText (GetAttributeName 'AutocompleteA ': ('ColsA & ('DirnameA & ('DisabledA & ('FormA & ('MaxlengthA & ('MinlengthA & ('NameA & ('PlaceholderA & ('ReadonlyA & ('RequiredA & ('RowsA & ('WrapA & ('[] :: [Symbol]))))))))))))))
- Output :: Element "output" '['Flow, 'Phrasing, 'Palpable] 'Phrasing (GetAttributeName 'ForA ': ('FormA & ('NameA & ('[] :: [Symbol]))))
- Progress :: Element "progress" '['Flow, 'Phrasing, 'Palpable] ('Phrasing ':&: 'NOT ('Elements '["progress"])) (GetAttributeName 'ValueA ': ('MaxA & ('[] :: [Symbol])))
- Meter :: Element "meter" '['Flow, 'Phrasing, 'Palpable] ('Phrasing ':&: 'NOT ('Elements '["meter"])) (GetAttributeName 'ValueA ': ('MinA & ('MaxA & ('LowA & ('HighA & ('OptimumA & ('[] :: [Symbol])))))))
- Fieldset :: Element "fieldset" '['Flow, 'Palpable] ('Elements '["legend"] ':|: 'Flow) (GetAttributeName 'DisabledA ': ('FormA & ('NameA & ('[] :: [Symbol]))))
- Legend :: Element "legend" ('[] :: [ContentCategory]) ('Phrasing ':|: 'Heading) ('[] :: [Symbol])
- Details :: Element "details" '['Flow, 'Interactive, 'Palpable] ('Elements '["summary"] ':|: 'Flow) '[GetAttributeName 'OpenA]
- Summary :: Element "summary" ('[] :: [ContentCategory]) ('Phrasing ':|: 'Heading) ('[] :: [Symbol])
- Dialog :: Element "dialog" '['Flow] 'Flow '[GetAttributeName 'OpenA]
- Script :: Element "script" '['Metadata, 'Flow, 'Phrasing, 'Scripting] 'OnlyText (GetAttributeName 'SrcA ': ('TypeA & ('NomoduleA & ('AsyncA & ('DeferA & ('CrossoriginA & ('IntegrityA & ('ReferrerpolicyA & ('[] :: [Symbol])))))))))
- Noscript :: Element "noscript" '['Metadata, 'Flow, 'Phrasing] (('Elements '["link", "style", "meta"] ':|: ('Metadata ':|: ('Flow ':|: 'Phrasing))) ':&: 'NOT ('Elements '["noscript"])) ('[] :: [Symbol])
- Template :: Element "template" '['Metadata, 'Flow, 'Phrasing, 'Scripting] ('Metadata ':|: ('Flow ':|: ('Sectioning ':|: ('Heading ':|: ('Phrasing ':|: 'Palpable))))) ('[] :: [Symbol])
- Slot :: Element "slot" '['Flow, 'Phrasing] ('Flow ':|: 'Phrasing) '[GetAttributeName 'NameA]
- Canvas :: Element "canvas" '['Flow, 'Phrasing, 'Embedded, 'Palpable] ((('Flow ':|: ('Phrasing ':|: ('Embedded ':|: 'Palpable))) ':&: 'NOT 'Interactive) ':|: 'Elements '["a", "img", "button", "input", "select"]) (GetAttributeName 'WidthA ': ('HeightA & ('[] :: [Symbol])))
- CustomElement :: forall (name :: Symbol) (categories :: [ContentCategory]) (contentModel :: ContentCategory) (contentAttributes :: [Symbol]). Element name categories contentModel contentAttributes
- data Attribute (name :: Symbol) (global :: Bool) (boolean :: Bool) where
- CustomA :: forall (name :: Symbol) (global :: Bool) (boolean :: Bool). Attribute name global boolean
- AbbrA :: Attribute "abbr" 'False 'False
- AcceptA :: Attribute "accept" 'False 'False
- AcceptCharsetA :: Attribute "accept-charset" 'False 'False
- AccesskeyA :: Attribute "accesskey" 'True 'False
- ActionA :: Attribute "action" 'False 'False
- AllowA :: Attribute "allow" 'False 'False
- AllowfullscreenA :: Attribute "allowfullscreen" 'False 'True
- AltA :: Attribute "alt" 'False 'False
- AsA :: Attribute "as" 'False 'False
- AsyncA :: Attribute "async" 'False 'True
- AutocapitalizeA :: Attribute "autocapitalize" 'True 'False
- AutocompleteA :: Attribute "autocomplete" 'False 'False
- AutofocusA :: Attribute "autofocus" 'True 'True
- AutoplayA :: Attribute "autoplay" 'False 'True
- CharsetA :: Attribute "charset" 'False 'False
- CheckedA :: Attribute "checked" 'False 'True
- CiteA :: Attribute "cite" 'False 'False
- ClassA :: Attribute "class" 'True 'False
- ColorA :: Attribute "color" 'False 'False
- ColsA :: Attribute "cols" 'False 'False
- ColspanA :: Attribute "colspan" 'False 'False
- ContentA :: Attribute "content" 'False 'False
- ContenteditableA :: Attribute "contenteditable" 'True 'False
- ControlsA :: Attribute "controls" 'False 'True
- CoordsA :: Attribute "coords" 'False 'False
- CrossoriginA :: Attribute "crossorigin" 'False 'False
- DataA :: Attribute "data" 'False 'False
- DatetimeA :: Attribute "datetime" 'False 'False
- DecodingA :: Attribute "decoding" 'False 'False
- DefaultA :: Attribute "default" 'False 'True
- DeferA :: Attribute "defer" 'False 'True
- DirA :: Attribute "dir" 'True 'False
- DirnameA :: Attribute "dirname" 'False 'False
- DisabledA :: Attribute "disabled" 'False 'True
- DownloadA :: Attribute "download" 'False 'False
- DraggableA :: Attribute "draggable" 'True 'False
- EnctypeA :: Attribute "enctype" 'False 'False
- EnterkeyhintA :: Attribute "enterkeyhint" 'True 'False
- ForA :: Attribute "for" 'False 'False
- FormA :: Attribute "form" 'False 'False
- FormactionA :: Attribute "formaction" 'False 'False
- FormenctypeA :: Attribute "formenctype" 'False 'False
- FormmethodA :: Attribute "formmethod" 'False 'False
- FormnovalidateA :: Attribute "formnovalidate" 'False 'True
- FormtargetA :: Attribute "formtarget" 'False 'False
- HeadersA :: Attribute "headers" 'False 'False
- HeightA :: Attribute "height" 'False 'False
- HiddenA :: Attribute "hidden" 'True 'True
- HighA :: Attribute "high" 'False 'False
- HrefA :: Attribute "href" 'False 'False
- HreflangA :: Attribute "hreflang" 'False 'False
- HttpEquivA :: Attribute "httpEquiv" 'False 'False
- IdA :: Attribute "id" 'True 'False
- ImagesizesA :: Attribute "imagesizes" 'False 'False
- ImagesrcsetA :: Attribute "imagesrcset" 'False 'False
- InputmodeA :: Attribute "inputmode" 'True 'False
- IntegrityA :: Attribute "integrity" 'False 'False
- IsA :: Attribute "is" 'True 'False
- IsmapA :: Attribute "ismap" 'False 'True
- ItemidA :: Attribute "itemid" 'True 'False
- ItempropA :: Attribute "itemprop" 'True 'False
- ItemrefA :: Attribute "itemref" 'True 'False
- ItemscopeA :: Attribute "itemscope" 'True 'True
- ItemtypeA :: Attribute "itemtype" 'True 'False
- KindA :: Attribute "kind" 'False 'False
- LabelA :: Attribute "label" 'False 'False
- LangA :: Attribute "lang" 'True 'False
- ListA :: Attribute "list" 'False 'False
- LoadingA :: Attribute "loading" 'False 'False
- LoopA :: Attribute "loop" 'False 'True
- LowA :: Attribute "low" 'False 'False
- ManifestA :: Attribute "manifest" 'False 'False
- MaxA :: Attribute "max" 'False 'False
- MaxlengthA :: Attribute "maxlength" 'False 'False
- MediaA :: Attribute "media" 'False 'False
- MethodA :: Attribute "method" 'False 'False
- MinA :: Attribute "min" 'False 'False
- MinlengthA :: Attribute "minlength" 'False 'False
- MultipleA :: Attribute "multiple" 'False 'True
- MutedA :: Attribute "muted" 'False 'True
- NameA :: Attribute "name" 'False 'False
- NomoduleA :: Attribute "nomodule" 'False 'True
- NonceA :: Attribute "nonce" 'True 'False
- NovalidateA :: Attribute "novalidate" 'False 'True
- OpenA :: Attribute "open" 'False 'True
- OptimumA :: Attribute "optimum" 'False 'False
- PatternA :: Attribute "pattern" 'False 'False
- PingA :: Attribute "ping" 'False 'False
- PlaceholderA :: Attribute "placeholder" 'False 'False
- PlaysinlineA :: Attribute "playsinline" 'False 'True
- PosterA :: Attribute "poster" 'False 'False
- PreloadA :: Attribute "preload" 'False 'False
- ReadonlyA :: Attribute "readonly" 'False 'True
- ReferrerpolicyA :: Attribute "referrerpolicy" 'False 'False
- RelA :: Attribute "rel" 'False 'False
- RequiredA :: Attribute "required" 'False 'True
- ReversedA :: Attribute "reversed" 'False 'True
- RowsA :: Attribute "rows" 'False 'False
- RowspanA :: Attribute "rowspan" 'False 'False
- SandboxA :: Attribute "sandbox" 'False 'False
- ScopeA :: Attribute "scope" 'False 'False
- SelectedA :: Attribute "selected" 'False 'True
- ShapeA :: Attribute "shape" 'False 'False
- SizeA :: Attribute "size" 'False 'False
- SizesA :: Attribute "sizes" 'False 'False
- SlotA :: Attribute "slot" 'True 'False
- SpanA :: Attribute "span" 'False 'False
- SpellcheckA :: Attribute "spellcheck" 'True 'False
- SrcA :: Attribute "src" 'False 'False
- SrcdocA :: Attribute "srcdoc" 'False 'False
- SrclangA :: Attribute "srclang" 'False 'False
- SrcsetA :: Attribute "srcset" 'False 'False
- StartA :: Attribute "start" 'False 'False
- StepA :: Attribute "step" 'False 'False
- StyleA :: Attribute "style" 'True 'False
- TabindexA :: Attribute "tabindex" 'True 'False
- TargetA :: Attribute "target" 'False 'False
- TitleA :: Attribute "title" 'True 'False
- TranslateA :: Attribute "translate" 'True 'False
- TypeA :: Attribute "type" 'False 'False
- UsemapA :: Attribute "usemap" 'False 'False
- ValueA :: Attribute "value" 'False 'False
- WidthA :: Attribute "width" 'False 'False
- WrapA :: Attribute "wrap" 'False 'False
- OnabortA :: Attribute "onabort" 'True 'False
- OnauxclickA :: Attribute "onauxclick" 'True 'False
- OnafterprintA :: Attribute "onafterprint" 'False 'False
- OnbeforeprintA :: Attribute "onbeforeprint" 'False 'False
- OnbeforeunloadA :: Attribute "onbeforeunload" 'False 'False
- OnblurA :: Attribute "onblur" 'True 'False
- OncancelA :: Attribute "oncancel" 'True 'False
- OncanplayA :: Attribute "oncanplay" 'True 'False
- OncanplaythroughA :: Attribute "oncanplaythrough" 'True 'False
- OnchangeA :: Attribute "onchange" 'True 'False
- OnclickA :: Attribute "onclick" 'True 'False
- OncloseA :: Attribute "onclose" 'True 'False
- OncontextmenuA :: Attribute "oncontextmenu" 'True 'False
- OncopyA :: Attribute "oncopy" 'True 'False
- OncuechangeA :: Attribute "oncuechange" 'True 'False
- OncutA :: Attribute "oncut" 'True 'False
- OndblclickA :: Attribute "ondblclick" 'True 'False
- OndragA :: Attribute "ondrag" 'True 'False
- OndragendA :: Attribute "ondragend" 'True 'False
- OndragenterA :: Attribute "ondragenter" 'True 'False
- OndragleaveA :: Attribute "ondragleave" 'True 'False
- OndragoverA :: Attribute "ondragover" 'True 'False
- OndragstartA :: Attribute "ondragstart" 'True 'False
- OndropA :: Attribute "ondrop" 'True 'False
- OndurationchangeA :: Attribute "ondurationchange" 'True 'False
- OnemptiedA :: Attribute "onemptied" 'True 'False
- OnendedA :: Attribute "onended" 'True 'False
- OnerrorA :: Attribute "onerror" 'True 'False
- OnfocusA :: Attribute "onfocus" 'True 'False
- OnformdataA :: Attribute "onformdata" 'True 'False
- OnhashchangeA :: Attribute "onhashchange" 'False 'False
- OninputA :: Attribute "oninput" 'True 'False
- OninvalidA :: Attribute "oninvalid" 'True 'False
- OnkeydownA :: Attribute "onkeydown" 'True 'False
- OnkeypressA :: Attribute "onkeypress" 'True 'False
- OnkeyupA :: Attribute "onkeyup" 'True 'False
- OnlanguagechangeA :: Attribute "onlanguagechange" 'False 'False
- OnloadA :: Attribute "onload" 'True 'False
- OnloadeddataA :: Attribute "onloadeddata" 'True 'False
- OnloadedmetadataA :: Attribute "onloadedmetadata" 'True 'False
- OnloadstartA :: Attribute "onloadstart" 'True 'False
- OnmessageA :: Attribute "onmessage" 'False 'False
- OnmessageerrorA :: Attribute "onmessageerror" 'False 'False
- OnmousedownA :: Attribute "onmousedown" 'True 'False
- OnmouseenterA :: Attribute "onmouseenter" 'True 'False
- OnmouseleaveA :: Attribute "onmouseleave" 'True 'False
- OnmousemoveA :: Attribute "onmousemove" 'True 'False
- OnmouseoutA :: Attribute "onmouseout" 'True 'False
- OnmouseoverA :: Attribute "onmouseover" 'True 'False
- OnmouseupA :: Attribute "onmouseup" 'True 'False
- OnofflineA :: Attribute "onoffline" 'False 'False
- OnonlineA :: Attribute "ononline" 'False 'False
- OnpagehideA :: Attribute "onpagehide" 'False 'False
- OnpageshowA :: Attribute "onpageshow" 'False 'False
- OnpasteA :: Attribute "onpaste" 'True 'False
- OnpauseA :: Attribute "onpause" 'True 'False
- OnplayA :: Attribute "onplay" 'True 'False
- OnplayingA :: Attribute "onplaying" 'True 'False
- OnpopstateA :: Attribute "onpopstate" 'False 'False
- OnprogressA :: Attribute "onprogress" 'True 'False
- OnratechangeA :: Attribute "onratechange" 'True 'False
- OnresetA :: Attribute "onreset" 'True 'False
- OnresizeA :: Attribute "onresize" 'True 'False
- OnrejectionhandledA :: Attribute "onrejectionhandled" 'False 'False
- OnscrollA :: Attribute "onscroll" 'True 'False
- OnsecuritypolicyviolationA :: Attribute "onsecuritypolicyviolation" 'True 'False
- OnseekedA :: Attribute "onseeked" 'True 'False
- OnseekingA :: Attribute "onseeking" 'True 'False
- OnselectA :: Attribute "onselect" 'True 'False
- OnslotchangeA :: Attribute "onslotchange" 'True 'False
- OnstalledA :: Attribute "onstalled" 'True 'False
- OnstorageA :: Attribute "onstorage" 'False 'False
- OnsubmitA :: Attribute "onsubmit" 'True 'False
- OnsuspendA :: Attribute "onsuspend" 'True 'False
- OntimeupdateA :: Attribute "ontimeupdate" 'True 'False
- OntoggleA :: Attribute "ontoggle" 'True 'False
- OnunhandledrejectionA :: Attribute "onunhandledrejection" 'False 'False
- OnunloadA :: Attribute "onunload" 'False 'False
- OnvolumechangeA :: Attribute "onvolumechange" 'True 'False
- OnwaitingA :: Attribute "onwaiting" 'True 'False
- OnwheelA :: Attribute "onwheel" 'True 'False
- RoleA :: Attribute "role" 'True 'False
- AriaActivedescendantA :: Attribute "aria-activedescendant" 'True 'False
- AriaAtomicA :: Attribute "aria-atomic" 'True 'False
- AriaAutocompleteA :: Attribute "aria-autocomplete" 'True 'False
- AriaBraillelableA :: Attribute "aria-braillelable" 'True 'False
- AriaBrailleroledescriptionA :: Attribute "aria-brailleroledescription" 'True 'False
- AriaBusyA :: Attribute "aria-busy" 'True 'False
- AriaCheckedA :: Attribute "aria-checked" 'True 'False
- AriaColcountA :: Attribute "aria-colcount" 'True 'False
- AriaColindexA :: Attribute "aria-colindex" 'True 'False
- AriaColindextextA :: Attribute "aria-colindextext" 'True 'False
- AriaColspanA :: Attribute "aria-colspan" 'True 'False
- AriaControlsA :: Attribute "aria-controls" 'True 'False
- AriaCurrentA :: Attribute "aria-current" 'True 'False
- AriaDescribedbyA :: Attribute "aria-describedby" 'True 'False
- AriaDescriptionA :: Attribute "aria-description" 'True 'False
- AriaDetailsA :: Attribute "aria-details" 'True 'False
- AriaDisabledA :: Attribute "aria-disabled" 'True 'False
- AriaDropeffectA :: Attribute "aria-dropeffect" 'True 'False
- AriaErrormessageA :: Attribute "aria-errormessage" 'True 'False
- AriaExpandedA :: Attribute "aria-expanded" 'True 'False
- AriaFlowtoA :: Attribute "aria-flowto" 'True 'False
- AriaGrabbedA :: Attribute "aria-grabbed" 'True 'False
- AriaHaspopupA :: Attribute "aria-haspopup" 'True 'False
- AriaHiddenA :: Attribute "aria-hidden" 'True 'False
- AriaInvalidA :: Attribute "aria-invalid" 'True 'False
- AriaKeyshortcutsA :: Attribute "aria-keyshortcuts" 'True 'False
- AriaLabelA :: Attribute "aria-label" 'True 'False
- AriaLabelledByA :: Attribute "aria-labelledBy" 'True 'False
- AriaLevelA :: Attribute "aria-level" 'True 'False
- AriaLiveA :: Attribute "aria-live" 'True 'False
- AriaModalA :: Attribute "aria-modal" 'True 'False
- AriaMultilineA :: Attribute "aria-multiline" 'True 'False
- AriaMultiselectableA :: Attribute "aria-multiselectable" 'True 'False
- AriaOrientationA :: Attribute "aria-orientation" 'True 'False
- AriaOwnsA :: Attribute "aria-owns" 'True 'False
- AriaPlaceholderA :: Attribute "aria-placeholder" 'True 'False
- AriaPosinsetA :: Attribute "aria-posinset" 'True 'False
- AriaPressedA :: Attribute "aria-pressed" 'True 'False
- AriaReadonlyA :: Attribute "aria-readonly" 'True 'False
- AriaRelevantA :: Attribute "aria-relevant" 'True 'False
- AriaRequiredA :: Attribute "aria-required" 'True 'False
- AriaRoledescriptionA :: Attribute "aria-roledescription" 'True 'False
- AriaRowcountA :: Attribute "aria-rowcount" 'True 'False
- AriaRowindexA :: Attribute "aria-rowindex" 'True 'False
- AriaRowindextextA :: Attribute "aria-rowindextext" 'True 'False
- AriaRowspanA :: Attribute "aria-rowspan" 'True 'False
- AriaSelectedA :: Attribute "aria-selected" 'True 'False
- AriaSetsizeA :: Attribute "aria-setsize" 'True 'False
- AriaSortA :: Attribute "aria-sort" 'True 'False
- AriaValuemaxA :: Attribute "aria-valuemax" 'True 'False
- AriaValueminA :: Attribute "aria-valuemin" 'True 'False
- AriaValuenowA :: Attribute "aria-valuenow" 'True 'False
- AriaValuetextA :: Attribute "aria-valuetext" 'True 'False
- data CompactHTML (a :: [Symbol])
- data Put (n :: Symbol) = Convert a => Put a
- data V (n :: Symbol) = V
- newtype Raw a = Raw {
- fromRaw :: a
- newtype Lawless a = Lawless a
- class Retrievable (a :: [Symbol])
- type family Retrieve f (xs :: [Symbol]) where ...
- type Variables a = Dedupe (GetV a)
- type family Document a where ...
- type family Compactable a where ...
- data ContentCategory
- type (&) (k :: Attribute a global boolean) (b :: [Symbol]) = GetAttributeName k ': b
Documentation
Combine two elements or attributes sequentially.
>>>
I # Div
<i></i><div></div>
>>>
I :@ (IdA:="a" # ClassA:="b") :> "c"
<i id="a" class="b">c</i>
Constructors
(:#:) a b |
data Element (name :: Symbol) (categories :: [ContentCategory]) (contentModel :: ContentCategory) (contentAttributes :: [Symbol]) where Source #
4 The elements of HTML
Constructors
DOCTYPE :: Element "!DOCTYPE html" ('[] :: [ContentCategory]) 'None ('[] :: [Symbol]) | |
Html :: Element "html" ('[] :: [ContentCategory]) ('Elements '["head", "body"]) '[GetAttributeName 'ManifestA] | 4.1 The document element 4.1.1 |
Head :: Element "head" ('[] :: [ContentCategory]) 'Metadata ('[] :: [Symbol]) | 4.2 Document metadata 4.2.1 |
Title :: Element "title" '['Metadata] 'OnlyText ('[] :: [Symbol]) | 4.2.2 |
Base :: Element "base" '['Metadata] 'None (GetAttributeName 'HrefA ': ('TargetA & ('[] :: [Symbol]))) | 4.2.3 |
Link :: Element "link" '['Metadata, 'Flow, 'Phrasing] 'None (GetAttributeName 'HrefA ': ('CrossoriginA & ('RelA & ('MediaA & ('IntegrityA & ('HreflangA & ('TypeA & ('ReferrerpolicyA & ('SizesA & ('ImagesrcsetA & ('ImagesizesA & ('AsA & ('RelA & ('ColorA & ('DisabledA & ('[] :: [Symbol])))))))))))))))) | 4.2.4 |
Meta :: Element "meta" '['Metadata, 'Flow, 'Phrasing] 'None (GetAttributeName 'NameA ': ('HttpEquivA & ('ContentA & ('CharsetA & ('[] :: [Symbol]))))) | 4.2.5 |
Style :: Element "style" '['Metadata] 'OnlyText '[GetAttributeName 'MediaA] | 4.2.6 |
Body :: Element "body" ('[] :: [ContentCategory]) 'Flow (GetAttributeName 'OnafterprintA ': ('OnbeforeprintA & ('OnbeforeunloadA & ('OnhashchangeA & ('OnlanguagechangeA & ('OnmessageA & ('OnmessageerrorA & ('OnofflineA & ('OnonlineA & ('OnpagehideA & ('OnpageshowA & ('OnpopstateA & ('OnrejectionhandledA & ('OnstorageA & ('OnunhandledrejectionA & ('OnunloadA & ('[] :: [Symbol]))))))))))))))))) | 4.3 Sections 4.3.1 |
Article :: Element "article" '['Flow, 'Sectioning, 'Palpable] 'Flow ('[] :: [Symbol]) | 4.3.2 |
Section :: Element "section" '['Flow, 'Sectioning, 'Palpable] 'Flow ('[] :: [Symbol]) | 4.3.3 |
Nav :: Element "nav" '['Flow, 'Sectioning, 'Palpable] 'Flow ('[] :: [Symbol]) | 4.3.4 |
Aside :: Element "aside" '['Flow, 'Sectioning, 'Palpable] 'Flow ('[] :: [Symbol]) | 4.3.5 |
H1 :: Element "h1" '['Flow, 'Heading, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.3.6 |
H2 :: Element "h2" '['Flow, 'Heading, 'Palpable] 'Phrasing ('[] :: [Symbol]) | |
H3 :: Element "h3" '['Flow, 'Heading, 'Palpable] 'Phrasing ('[] :: [Symbol]) | |
H4 :: Element "h4" '['Flow, 'Heading, 'Palpable] 'Phrasing ('[] :: [Symbol]) | |
H5 :: Element "h5" '['Flow, 'Heading, 'Palpable] 'Phrasing ('[] :: [Symbol]) | |
H6 :: Element "h6" '['Flow, 'Heading, 'Palpable] 'Phrasing ('[] :: [Symbol]) | |
Hgroup :: Element "hgroup" '['Flow, 'Heading, 'Palpable] (('Heading ':&: 'NOT ('Elements '["hgroup"])) ':|: 'Scripting) ('[] :: [Symbol]) | 4.3.7 |
Header :: Element "header" '['Flow, 'Palpable] ('Flow ':&: 'NOT ('Elements '["header", "footer"])) ('[] :: [Symbol]) | 4.3.8 |
Footer :: Element "footer" '['Flow, 'Palpable] ('Flow ':&: 'NOT ('Elements '["header", "footer"])) ('[] :: [Symbol]) | 4.3.9 |
Address :: Element "address" '['Flow, 'Palpable] ('Flow ':&: 'NOT ('Heading ':|: ('Sectioning ':|: 'Elements '["header", "footer", "address"]))) ('[] :: [Symbol]) | 4.3.10 |
P :: Element "p" '['Flow, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.4 Grouping content 4.4.1 |
Hr :: Element "hr" '['Flow] 'None ('[] :: [Symbol]) | 4.4.2 |
Pre :: Element "pre" '['Flow, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.4.3 |
Blockquote :: Element "blockquote" '['Flow, 'Palpable] 'Flow '[GetAttributeName 'CiteA] | 4.4.4 |
Ol :: Element "ol" '['Flow, 'Palpable] ('Elements '["li"] ':|: 'Scripting) (GetAttributeName 'ReversedA ': ('StartA & ('TypeA & ('[] :: [Symbol])))) | 4.4.5 |
Ul :: Element "ul" '['Flow, 'Palpable] ('Elements '["li"] ':|: 'Scripting) ('[] :: [Symbol]) | 4.4.6 |
Menu :: Element "menu" '['Flow, 'Palpable] ('Elements '["li"] ':|: 'Scripting) ('[] :: [Symbol]) | 4.4.7 |
Li :: Element "li" ('[] :: [ContentCategory]) 'Flow '[GetAttributeName 'ValueA] | 4.4.8 |
Dl :: Element "dl" '['Flow, 'Palpable] ('Elements '["dt", "dd", "div"] ':|: 'Scripting) ('[] :: [Symbol]) | 4.4.9 |
Dt :: Element "dt" ('[] :: [ContentCategory]) ('Flow ':&: 'NOT ('Sectioning ':|: ('Heading ':|: 'Elements '["header", "footer"]))) ('[] :: [Symbol]) | 4.4.10 |
Dd :: Element "dd" ('[] :: [ContentCategory]) 'Flow ('[] :: [Symbol]) | 4.4.11 |
Figure :: Element "figure" '['Flow, 'Palpable] ('Flow ':|: 'Elements '["figcaption"]) ('[] :: [Symbol]) | 4.4.12 |
Figcaption :: Element "figcaption" ('[] :: [ContentCategory]) 'Flow ('[] :: [Symbol]) | 4.4.13 |
Main :: Element "main" '['Flow, 'Palpable] 'Flow ('[] :: [Symbol]) | 4.4.14 |
Div :: Element "div" '['Flow, 'Palpable] ('Flow ':|: ('Elements '["dt", "dt"] ':|: 'Scripting)) ('[] :: [Symbol]) | 4.4.15 |
A :: Element "a" '['Flow, 'Phrasing, 'Interactive, 'Palpable] (('Flow ':|: ('Phrasing ':|: 'Palpable)) ':&: 'NOT ('Elements '["a"])) (GetAttributeName 'HrefA ': ('TargetA & ('DownloadA & ('PingA & ('RelA & ('HreflangA & ('TypeA & ('ReferrerpolicyA & ('[] :: [Symbol]))))))))) | 4.5 Text-level semantics 4.5.1 |
Em :: Element "em" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.2 |
Strong :: Element "strong" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.3 |
Small :: Element "small" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.4 |
S :: Element "s" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.5 |
Cite :: Element "cite" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.6 |
Q :: Element "q" '['Flow, 'Phrasing, 'Palpable] 'Phrasing '[GetAttributeName 'CiteA] | 4.5.7 |
Dfn :: Element "dfn" '['Flow, 'Phrasing, 'Palpable] ('Phrasing ':&: 'NOT ('Elements '["dfn"])) ('[] :: [Symbol]) | 4.5.8 |
Abbr :: Element "abbr" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.9 |
Ruby :: Element "ruby" '['Flow, 'Phrasing, 'Palpable] ('Phrasing ':|: 'Elements '["rt", "rp"]) ('[] :: [Symbol]) | 4.5.10 |
Rt :: Element "rt" ('[] :: [ContentCategory]) 'Phrasing ('[] :: [Symbol]) | 4.5.11 |
Rp :: Element "rp" ('[] :: [ContentCategory]) 'OnlyText ('[] :: [Symbol]) | 4.5.12 |
Data :: Element "data" '['Flow, 'Phrasing, 'Palpable] 'Phrasing '[GetAttributeName 'ValueA] | 4.5.13 |
Time :: Element "time" '['Flow, 'Phrasing, 'Palpable] 'Phrasing '[GetAttributeName 'DatetimeA] | 4.5.14 |
Code :: Element "code" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.15 |
Var :: Element "var" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.16 |
Samp :: Element "samp" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.17 |
Kbd :: Element "kbd" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.18 |
Sub :: Element "sub" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.19 |
Sup :: Element "sup" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | |
I :: Element "i" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.20 |
B :: Element "b" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.21 |
U :: Element "u" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.22 |
Mark :: Element "mark" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.23 |
Bdi :: Element "bdi" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.24 |
Bdo :: Element "bdo" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.25 |
Span :: Element "span" '['Flow, 'Phrasing, 'Palpable] 'Phrasing ('[] :: [Symbol]) | 4.5.26 |
Br :: Element "br" '['Flow, 'Phrasing] 'None ('[] :: [Symbol]) | 4.5.27 |
Wbr :: Element "wbr" '['Flow, 'Phrasing] 'None ('[] :: [Symbol]) | 4.5.28 |
Ins :: Element "ins" '['Flow, 'Phrasing, 'Palpable] ('Flow ':|: ('Phrasing ':|: 'Palpable)) (GetAttributeName 'CiteA ': ('DatetimeA & ('[] :: [Symbol]))) | 4.7 Edits 4.7.1 |
Del :: Element "del" '['Flow, 'Phrasing] ('Flow ':|: 'Phrasing) (GetAttributeName 'CiteA ': ('DatetimeA & ('[] :: [Symbol]))) | 4.7.2 |
Picture :: Element "picture" '['Flow, 'Phrasing, 'Embedded] ('Elements '["source", "img"] ':|: 'Scripting) ('[] :: [Symbol]) | 4.8 Embedded content 4.8.1 |
Source :: Element "source" ('[] :: [ContentCategory]) 'None (GetAttributeName 'SrcA ': ('TypeA & ('SrcsetA & ('SizesA & ('MediaA & ('[] :: [Symbol])))))) | 4.8.2 |
Img :: Element "img" '['Flow, 'Phrasing, 'Embedded, 'Interactive, 'Palpable] 'None (GetAttributeName 'AltA ': ('SrcA & ('SrcsetA & ('SizesA & ('CrossoriginA & ('UsemapA & ('IsmapA & ('WidthA & ('HeightA & ('ReferrerpolicyA & ('DecodingA & ('LoadingA & ('[] :: [Symbol]))))))))))))) | 4.8.3 |
Iframe :: Element "iframe" '['Flow, 'Phrasing, 'Embedded, 'Interactive, 'Palpable] 'None (GetAttributeName 'SrcA ': ('SrcdocA & ('NameA & ('SandboxA & ('AllowA & ('AllowfullscreenA & ('WidthA & ('HeightA & ('ReferrerpolicyA & ('LoadingA & ('[] :: [Symbol]))))))))))) | 4.8.5 |
Embed :: Element "embed" '['Flow, 'Phrasing, 'Embedded, 'Interactive, 'Palpable] 'None (GetAttributeName 'SrcA ': ('TypeA & ('WidthA & ('HeightA & ('[] :: [Symbol]))))) | 4.8.6 |
Object :: Element "object" '['Flow, 'Phrasing, 'Embedded, 'Interactive, 'Palpable] ('Elements '["param"] ':|: ('Flow ':|: ('Phrasing ':|: ('Embedded ':|: ('Interactive ':|: 'Palpable))))) (GetAttributeName 'DataA ': ('TypeA & ('NameA & ('UsemapA & ('FormA & ('WidthA & ('HeightA & ('[] :: [Symbol])))))))) | 4.8.7 |
Param :: Element "param" ('[] :: [ContentCategory]) 'None (GetAttributeName 'NameA ': ('ValueA & ('[] :: [Symbol]))) | 4.8.8 |
Video :: Element "video" '['Flow, 'Phrasing, 'Embedded, 'Interactive, 'Palpable] (('Elements '["track", "source"] ':|: ('Flow ':|: ('Phrasing ':|: ('Embedded ':|: ('Interactive ':|: 'Palpable))))) ':&: 'NOT ('Elements '["audio", "video"])) (GetAttributeName 'SrcA ': ('CrossoriginA & ('PosterA & ('PreloadA & ('AutoplayA & ('PlaysinlineA & ('LoopA & ('MutedA & ('ControlsA & ('WidthA & ('HeightA & ('[] :: [Symbol])))))))))))) | 4.8.9 |
Audio :: Element "audio" '['Flow, 'Phrasing, 'Embedded, 'Interactive, 'Palpable] (('Elements '["track", "source"] ':|: ('Flow ':|: ('Phrasing ':|: ('Embedded ':|: ('Interactive ':|: 'Palpable))))) ':&: 'NOT ('Elements '["audio", "video"])) (GetAttributeName 'SrcA ': ('CrossoriginA & ('PreloadA & ('AutoplayA & ('LoopA & ('MutedA & ('ControlsA & ('[] :: [Symbol])))))))) | 4.8.10 |
Track :: Element "track" ('[] :: [ContentCategory]) 'None (GetAttributeName 'KindA ': ('SrcA & ('SrclangA & ('LabelA & ('DefaultA & ('[] :: [Symbol])))))) | 4.8.11 |
Map :: Element "map" '['Flow, 'Phrasing, 'Palpable] ('Flow ':|: ('Phrasing ':|: 'Palpable)) '[GetAttributeName 'NameA] | 4.8.13 |
Area :: Element "area" '['Flow, 'Phrasing] 'None (GetAttributeName 'AltA ': ('CoordsA & ('ShapeA & ('HrefA & ('TargetA & ('DownloadA & ('PingA & ('RelA & ('ReferrerpolicyA & ('[] :: [Symbol])))))))))) | 4.8.14 |
Table :: Element "table" '['Flow, 'Palpable] ('Elements '["caption", "colgroup", "thead", "tbody", "tr", "tfoot"] ':|: 'Scripting) ('[] :: [Symbol]) | 4.9 Tabular data 4.9.1 |
Caption :: Element "caption" ('[] :: [ContentCategory]) ('Flow ':|: 'NOT ('Elements '["table"])) ('[] :: [Symbol]) | 4.9.2 |
Colgroup :: Element "colgroup" ('[] :: [ContentCategory]) ('Elements '["col", "template"]) '[GetAttributeName 'SpanA] | 4.9.3 |
Col :: Element "col" ('[] :: [ContentCategory]) 'None '[GetAttributeName 'SpanA] | 4.9.4 |
Tbody :: Element "tbody" ('[] :: [ContentCategory]) ('Elements '["tr"] ':|: 'Scripting) ('[] :: [Symbol]) | 4.9.5 |
Thead :: Element "thead" ('[] :: [ContentCategory]) ('Elements '["tr"] ':|: 'Scripting) ('[] :: [Symbol]) | 4.9.6 |
Tfoot :: Element "tfoot" ('[] :: [ContentCategory]) ('Elements '["tr"] ':|: 'Scripting) ('[] :: [Symbol]) | 4.9.7 |
Tr :: Element "tr" ('[] :: [ContentCategory]) ('Elements '["td", "th"] ':|: 'Scripting) ('[] :: [Symbol]) | 4.9.8 |
Td :: Element "td" ('[] :: [ContentCategory]) 'Flow (GetAttributeName 'ColspanA ': ('RowspanA & ('HeadersA & ('[] :: [Symbol])))) | 4.9.9 |
Th :: Element "th" ('[] :: [ContentCategory]) ('Flow ':&: 'NOT ('Elements '["header", "footer"] ':|: ('Sectioning ':|: 'Heading))) (GetAttributeName 'ColspanA ': ('RowspanA & ('HeadersA & ('ScopeA & ('AbbrA & ('[] :: [Symbol])))))) | 4.9.10 |
Form :: Element "form" '['Flow, 'Palpable] ('Flow ':&: 'NOT ('Elements '["form"])) (GetAttributeName 'AcceptCharsetA ': ('ActionA & ('AutocompleteA & ('EnctypeA & ('MethodA & ('NameA & ('NovalidateA & ('TargetA & ('RelA & ('[] :: [Symbol])))))))))) | 4.10 Forms 4.10.3 |
Label :: Element "label" '['Flow, 'Phrasing, 'Interactive, 'Palpable] ('Phrasing ':&: 'NOT ('Elements '["label"])) '[GetAttributeName 'ForA] | 4.10.4 |
Input :: Element "input" '['Flow, 'Phrasing, 'Interactive, 'Palpable] 'None (GetAttributeName 'AcceptA ': ('AltA & ('AutocompleteA & ('CheckedA & ('DirnameA & ('DisabledA & ('FormA & ('FormactionA & ('FormenctypeA & ('FormmethodA & ('FormnovalidateA & ('FormtargetA & ('HeightA & ('ListA & ('MaxA & ('MaxlengthA & ('MinA & ('MinlengthA & ('MultipleA & ('NameA & ('PatternA & ('PlaceholderA & ('ReadonlyA & ('RequiredA & ('SizeA & ('SrcA & ('StepA & ('TypeA & ('ValueA & ('WidthA & ('[] :: [Symbol]))))))))))))))))))))))))))))))) | 4.10.5 |
Button :: Element "button" '['Flow, 'Phrasing, 'Interactive, 'Palpable] ('Phrasing ':&: 'NOT 'Interactive) (GetAttributeName 'DisabledA ': ('FormA & ('FormactionA & ('FormenctypeA & ('FormmethodA & ('FormnovalidateA & ('FormtargetA & ('NameA & ('TypeA & ('ValueA & ('[] :: [Symbol]))))))))))) | 4.10.6 |
Select :: Element "select" '['Flow, 'Phrasing, 'Interactive, 'Palpable] ('Elements '["option", "optgroup"] ':|: 'Scripting) (GetAttributeName 'AutocompleteA ': ('DisabledA & ('FormA & ('MultipleA & ('NameA & ('RequiredA & ('SizeA & ('[] :: [Symbol])))))))) | 4.10.7 |
Datalist :: Element "datalist" '['Flow, 'Phrasing] ('Phrasing ':|: ('Scripting ':|: 'Elements '["option"])) ('[] :: [Symbol]) | 4.10.8 |
Optgroup :: Element "optgroup" ('[] :: [ContentCategory]) ('Elements '["option"] ':|: 'Scripting) (GetAttributeName 'DisabledA ': ('LabelA & ('[] :: [Symbol]))) | 4.10.9 |
Option :: Element "option" ('[] :: [ContentCategory]) 'OnlyText (GetAttributeName 'DisabledA ': ('LabelA & ('SelectedA & ('ValueA & ('[] :: [Symbol]))))) | 4.10.10 |
Textarea :: Element "textarea" '['Flow, 'Phrasing, 'Interactive, 'Palpable] 'OnlyText (GetAttributeName 'AutocompleteA ': ('ColsA & ('DirnameA & ('DisabledA & ('FormA & ('MaxlengthA & ('MinlengthA & ('NameA & ('PlaceholderA & ('ReadonlyA & ('RequiredA & ('RowsA & ('WrapA & ('[] :: [Symbol])))))))))))))) | 4.10.11 |
Output :: Element "output" '['Flow, 'Phrasing, 'Palpable] 'Phrasing (GetAttributeName 'ForA ': ('FormA & ('NameA & ('[] :: [Symbol])))) | 4.10.12 |
Progress :: Element "progress" '['Flow, 'Phrasing, 'Palpable] ('Phrasing ':&: 'NOT ('Elements '["progress"])) (GetAttributeName 'ValueA ': ('MaxA & ('[] :: [Symbol]))) | 4.10.13 |
Meter :: Element "meter" '['Flow, 'Phrasing, 'Palpable] ('Phrasing ':&: 'NOT ('Elements '["meter"])) (GetAttributeName 'ValueA ': ('MinA & ('MaxA & ('LowA & ('HighA & ('OptimumA & ('[] :: [Symbol]))))))) | 4.10.14 |
Fieldset :: Element "fieldset" '['Flow, 'Palpable] ('Elements '["legend"] ':|: 'Flow) (GetAttributeName 'DisabledA ': ('FormA & ('NameA & ('[] :: [Symbol])))) | 4.10.15 |
Legend :: Element "legend" ('[] :: [ContentCategory]) ('Phrasing ':|: 'Heading) ('[] :: [Symbol]) | 4.10.16 |
Details :: Element "details" '['Flow, 'Interactive, 'Palpable] ('Elements '["summary"] ':|: 'Flow) '[GetAttributeName 'OpenA] | 4.11 Interactive elements 4.11.1 |
Summary :: Element "summary" ('[] :: [ContentCategory]) ('Phrasing ':|: 'Heading) ('[] :: [Symbol]) | 4.11.2 |
Dialog :: Element "dialog" '['Flow] 'Flow '[GetAttributeName 'OpenA] | 4.11.4 |
Script :: Element "script" '['Metadata, 'Flow, 'Phrasing, 'Scripting] 'OnlyText (GetAttributeName 'SrcA ': ('TypeA & ('NomoduleA & ('AsyncA & ('DeferA & ('CrossoriginA & ('IntegrityA & ('ReferrerpolicyA & ('[] :: [Symbol]))))))))) | 4.12 Scripting 4.12.1 |
Noscript :: Element "noscript" '['Metadata, 'Flow, 'Phrasing] (('Elements '["link", "style", "meta"] ':|: ('Metadata ':|: ('Flow ':|: 'Phrasing))) ':&: 'NOT ('Elements '["noscript"])) ('[] :: [Symbol]) | 4.12.2 |
Template :: Element "template" '['Metadata, 'Flow, 'Phrasing, 'Scripting] ('Metadata ':|: ('Flow ':|: ('Sectioning ':|: ('Heading ':|: ('Phrasing ':|: 'Palpable))))) ('[] :: [Symbol]) | 4.12.3 |
Slot :: Element "slot" '['Flow, 'Phrasing] ('Flow ':|: 'Phrasing) '[GetAttributeName 'NameA] | 4.12.4 |
Canvas :: Element "canvas" '['Flow, 'Phrasing, 'Embedded, 'Palpable] ((('Flow ':|: ('Phrasing ':|: ('Embedded ':|: 'Palpable))) ':&: 'NOT 'Interactive) ':|: 'Elements '["a", "img", "button", "input", "select"]) (GetAttributeName 'WidthA ': ('HeightA & ('[] :: [Symbol]))) | 4.12.5 |
CustomElement :: forall (name :: Symbol) (categories :: [ContentCategory]) (contentModel :: ContentCategory) (contentAttributes :: [Symbol]). Element name categories contentModel contentAttributes | 4.13 Custom elements |
data Attribute (name :: Symbol) (global :: Bool) (boolean :: Bool) where Source #
Constructors
data CompactHTML (a :: [Symbol]) Source #
A compacted html documented with it's variables annoted as a list of Symbols. It's Show instance is quite useful for developping: It highlights variables and renders the rest of the html.
Instances
ShowTypeList a => Show (CompactHTML a) Source # | |
Defined in Html.Type.Internal Methods showsPrec :: Int -> CompactHTML a -> ShowS # show :: CompactHTML a -> String # showList :: [CompactHTML a] -> ShowS # |
Data for declaring variables in a html document which will be compacted.
Constructors
V |
Wrapper for types which won't be escaped.
class Retrievable (a :: [Symbol]) Source #
List of Symbols for which a render function can be created.
Minimal complete definition
retrieve
Instances
Retrievable ('[] :: [Symbol]) Source # | |
Defined in Html.Reify | |
(KnownSymbol x, Retrievable xs) => Retrievable (x ': xs) Source # | |
Defined in Html.Reify |
type family Retrieve f (xs :: [Symbol]) where ... Source #
Type of a rendered compact html which determines the amount of arguments.
type Variables a = Dedupe (GetV a) Source #
Unique set of variables in a html document in the order of occurence.
type family Document a where ... Source #
Constraint for html documents. It's a type family to avoid an error about FlexibleContexts and a warning about MonoLocalBinds.
Equations
Document a = Document' a |
type family Compactable a where ... Source #
Constraint for compactable html documents. It's a type family to avoid an error about FlexibleContexts and a warning about MonoLocalBinds.
Equations
Compactable a = Compactable' a |
data ContentCategory Source #
Type level modelling of html
The following types and docs are from the following source: [2020-10-16] https://html.spec.whatwg.org/ Copyright © WHATWG HTML - Living Standard (Apple, Google, Mozilla, Microsoft). This work is licensed under a Creative Commons Attribution 4.0 International License
3 Semantics. structure, and APIs of HTML documents 3.2 Elements 3.2.5 Content models
Constructors
OnlyText | |
(:|:) ContentCategory ContentCategory infixr 2 | |
(:&:) ContentCategory ContentCategory infixr 3 | |
NOT ContentCategory | |
Elements [Symbol] | |
None | 3.2.5.1 The "nothing" content model |
Metadata | 3.2.5.2 Kinds of content 3.2.5.2.1 Metadata content |
Flow | 3.2.5.2.2 Flow content |
Sectioning | 3.2.5.2.3 Sectioning content |
Heading | 3.2.5.2.4 Heading content |
Phrasing | 3.2.5.2.5 Phrasing content |
Embedded | 3.2.5.2.6 Embedded content |
Interactive | 3.2.5.2.7 Interactive content |
Palpable | 3.2.5.2.8 Palpable content |
Scripting | 3.2.5.2.9 Script-supporting elements |