|
|
|
|
|
Description |
Produces XHTML 1.0 Strict.
|
|
Synopsis |
|
|
|
|
Data types
|
|
data Html |
Instances | |
|
|
data HtmlAttr |
Attributes with name and value.
| Instances | |
|
|
Classes
|
|
class HTML a where |
HTML is the class of things that can be validly put
inside an HTML tag. So this can be one or more Html elements,
or a String, for example.
| | Methods | toHtml :: a -> Html | | toHtmlFromList :: [a] -> Html |
| | Instances | |
|
|
class ADDATTRS a where |
| Methods | | | Instances | |
|
|
Primitives and basic combinators
|
|
(<<) |
:: HTML a | | => (Html -> b) | Parent
| -> a | Child
| -> b | | Put something inside an HTML element.
|
|
|
concatHtml :: HTML a => [a] -> Html |
|
(+++) :: (HTML a, HTML b) => a -> b -> Html |
Create a piece of HTML which is the concatenation
of two things which can be made into HTML.
|
|
noHtml :: Html |
An empty piece of HTML.
|
|
isNoHtml :: Html -> Bool |
Checks whether the given piece of HTML is empty.
|
|
tag |
:: String | Element name
| -> Html | Element contents
| -> Html | | Constructs an element with a custom name.
|
|
|
itag :: String -> Html |
Constructs an element with a custom name, and
without any children.
|
|
emptyAttr :: String -> HtmlAttr |
|
intAttr :: String -> Int -> HtmlAttr |
|
strAttr :: String -> String -> HtmlAttr |
|
primHtml :: String -> Html |
This is not processed for special chars.
use stringToHtml or lineToHtml instead, for user strings,
because they understand special chars, like <.
|
|
Rendering
|
|
showHtml :: HTML html => html -> String |
Output the HTML without adding newlines or spaces within the markup.
This should be the most time and space efficient way to
render HTML, though the ouput is quite unreadable.
|
|
renderHtml :: HTML html => html -> String |
Outputs indented HTML. Because space matters in
HTML, the output is quite messy.
|
|
prettyHtml :: HTML html => html -> String |
Outputs indented HTML, with indentation inside elements.
This can change the meaning of the HTML document, and
is mostly useful for debugging the HTML output.
The implementation is inefficient, and you are normally
better off using showHtml or renderHtml.
|
|
showHtmlFragment :: HTML html => html -> String |
Render a piece of HTML without adding a DOCTYPE declaration
or root element. Does not add any extra whitespace.
|
|
renderHtmlFragment :: HTML html => html -> String |
Render a piece of indented HTML without adding a DOCTYPE declaration
or root element. Only adds whitespace where it does not change
the meaning of the document.
|
|
prettyHtmlFragment :: HTML html => html -> String |
Render a piece of indented HTML without adding a DOCTYPE declaration
or a root element.
The indentation is done inside elements.
This can change the meaning of the HTML document, and
is mostly useful for debugging the HTML output.
The implementation is inefficient, and you are normally
better off using showHtmlFragment or renderHtmlFragment.
|
|
Elements in XHTML Strict
|
|
abbr :: Html -> Html |
|
acronym :: Html -> Html |
|
address :: Html -> Html |
|
anchor :: Html -> Html |
|
area :: Html |
|
bdo :: Html -> Html |
|
big :: Html -> Html |
|
blockquote :: Html -> Html |
|
body :: Html -> Html |
|
bold :: Html -> Html |
|
br :: Html |
|
button :: Html -> Html |
|
caption :: Html -> Html |
|
cite :: Html -> Html |
|
col :: Html -> Html |
|
colgroup :: Html -> Html |
|
del :: Html -> Html |
|
ddef :: Html -> Html |
|
define :: Html -> Html |
|
dlist :: Html -> Html |
|
dterm :: Html -> Html |
|
emphasize :: Html -> Html |
|
fieldset :: Html -> Html |
|
form :: Html -> Html |
|
h1 :: Html -> Html |
|
h2 :: Html -> Html |
|
h3 :: Html -> Html |
|
h4 :: Html -> Html |
|
h5 :: Html -> Html |
|
h6 :: Html -> Html |
|
header :: Html -> Html |
|
hr :: Html |
|
image :: Html |
|
input :: Html |
|
ins :: Html -> Html |
|
italics :: Html -> Html |
|
keyboard :: Html -> Html |
|
label :: Html -> Html |
|
legend :: Html -> Html |
|
li :: Html -> Html |
|
meta :: Html |
|
noscript :: Html -> Html |
|
object :: Html -> Html |
|
olist :: Html -> Html |
|
optgroup :: Html -> Html |
|
option :: Html -> Html |
|
paragraph :: Html -> Html |
|
param :: Html |
|
pre :: Html -> Html |
|
quote :: Html -> Html |
|
sample :: Html -> Html |
|
script :: Html -> Html |
|
select :: Html -> Html |
|
small :: Html -> Html |
|
strong :: Html -> Html |
|
style :: Html -> Html |
|
sub :: Html -> Html |
|
sup :: Html -> Html |
|
table :: Html -> Html |
|
tbody :: Html -> Html |
|
td :: Html -> Html |
|
textarea :: Html -> Html |
|
tfoot :: Html -> Html |
|
th :: Html -> Html |
|
thead :: Html -> Html |
|
thebase :: Html |
|
thecode :: Html -> Html |
|
thediv :: Html -> Html |
|
thehtml :: Html -> Html |
|
thelink :: Html -> Html |
|
themap :: Html -> Html |
|
thespan :: Html -> Html |
|
thetitle :: Html -> Html |
|
tr :: Html -> Html |
|
tt :: Html -> Html |
|
ulist :: Html -> Html |
|
variable :: Html -> Html |
|
Attributes in XHTML Strict
|
|
action :: String -> HtmlAttr |
|
align :: String -> HtmlAttr |
|
alt :: String -> HtmlAttr |
|
altcode :: String -> HtmlAttr |
|
archive :: String -> HtmlAttr |
|
base :: String -> HtmlAttr |
|
border :: Int -> HtmlAttr |
|
bordercolor :: String -> HtmlAttr |
|
cellpadding :: Int -> HtmlAttr |
|
cellspacing :: Int -> HtmlAttr |
|
checked :: HtmlAttr |
|
codebase :: String -> HtmlAttr |
|
cols :: String -> HtmlAttr |
|
colspan :: Int -> HtmlAttr |
|
content :: String -> HtmlAttr |
|
coords :: String -> HtmlAttr |
|
disabled :: HtmlAttr |
|
enctype :: String -> HtmlAttr |
|
height :: String -> HtmlAttr |
|
href :: String -> HtmlAttr |
|
httpequiv :: String -> HtmlAttr |
|
identifier :: String -> HtmlAttr |
|
ismap :: HtmlAttr |
|
lang :: String -> HtmlAttr |
|
maxlength :: Int -> HtmlAttr |
|
method :: String -> HtmlAttr |
|
multiple :: HtmlAttr |
|
name :: String -> HtmlAttr |
|
nohref :: HtmlAttr |
|
rel :: String -> HtmlAttr |
|
rev :: String -> HtmlAttr |
|
rows :: String -> HtmlAttr |
|
rowspan :: Int -> HtmlAttr |
|
rules :: String -> HtmlAttr |
|
selected :: HtmlAttr |
|
shape :: String -> HtmlAttr |
|
size :: String -> HtmlAttr |
|
src :: String -> HtmlAttr |
|
theclass :: String -> HtmlAttr |
|
thefor :: String -> HtmlAttr |
|
thestyle :: String -> HtmlAttr |
|
thetype :: String -> HtmlAttr |
|
title :: String -> HtmlAttr |
|
usemap :: String -> HtmlAttr |
|
valign :: String -> HtmlAttr |
|
value :: String -> HtmlAttr |
|
width :: String -> HtmlAttr |
|
Converting strings to HTML
|
|
stringToHtml :: String -> Html |
Convert a String to Html, converting
characters that need to be escaped to HTML entities.
|
|
lineToHtml :: String -> Html |
This converts a string, but keeps spaces as non-line-breakable.
|
|
linesToHtml :: [String] -> Html |
This converts a string, but keeps spaces as non-line-breakable,
and adds line breaks between each of the strings in the input list.
|
|
Html abbreviations
|
|
primHtmlChar :: String -> Html |
|
copyright :: Html |
Copyright sign.
|
|
spaceHtml :: Html |
Non-breaking space.
|
|
bullet :: Html |
|
p :: Html -> Html |
Same as paragraph.
|
|
Hotlinks
|
|
type URL = String |
|
data HotLink |
Constructors | | Instances | |
|
|
hotlink :: URL -> Html -> HotLink |
|
Lists
|
|
ordList :: HTML a => [a] -> Html |
|
unordList :: HTML a => [a] -> Html |
|
defList :: (HTML a, HTML b) => [(a, b)] -> Html |
|
Forms
|
|
widget :: String -> String -> [HtmlAttr] -> Html |
|
checkbox :: String -> String -> Html |
|
hidden :: String -> String -> Html |
|
radio :: String -> String -> Html |
|
reset :: String -> String -> Html |
|
submit :: String -> String -> Html |
|
password :: String -> Html |
|
textfield :: String -> Html |
|
afile :: String -> Html |
|
clickmap :: String -> Html |
|
menu :: String -> [Html] -> Html |
|
gui :: String -> Html -> Html |
|
Produced by Haddock version 0.8 |