module WASH.CGI.HTMLWrapper
(module H, module WASH.CGI.HTMLWrapper) where
import qualified Prelude
import WASH.HTML.HTMLMonad as H hiding (html)
-- |create a standard XHTML page from a title string and body elements
standardPage :: (Prelude.Monad m) =>
Prelude.String -> WithHTML x m a -> WithHTML y m ()
standardPage ttl elems =
htmlHeader ttl (body_S (h1_S (text ttl) ## elems))
-- |create a standard XHTML page without heading from a title string and body elements
htmlHeader :: (Prelude.Monad m) =>
Prelude.String -> WithHTML x m a -> WithHTML y m ()
htmlHeader ttl elems =
html (head_S (title_S (text ttl))
## elems)
-- |create a standard XHTML page from a title string, a stylesheet URL and body
-- elements
cssPage :: (Prelude.Monad m) =>
Prelude.String -> Prelude.String -> WithHTML x m a -> WithHTML y m ()
cssPage ttl cssurl elems =
cssHeader ttl cssurl (body_S (h1_S (text ttl) ## elems))
-- |create an XHTML page with CSS reference but without heading from a title
-- string, the URL of the stylesheet and body elements
cssHeader :: (Prelude.Monad m) =>
Prelude.String -> Prelude.String -> WithHTML x m a -> WithHTML y m ()
cssHeader ttl cssurl elems =
html (head_S (do title_S (text ttl)
link_S (do attr_SS "rel" "stylesheet"
attr_SS "type" "text/css"
attr_SD "href" cssurl))
## elems)
-- |create a bare XHTML root tag with proper namespace attribute
html :: (Prelude.Monad m) =>
WithHTML x m a -> WithHTML y m ()
html elems =
html_T (do elems
attr_SS "xmlns" "http://www.w3.org/1999/xhtml")