-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Organized and simple web page scaffold for blaze and lucid
--
@package webpage
@version 0.0.1
module Web.Page.Types
-- | Generic layout for a web page. We keep the data type purely parametric
-- to allow for record-syntax overloading / reassignment, like this: .
-- > page :: WebPage (Html ()) T.Text > > page' = page
-- {pageTitle = "foo!"}
data WebPage markup attr
WebPage :: attr -> attr -> markup -> markup -> markup -> markup -> markup -> markup -> WebPage markup attr
-- | Page title
pageTitle :: WebPage markup attr -> attr
-- | Favicon url
favicon :: WebPage markup attr -> attr
-- | <meta> tags
metaVars :: WebPage markup attr -> markup
-- | JavaScript to include at the top of the page
initScripts :: WebPage markup attr -> markup
-- | JavaScript to include before <style> tags
beforeStylesScripts :: WebPage markup attr -> markup
-- | Styles
styles :: WebPage markup attr -> markup
-- | JavaScript to include after <style> tags - ie:
-- Modernizr
afterStylesScripts :: WebPage markup attr -> markup
-- | JavaScript to include at the base of <body>
bodyScripts :: WebPage markup attr -> markup
instance (Monoid m, Monoid a) => Monoid (WebPage m a)
module Web.Page.Lucid
-- | Generic page template implemented in Lucid.
template :: Monad m => WebPage (HtmlT m ()) Text -> HtmlT m () -> HtmlT m ()
module Web.Page.Blaze
-- | You should really be using Lucid...
template :: WebPage Html Text -> Html -> Html