Merge pull request #328 from wferi/boolField

Add boolField
This commit is contained in:
Jasper Van der Jeugt 2015-01-13 18:28:12 +01:00
commit b296f62335

View file

@ -4,6 +4,7 @@ module Hakyll.Web.Template.Context
( ContextField (..)
, Context (..)
, field
, boolField
, constField
, listField
, listFieldWith
@ -27,7 +28,7 @@ module Hakyll.Web.Template.Context
--------------------------------------------------------------------------------
import Control.Applicative (Alternative (..), (<$>))
import Control.Applicative (Alternative (..), (<$>), pure)
import Control.Monad (msum)
import Data.List (intercalate)
import qualified Data.Map as M
@ -97,6 +98,17 @@ field
field key value = field' key (fmap StringField . value)
--------------------------------------------------------------------------------
-- | Creates a 'field' to use with the @$if()$@ template macro.
boolField
:: String
-> (Item a -> Bool)
-> Context a
boolField name f = field name (\i -> if f i
then pure (error $ unwords ["no string value for bool field:",name])
else empty)
--------------------------------------------------------------------------------
-- | Creates a 'field' that does not depend on the 'Item'
constField :: String -> String -> Context a