]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/Resource/PageEntity.hs
Use time-w3c instead of Rakka.W3CDateTime
[Rakka.git] / Rakka / Resource / PageEntity.hs
index 690695e881bc73c58c6a4c1b127064112fb1e81a..7476d0eeee2d2e9f0ced84370c37df1e1ee4181b 100644 (file)
@@ -10,6 +10,7 @@ import           Data.Char
 import qualified Data.Map as M
 import           Data.Maybe
 import           Data.Time
+import qualified Data.Time.W3C as W3C
 import           Network.HTTP.Lucu
 import           Network.URI hiding (path)
 import           Rakka.Environment
@@ -18,7 +19,6 @@ import           Rakka.Resource
 import           Rakka.Storage
 import           Rakka.SystemConfig
 import           Rakka.Utils
-import           Rakka.W3CDateTime
 import           Rakka.Wiki.Engine
 import           System.FilePath.Posix
 import           Text.HyperEstraier hiding (getText)
@@ -28,22 +28,21 @@ import           Text.XML.HXT.XPath
 
 fallbackPageEntity :: Environment -> [String] -> IO (Maybe ResourceDef)
 fallbackPageEntity env path
-    | null path                  = return Nothing
-    | null $ head path           = return Nothing
-    | isLower $ head $ head path = return Nothing -- 先頭の文字が小文字であってはならない
+    | null name           = return Nothing
+    | isLower $ head name = return Nothing -- 先頭の文字が小文字であってはならない
     | otherwise
         = return $ Just $ ResourceDef {
             resUsesNativeThread = False
           , resIsGreedy         = True
-          , resGet              = Just $ handleGet    env (toPageName path)
+          , resGet              = Just $ handleGet    env name
           , resHead             = Nothing
           , resPost             = Nothing
-          , resPut              = Just $ handlePut    env (toPageName path)
-          , resDelete           = Just $ handleDelete env (toPageName path)
+          , resPut              = Just $ handlePut    env name
+          , resDelete           = Just $ handleDelete env name
           }
     where
-      toPageName :: [String] -> PageName
-      toPageName = decodePageName . dropExtension . joinPath
+      name :: PageName
+      name = (dropExtension . UTF8.decodeString . joinPath) path
 
 
 handleGet :: Environment -> PageName -> Resource ()
@@ -264,7 +263,7 @@ entityToRSS env
                       += ( eelem "dc:date"
                            += ( arrIO (utcToLocalZonedTime . entityLastMod)
                                 >>>
-                                arr formatW3CDateTime
+                                arr W3C.format
                                 >>>
                                 mkText
                               )