on master help sign in
Fix loadGlobalMetadata on Windows
e71bbd9Alexey Kreshchuk
src/Hakyll/Core/Provider/Metadata.hs+4−4
@@ -21,7 +21,7 @@ import Text.Parsec ((<?>))
21import qualified Text.Parsec as P
21import qualified Text.Parsec as P
22import Text.Parsec.String (Parser)
22import Text.Parsec.String (Parser)
23import System.FilePath.Posix
23import System.FilePath.Posix
24−import Control.Monad (liftM)
24+import Control.Monad (liftM)
25
25
26
26
27--------------------------------------------------------------------------------
27--------------------------------------------------------------------------------
@@ -44,7 +44,7 @@ loadMetadata p identifier = do
44 Nothing -> return M.empty
44 Nothing -> return M.empty
45 Just mi' -> loadMetadataFile $ resourceFilePath p mi'
45 Just mi' -> loadMetadataFile $ resourceFilePath p mi'
46
46
47− gmd <- loadGlobalMetadata p fp
47+ gmd <- loadGlobalMetadata p $ toFilePath identifier
48
48
49 return (M.unions [md, emd, gmd], body)
49 return (M.unions [md, emd, gmd], body)
50 where
50 where
@@ -150,13 +150,13 @@ loadGlobalMetadata p fp = do
150 loadgm dir | dir == providerDirectory p = return []
150 loadgm dir | dir == providerDirectory p = return []
151 | otherwise = do
151 | otherwise = do
152 let mfp = combine dir "metadata"
152 let mfp = combine dir "metadata"
153− md <- if M.member (fromFilePath $ normalise mfp) (providerFiles p)
153+ md <- if M.member (fromFilePath mfp) (providerFiles p)
154 then loadOne mfp dir
154 then loadOne mfp dir
155 else return []
155 else return []
156 others <- loadgm (takeDirectory dir)
156 others <- loadgm (takeDirectory dir)
157 return $ others ++ md
157 return $ others ++ md
158 loadOne mfp dir = do
158 loadOne mfp dir = do
159− contents <- IO.readFile mfp
159+ contents <- IO.readFile $ resourceFilePath p $ fromFilePath mfp
160 return $ case P.parse namedMetadata mfp contents of
160 return $ case P.parse namedMetadata mfp contents of
161 Left err -> error (show err)
161 Left err -> error (show err)
162 Right mds -> findMetadata mds dir
162 Right mds -> findMetadata mds dir