on 8a8dade help sign in
hakyll/src/Hakyll/Core/Metadata.hs
32 lines 1.1 kB history raw
1--------------------------------------------------------------------------------
2module Hakyll.Core.Metadata
3 ( Metadata
4 , MonadMetadata (..)
5 ) where
8--------------------------------------------------------------------------------
9import Control.Monad (forM)
10import Data.Map (Map)
13--------------------------------------------------------------------------------
14import Hakyll.Core.Identifier
15import Hakyll.Core.Identifier.Pattern
18--------------------------------------------------------------------------------
19type Metadata = Map String String
22--------------------------------------------------------------------------------
23class Monad m => MonadMetadata m where
24 getMetadata :: Identifier -> m Metadata
25 getMatches :: Pattern -> m [Identifier]
27 getAllMetadata :: Pattern -> m [(Identifier, Metadata)]
28 getAllMetadata pattern = do
29 matches' <- getMatches pattern
30 forM matches' $ \id' -> do
31 metadata <- getMetadata id'
32 return (id', metadata)