@@ -6,6 +6,7 @@ module Hakyll.Web.Template.Context
7 , defaultContext
7 , defaultContext
8 , bodyField
8 , bodyField
9 , urlField
10 , urlField
10 , pathField
11 , pathField
11 , categoryField
12 , categoryField
@@ -66,6 +67,7 @@ field key value = Context $ \k i -> if k == key then value i else empty
66defaultContext :: Context String
67defaultContext :: Context String
67defaultContext =
68defaultContext =
68 bodyField "body" `mappend`
69 bodyField "body" `mappend`
70+ metadataField `mappend`
69 urlField "url" `mappend`
71 urlField "url" `mappend`
70 pathField "path" `mappend`
72 pathField "path" `mappend`
71 categoryField "category" `mappend`
73 categoryField "category" `mappend`
@@ -78,6 +80,13 @@ bodyField :: String -> Context String
78bodyField key = field key $ return . itemBody
80bodyField key = field key $ return . itemBody
83+--------------------------------------------------------------------------------
84+metadataField :: Context String
85+metadataField = Context $ \k i -> do
86+ metadata <- getMetadata $ itemIdentifier i
87+ maybe empty return $ M.lookup k metadata
81--------------------------------------------------------------------------------
90--------------------------------------------------------------------------------
82urlField :: String -> Context a
91urlField :: String -> Context a
83urlField key = field key $
92urlField key = field key $