packages feed

muon-0.1.0.4: src/Site.hs

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveDataTypeable #-}
module Site (Site, readSite) where

import qualified Data.Text as T
import Data.Typeable
import Data.Data
import Data.ConfigFile
import Data.Either.Utils
import Config

data Site = Site { title :: T.Text
                 , style :: T.Text
                 , author :: T.Text
                 , tagline :: T.Text
                 } deriving (Data, Typeable, Show)

defaultSite = Site { title = "Default Blog"
                   , style = "/style.css"
                   , author = "Your Name"
                   , tagline = "Description of this blog"
                   }

readSite ::  IO Site
readSite = do
    t <- getSetting "site" "title"
    s <- getSetting "site" "style"
    a <- getSetting "site" "author"
    g <- getSetting "site" "tagline"
    return $ Site { title = T.pack t
                  , style = T.pack s
                  , author = T.pack a
                  , tagline = T.pack g
                  }