@@ -5,6 +5,7 @@
5{-# LANGUAGE DeriveDataTypeable #-}
5{-# LANGUAGE DeriveDataTypeable #-}
6module Hakyll.Web.Page
6module Hakyll.Web.Page
7 ( Page (..)
7 ( Page (..)
10 , pageRead
11 , pageRead
@@ -15,6 +16,7 @@ import Prelude hiding (id)
15import Control.Category (id)
16import Control.Category (id)
16import Control.Arrow ((>>^), (&&&), (>>>))
17import Control.Arrow ((>>^), (&&&), (>>>))
17import System.FilePath (takeBaseName, takeDirectory)
18import System.FilePath (takeBaseName, takeDirectory)
19+import Data.Maybe (fromMaybe)
18import Data.Map (Map)
20import Data.Map (Map)
19import qualified Data.Map as M
21import qualified Data.Map as M
@@ -24,6 +26,14 @@ import Hakyll.Web.Page.Internal
24import Hakyll.Web.Page.Read
26import Hakyll.Web.Page.Read
25import Hakyll.Web.Util.String
27import Hakyll.Web.Util.String
29+-- | Get a metadata field. If the field does not exist, the empty string is
32+getField :: String -- ^ Key
35+getField key = fromMaybe "" . M.lookup key . pageMetadata
27-- | Add a metadata field. If the field already exists, it is not overwritten.
37-- | Add a metadata field. If the field already exists, it is not overwritten.
29addField :: String -- ^ Key
39addField :: String -- ^ Key