module Text.XHtml.Extras where
import Text.XHtml.Internals
import Text.XHtml.Strict.Elements
import Text.XHtml.Strict.Attributes
stringToHtml :: String -> Html
stringToHtml :: String -> Html
stringToHtml = String -> Html
primHtml (String -> Html) -> (String -> String) -> String -> Html
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> String
stringToHtmlString
lineToHtml :: String -> Html
lineToHtml :: String -> Html
lineToHtml = String -> Html
primHtml (String -> Html) -> (String -> String) -> String -> Html
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Char -> String) -> String -> String
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
External instance of the constraint type Foldable []
concatMap Char -> String
htmlizeChar2 (String -> String) -> (String -> String) -> String -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> String
stringToHtmlString
where
htmlizeChar2 :: Char -> String
htmlizeChar2 Char
' ' = String
" "
htmlizeChar2 Char
c = [Char
c]
linesToHtml :: [String] -> Html
linesToHtml :: [String] -> Html
linesToHtml [] = Html
noHtml
linesToHtml (String
x:[]) = String -> Html
lineToHtml String
x
linesToHtml (String
x:[String]
xs) = String -> Html
lineToHtml String
x Html -> Html -> Html
forall a b. (HTML a, HTML b) => a -> b -> Html
External instance of the constraint type HTML Html
External instance of the constraint type HTML Html
+++ Html
br Html -> Html -> Html
forall a b. (HTML a, HTML b) => a -> b -> Html
External instance of the constraint type HTML Html
External instance of the constraint type HTML Html
+++ [String] -> Html
linesToHtml [String]
xs
primHtmlChar :: String -> Html
copyright :: Html
spaceHtml :: Html
bullet :: Html
primHtmlChar :: String -> Html
primHtmlChar = \ String
x -> String -> Html
primHtml (String
"&" String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
x String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
";")
copyright :: Html
copyright = String -> Html
primHtmlChar String
"copy"
spaceHtml :: Html
spaceHtml = String -> Html
primHtmlChar String
"nbsp"
bullet :: Html
bullet = String -> Html
primHtmlChar String
"#149"
p :: Html -> Html
p :: Html -> Html
p = Html -> Html
paragraph
type URL = String
data HotLink = HotLink {
HotLink -> String
hotLinkURL :: URL,
HotLink -> Html
hotLinkContents :: Html,
HotLink -> [HtmlAttr]
hotLinkAttributes :: [HtmlAttr]
} deriving Int -> HotLink -> String -> String
[HotLink] -> String -> String
HotLink -> String
(Int -> HotLink -> String -> String)
-> (HotLink -> String)
-> ([HotLink] -> String -> String)
-> Show HotLink
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [HotLink] -> String -> String
$cshowList :: [HotLink] -> String -> String
show :: HotLink -> String
$cshow :: HotLink -> String
showsPrec :: Int -> HotLink -> String -> String
$cshowsPrec :: Int -> HotLink -> String -> String
External instance of the constraint type Show HtmlAttr
External instance of the constraint type Show Char
External instance of the constraint type Show HtmlAttr
External instance of the constraint type Show Html
External instance of the constraint type Show Char
External instance of the constraint type forall a. Show a => Show [a]
External instance of the constraint type Ord Int
Show
instance HTML HotLink where
toHtml :: HotLink -> Html
toHtml HotLink
hl = Html -> Html
anchor (Html -> Html) -> [HtmlAttr] -> Html -> Html
forall a. ADDATTRS a => a -> [HtmlAttr] -> a
External instance of the constraint type forall b a. ADDATTRS b => ADDATTRS (a -> b)
External instance of the constraint type ADDATTRS Html
! (String -> HtmlAttr
href (HotLink -> String
hotLinkURL HotLink
hl) HtmlAttr -> [HtmlAttr] -> [HtmlAttr]
forall a. a -> [a] -> [a]
: HotLink -> [HtmlAttr]
hotLinkAttributes HotLink
hl)
(Html -> Html) -> Html -> Html
forall a b. HTML a => (Html -> b) -> a -> b
External instance of the constraint type HTML Html
<< HotLink -> Html
hotLinkContents HotLink
hl
instance ADDATTRS HotLink where
HotLink
hl ! :: HotLink -> [HtmlAttr] -> HotLink
! [HtmlAttr]
attr = HotLink
hl { hotLinkAttributes :: [HtmlAttr]
hotLinkAttributes = HotLink -> [HtmlAttr]
hotLinkAttributes HotLink
hl [HtmlAttr] -> [HtmlAttr] -> [HtmlAttr]
forall a. [a] -> [a] -> [a]
++ [HtmlAttr]
attr }
hotlink :: URL -> Html -> HotLink
hotlink :: String -> Html -> HotLink
hotlink String
url Html
h = HotLink :: String -> Html -> [HtmlAttr] -> HotLink
HotLink {
hotLinkURL :: String
hotLinkURL = String
url,
hotLinkContents :: Html
hotLinkContents = Html
h,
hotLinkAttributes :: [HtmlAttr]
hotLinkAttributes = [] }
ordList :: (HTML a) => [a] -> Html
ordList :: [a] -> Html
ordList [a]
items = Html -> Html
olist (Html -> Html) -> [Html] -> Html
forall a b. HTML a => (Html -> b) -> a -> b
External instance of the constraint type forall a. HTML a => HTML [a]
External instance of the constraint type HTML Html
<< (a -> Html) -> [a] -> [Html]
forall a b. (a -> b) -> [a] -> [b]
map (Html -> Html
li (Html -> Html) -> a -> Html
forall a b. HTML a => (Html -> b) -> a -> b
Evidence bound by a type signature of the constraint type HTML a
<<) [a]
items
unordList :: (HTML a) => [a] -> Html
unordList :: [a] -> Html
unordList [a]
items = Html -> Html
ulist (Html -> Html) -> [Html] -> Html
forall a b. HTML a => (Html -> b) -> a -> b
External instance of the constraint type forall a. HTML a => HTML [a]
External instance of the constraint type HTML Html
<< (a -> Html) -> [a] -> [Html]
forall a b. (a -> b) -> [a] -> [b]
map (Html -> Html
li (Html -> Html) -> a -> Html
forall a b. HTML a => (Html -> b) -> a -> b
Evidence bound by a type signature of the constraint type HTML a
<<) [a]
items
defList :: (HTML a,HTML b) => [(a,b)] -> Html
defList :: [(a, b)] -> Html
defList [(a, b)]
items
= Html -> Html
dlist (Html -> Html) -> [[Html]] -> Html
forall a b. HTML a => (Html -> b) -> a -> b
External instance of the constraint type forall a. HTML a => HTML [a]
External instance of the constraint type forall a. HTML a => HTML [a]
External instance of the constraint type HTML Html
<< [ [ Html -> Html
dterm (Html -> Html) -> a -> Html
forall a b. HTML a => (Html -> b) -> a -> b
Evidence bound by a type signature of the constraint type HTML a
<< a
dt, Html -> Html
ddef (Html -> Html) -> b -> Html
forall a b. HTML a => (Html -> b) -> a -> b
Evidence bound by a type signature of the constraint type HTML b
<< b
dd ] | (a
dt,b
dd) <- [(a, b)]
items ]
widget :: String -> String -> [HtmlAttr] -> Html
widget :: String -> String -> [HtmlAttr] -> Html
widget String
w String
n [HtmlAttr]
attrs = Html
input Html -> [HtmlAttr] -> Html
forall a. ADDATTRS a => a -> [HtmlAttr] -> a
External instance of the constraint type ADDATTRS Html
! ([String -> HtmlAttr
thetype String
w] [HtmlAttr] -> [HtmlAttr] -> [HtmlAttr]
forall a. [a] -> [a] -> [a]
++ [HtmlAttr]
ns [HtmlAttr] -> [HtmlAttr] -> [HtmlAttr]
forall a. [a] -> [a] -> [a]
++ [HtmlAttr]
attrs)
where ns :: [HtmlAttr]
ns = if String -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
External instance of the constraint type Foldable []
null String
n then [] else [String -> HtmlAttr
name String
n,String -> HtmlAttr
identifier String
n]
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
checkbox :: String -> String -> Html
checkbox String
n String
v = String -> String -> [HtmlAttr] -> Html
widget String
"checkbox" String
n [String -> HtmlAttr
value String
v]
hidden :: String -> String -> Html
hidden String
n String
v = String -> String -> [HtmlAttr] -> Html
widget String
"hidden" String
n [String -> HtmlAttr
value String
v]
radio :: String -> String -> Html
radio String
n String
v = String -> String -> [HtmlAttr] -> Html
widget String
"radio" String
n [String -> HtmlAttr
value String
v]
reset :: String -> String -> Html
reset String
n String
v = String -> String -> [HtmlAttr] -> Html
widget String
"reset" String
n [String -> HtmlAttr
value String
v]
submit :: String -> String -> Html
submit String
n String
v = String -> String -> [HtmlAttr] -> Html
widget String
"submit" String
n [String -> HtmlAttr
value String
v]
password :: String -> Html
password String
n = String -> String -> [HtmlAttr] -> Html
widget String
"password" String
n []
textfield :: String -> Html
textfield String
n = String -> String -> [HtmlAttr] -> Html
widget String
"text" String
n []
afile :: String -> Html
afile String
n = String -> String -> [HtmlAttr] -> Html
widget String
"file" String
n []
clickmap :: String -> Html
clickmap String
n = String -> String -> [HtmlAttr] -> Html
widget String
"image" String
n []
{-# DEPRECATED menu "menu generates strange XHTML, and is not flexible enough. Roll your own that suits your needs." #-}
menu :: String -> [Html] -> Html
String
n [Html]
choices
= Html -> Html
select (Html -> Html) -> [HtmlAttr] -> Html -> Html
forall a. ADDATTRS a => a -> [HtmlAttr] -> a
External instance of the constraint type forall b a. ADDATTRS b => ADDATTRS (a -> b)
External instance of the constraint type ADDATTRS Html
! [String -> HtmlAttr
name String
n] (Html -> Html) -> [Html] -> Html
forall a b. HTML a => (Html -> b) -> a -> b
External instance of the constraint type forall a. HTML a => HTML [a]
External instance of the constraint type HTML Html
<< [ Html -> Html
option (Html -> Html) -> Html -> Html
forall a b. HTML a => (Html -> b) -> a -> b
External instance of the constraint type HTML Html
<< Html -> Html
p (Html -> Html) -> Html -> Html
forall a b. HTML a => (Html -> b) -> a -> b
External instance of the constraint type HTML Html
<< Html
choice | Html
choice <- [Html]
choices ]
gui :: String -> Html -> Html
gui :: String -> Html -> Html
gui String
act = Html -> Html
form (Html -> Html) -> [HtmlAttr] -> Html -> Html
forall a. ADDATTRS a => a -> [HtmlAttr] -> a
External instance of the constraint type forall b a. ADDATTRS b => ADDATTRS (a -> b)
External instance of the constraint type ADDATTRS Html
! [String -> HtmlAttr
action String
act,String -> HtmlAttr
method String
"post"]