{-# LANGUAGE OverloadedStrings #-}
module Web.Hablog.Config where
import Data.Text.Lazy (Text)
data Theme = Theme
{ bgTheme :: FilePath
, codeTheme :: FilePath
}
deriving (Show, Read)
data Config = Config
{ blogTitle :: Text
, blogTheme :: Theme
}
deriving (Show, Read)
data TLSConfig = TLSConfig
{ blogTLSPort :: Int
, blogCert :: FilePath
, blogKey :: FilePath
}
deriving (Show, Read)
defaultConfig :: Config
defaultConfig = Config
{ blogTitle = defaultTitle
, blogTheme = snd defaultTheme
}
defaultTitle :: Text
defaultTitle = "Hablog"
defaultPort :: Int
defaultPort = 80
defaultTLSPort :: Int
defaultTLSPort = 443
defaultTheme :: (String, Theme)
defaultTheme = ("dark", darkTheme)
darkTheme :: Theme
darkTheme = Theme "/static/css/dark.css" "/static/highlight/styles/hybrid.css"
lightTheme :: Theme
lightTheme = Theme "/static/css/light.css" "/static/highlight/styles/docco.css"
themes :: [(String, Theme)]
themes =
[("dark", darkTheme)
,("light", lightTheme)
]