diff options
Diffstat (limited to 'src/Hakyll/Web/Page/Internal.hs')
-rw-r--r-- | src/Hakyll/Web/Page/Internal.hs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Hakyll/Web/Page/Internal.hs b/src/Hakyll/Web/Page/Internal.hs index dd47197..55067ed 100644 --- a/src/Hakyll/Web/Page/Internal.hs +++ b/src/Hakyll/Web/Page/Internal.hs @@ -3,6 +3,8 @@ {-# LANGUAGE DeriveDataTypeable #-} module Hakyll.Web.Page.Internal ( Page (..) + , fromMap + , toMap ) where import Control.Applicative ((<$>), (<*>)) @@ -36,3 +38,13 @@ instance Binary a => Binary (Page a) where instance Writable a => Writable (Page a) where write p (Page _ b) = write p b + +-- | Create a metadata page, without a body +-- +fromMap :: Monoid a => Map String String -> Page a +fromMap m = Page m mempty + +-- | Convert a page to a map. The body will be placed in the @body@ key. +-- +toMap :: Page String -> Map String String +toMap (Page m b) = M.insert "body" b m |