packages feed

web-page-0.1.0: test/Test.hs

-- |
-- Module:     Main
-- Copyright:  (c) 2014 Ertugrul Soeylemez
-- License:    BSD3
-- Maintainer: Ertugrul Soeylemez <ertesx@gmx.de>

module Main where

import qualified Data.ByteString.Lazy.Char8 as Blc
import qualified Data.Text as T
import qualified Text.Blaze.Html5 as H
import Clay
import Data.Text (Text)
import Language.Javascript.JMacro
import Web.Page


data Section = Header | Content | Footer
    deriving (Eq, Ord, Show)


myWidget :: WidgetWriter Section Text ()
myWidget =
    withTitle "Test site" $ do
        setTitle "Test page"
        addSection Footer (H.p "copyright crap")
        addScript [jmacro| alert("haha") |]
        addSection Header (H.h1 "blah")
        addStyle $ "html" ? do
            background white
            color black

        addScriptLink "/js/blah.js"
        addStyleLink "/style/screen.css"


main :: IO ()
main = do
    let w = execWriter myWidget
        p = renderWidget [Header, Content, Footer] (T.intercalate " - ") w
        d = inlinePage p

    Blc.putStrLn d