summaryrefslogtreecommitdiff
path: root/src/Hakyll/Web/Template/Internal.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Hakyll/Web/Template/Internal.hs')
-rw-r--r--src/Hakyll/Web/Template/Internal.hs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Hakyll/Web/Template/Internal.hs b/src/Hakyll/Web/Template/Internal.hs
index f939566..1c81670 100644
--- a/src/Hakyll/Web/Template/Internal.hs
+++ b/src/Hakyll/Web/Template/Internal.hs
@@ -37,7 +37,8 @@ data TemplateElement
= Chunk String
| Key String
| Escaped
- | If String Template (Maybe Template) -- key, then branch, else branch
+ | If String Template (Maybe Template) -- key, then branch, else branch
+ | For String Template (Maybe Template) -- key, body, separator
deriving (Show, Eq, Typeable)
@@ -47,11 +48,13 @@ instance Binary TemplateElement where
put (Key key) = putWord8 1 >> put key
put (Escaped) = putWord8 2
put (If key t f) = putWord8 3 >> put key >> put t >> put f
+ put (For key b s) = putWord8 4 >> put key >> put b >> put s
get = getWord8 >>= \tag -> case tag of
0 -> Chunk <$> get
1 -> Key <$> get
2 -> pure Escaped
- 3 -> If <$> get <*> get <*> get
+ 3 -> If <$> get <*> get <*> get
+ 4 -> For <$> get <*> get <*> get
_ -> error $
"Hakyll.Web.Template.Internal: Error reading cached template"