panda-2008.10.24: Panda/Type/Theme.hs
module Panda.Type.Theme where
import Prelude hiding ((.))
import Panda.Helper.Env hiding (name, header)
data Theme = Theme
{ name :: String
, container :: String
, header :: String
, navigation :: String
, main :: String
, sidebar :: String
, footer :: String
, css :: [String]
, js :: [String]
} deriving (Show, Read)
to_theme xs = Theme
{ name = at "name"
, container = at "container"
, header = at "header"
, navigation = at "navigation"
, main = at "main"
, sidebar = at "sidebar"
, footer = at "footer"
, css = at "css" .css_list
, js = at "js" .js_list
}
where
at s = xs.lookup s .fromJust
css_list s = s.parse_list.map (\x -> "/theme/" ++ at "name" ++ "/css/" ++ x ++ ".css")
js_list s = s.parse_list.map (\x -> "/theme/" ++ at "name" ++ "/js/" ++ x ++ ".js")
blank_theme = Theme
{ name = ""
, container = ""
, header = ""
, navigation = ""
, main = ""
, sidebar = ""
, footer = ""
, css = [""]
, js = [""]
}