@@ -46,7 +46,7 @@ loadMetadata p identifier = do
47 gmd <- loadGlobalMetadata p identifier
47 gmd <- loadGlobalMetadata p identifier
49− return (M.unions [md, emd, gmd], body)
49+ return (M.unions [md, gmd], body)
51 normal = setVersion Nothing identifier
51 normal = setVersion Nothing identifier
52 fp = resourceFilePath p identifier
52 fp = resourceFilePath p identifier
@@ -154,11 +154,13 @@ loadGlobalMetadata p fp = liftM M.fromList $ loadgm fp where
154 concatMap snd . filter (flip matches fp . fromGlob . normalise . combine dir . fst)
154 concatMap snd . filter (flip matches fp . fromGlob . normalise . combine dir . fst)
156namedMetadata :: Parser [(String, [(String, String)])]
156namedMetadata :: Parser [(String, [(String, String)])]
157−namedMetadata = P.many namedMetadataBlock
157+namedMetadata = liftA2 (:) (namedMetadataBlock False) $ P.many $ namedMetadataBlock True
159−namedMetadataBlock :: Parser (String, [(String, String)])
159+namedMetadataBlock :: Bool -> Parser (String, [(String, String)])
160−namedMetadataBlock = do
160+namedMetadataBlock isNamed = do
161− name <- P.many1 (P.char '-') *> P.many inlineSpace *> P.manyTill P.anyChar newline
162+ then P.many1 (P.char '-') *> P.many inlineSpace *> P.manyTill P.anyChar newline
162 metadata' <- metadata
164 metadata' <- metadata
163 P.skipMany P.space
165 P.skipMany P.space
164 return (name, metadata')
166 return (name, metadata')