-- 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