on master help sign in
Add metadata to context
commitf6c4fb849d00dfc5b197651ac062e9c38d6375f5 authorJasper Van der Jeugt <m@jaspervdj.be> dateSun 18 Nov 2012, 22:41 (14 years ago) parent877cb21
1 file changed+9
src/Hakyll/Web/Template/Context.hs+9
src/Hakyll/Web/Template/Context.hs+9
@@ -6,6 +6,7 @@ module Hakyll.Web.Template.Context
66
77 , defaultContext
88 , bodyField
9+ , metadataField
910 , urlField
1011 , pathField
1112 , categoryField
@@ -66,6 +67,7 @@ field key value = Context $ \k i -> if k == key then value i else empty
6667defaultContext :: Context String
6768defaultContext =
6869 bodyField "body" `mappend`
70+ metadataField `mappend`
6971 urlField "url" `mappend`
7072 pathField "path" `mappend`
7173 categoryField "category" `mappend`
@@ -78,6 +80,13 @@ bodyField :: String -> Context String
7880bodyField key = field key $ return . itemBody
7981
8082
83+--------------------------------------------------------------------------------
84+metadataField :: Context String
85+metadataField = Context $ \k i -> do
86+ metadata <- getMetadata $ itemIdentifier i
87+ maybe empty return $ M.lookup k metadata
88+
89+
8190--------------------------------------------------------------------------------
8291urlField :: String -> Context a
8392urlField key = field key $