-- | Common page components and rendering helpers. -- For global page layout, see Application.hs. module Handler.Common where import Import import Data.List import Data.Text(pack) import Data.Time.Calendar import System.FilePath (takeFileName) #if BLAZE_HTML_0_4 import Text.Blaze (preEscapedString) #else import Text.Blaze.Internal (preEscapedString) #endif import Text.Printf import Hledger.Utils import Hledger.Data import Hledger.Query import Hledger.Reports import Hledger.Cli.Options import Hledger.Web.Options ------------------------------------------------------------------------------- -- Common page layout -- | Standard hledger-web page layout. hledgerLayout :: ViewData -> String -> HtmlUrl AppRoute -> HandlerT App IO Html hledgerLayout vd title content = do defaultLayout $ do setTitle $ toHtml $ title ++ " - hledger-web" toWidget [hamlet|