on master help sign in
Revert "added gloabl metadata parsing"

This reverts commit e0f45b29b3f5e17c04ecd054b6c26c67d71e10e4. Conflicts: src/Hakyll/Core/Provider/Metadata.hs

commit87eafc752f223f70f895f1aa9afcec2eb1b042c4 authorJasper Van der Jeugt <m@jaspervdj.be> dateWed 26 Mar 2014, 11:31 (13 years ago) parent157a81b
1 file changed+2−45
src/Hakyll/Core/Provider/Metadata.hs+2−45
src/Hakyll/Core/Provider/Metadata.hs+2−45
@@ -20,8 +20,6 @@ import System.IO as IO
2020import Text.Parsec ((<?>))
2121import qualified Text.Parsec as P
2222import Text.Parsec.String (Parser)
23−import System.FilePath.Posix
24−import Control.Monad (liftM)
2523
2624
2725--------------------------------------------------------------------------------
@@ -30,7 +28,7 @@ import Hakyll.Core.Metadata
3028import Hakyll.Core.Provider.Internal
3129import Hakyll.Core.Util.Parser
3230import Hakyll.Core.Util.String
33−import Hakyll.Core.Identifier.Pattern
31+
3432
3533--------------------------------------------------------------------------------
3634loadMetadata :: Provider -> Identifier -> IO (Metadata, Maybe String)
@@ -44,9 +42,7 @@ loadMetadata p identifier = do
4442 Nothing -> return M.empty
4543 Just mi' -> loadMetadataFile $ resourceFilePath p mi'
4644
47− gmd <- loadGlobalMetadata p fp
48−
49− return (M.unions [md, gmd], body)
45+ return (M.union md emd, body)
5046 where
5147 normal = setVersion Nothing identifier
5248 fp = resourceFilePath p identifier
@@ -137,42 +133,3 @@ page = do
137133 metadata' <- P.option [] metadataBlock
138134 body <- P.many P.anyChar
139135 return (metadata', body)
140−
141−
142−--------------------------------------------------------------------------------
143−-- | Load directory-wise metadata
144−loadGlobalMetadata :: Provider -> FilePath -> IO (M.Map String String)
145−loadGlobalMetadata p fp = do
146− let dir = takeDirectory fp
147− liftM M.fromList $ loadgm dir
148− where
149− loadgm :: FilePath -> IO [(String, String)]
150− loadgm dir | dir == providerDirectory p = return []
151− | otherwise = do
152− let mfp = combine dir "metadata"
153− md <- if M.member (fromFilePath $ normalise mfp) (providerFiles p)
154− then loadOne mfp dir
155− else return []
156− others <- loadgm (takeDirectory dir)
157− return $ others ++ md
158− loadOne mfp dir = do
159− contents <- IO.readFile mfp
160− return $ case P.parse namedMetadata mfp contents of
161− Left err -> error (show err)
162− Right mds -> findMetadata mds dir
163− findMetadata mds dir =
164− concatMap snd $ filter (flip matches (fromFilePath fp) . fromGlob . combine dir . fst) mds
165−
166−namedMetadata :: Parser [(String, [(String, String)])]
167−namedMetadata = liftA2 (:) (namedMetadataBlock False) $ P.many $ namedMetadataBlock True
168−
169−namedMetadataBlock :: Bool -> Parser (String, [(String, String)])
170−namedMetadataBlock isNamed = do
171− name <- if isNamed
172− then P.many1 (P.char '-') *> P.many inlineSpace *> P.manyTill P.anyChar newline
173− else pure "**"
174− metadata' <- metadata
175− P.skipMany P.space
176− return (name, metadata')
177−
178−