]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/SystemConfig.hs
Implemented sidebars
[Rakka.git] / Rakka / SystemConfig.hs
index ea7e370cfe7aa8d31edb9b643d1e0d40ae01e59f..423e6c508d88402a9c1df0a2b264e88662bf22e6 100644 (file)
@@ -26,6 +26,7 @@ data SystemConfig = SystemConfig {
 data SysConfValue
     = SiteName String
     | BaseURI URI
+    | DefaultPage String
     | StyleSheet String
 
 
@@ -44,23 +45,26 @@ getSysConfA = (arrIO0 .) . getSysConf
 
 {- paths -}
 sysConfPath :: SysConfValue -> FilePath
-sysConfPath (SiteName   _) = "/siteName"
-sysConfPath (BaseURI    _) = "/baseURI"
-sysConfPath (StyleSheet _) = "/styleSheet"
+sysConfPath (SiteName    _) = "/siteName"
+sysConfPath (BaseURI     _) = "/baseURI"
+sysConfPath (DefaultPage _) = "/defaultPage"
+sysConfPath (StyleSheet  _) = "/styleSheet"
 
 
 {- marshalling -}
 marshalSysConf :: SysConfValue -> String
-marshalSysConf (SiteName   name) = name
-marshalSysConf (BaseURI    uri ) = uriToString id uri ""
-marshalSysConf (StyleSheet name) = name
+marshalSysConf (SiteName    name) = name
+marshalSysConf (BaseURI     uri ) = uriToString id uri ""
+marshalSysConf (DefaultPage name) = name
+marshalSysConf (StyleSheet  name) = name
 
 
 {- unmarshalling -}
 unmarshalSysConf :: SysConfValue -> String -> SysConfValue
-unmarshalSysConf (SiteName   _) name = SiteName name
-unmarshalSysConf (BaseURI    _) uri  = BaseURI $ fromJust $ parseURI uri
-unmarshalSysConf (StyleSheet _) name = StyleSheet name
+unmarshalSysConf (SiteName    _) name = SiteName name
+unmarshalSysConf (BaseURI     _) uri  = BaseURI $ fromJust $ parseURI uri
+unmarshalSysConf (DefaultPage _) name = DefaultPage name
+unmarshalSysConf (StyleSheet  _) name = StyleSheet name
 
 
 {- getting default value -}
@@ -83,5 +87,8 @@ sysConfDefault sc (BaseURI _)
 
          return $ BaseURI $ fromJust $ parseURI defaultURI
 
+sysConfDefault _ (DefaultPage _)
+    = return $ DefaultPage "MainPage"
+
 sysConfDefault _ (StyleSheet _)
     = return $ StyleSheet "StyleSheet/Default"