X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Rakka.git;a=blobdiff_plain;f=Rakka%2FSystemConfig.hs;h=423e6c508d88402a9c1df0a2b264e88662bf22e6;hp=ea7e370cfe7aa8d31edb9b643d1e0d40ae01e59f;hb=dcfffa578c5dd6647a5be7d2074488a520dfcf2d;hpb=bd2b1344f5ed3d4de91297bfe08658e52d682b82 diff --git a/Rakka/SystemConfig.hs b/Rakka/SystemConfig.hs index ea7e370..423e6c5 100644 --- a/Rakka/SystemConfig.hs +++ b/Rakka/SystemConfig.hs @@ -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"