summaryrefslogtreecommitdiff
path: root/src/Hakyll/Web/Template/Internal.hs
diff options
context:
space:
mode:
authorJasper Van der Jeugt <m@jaspervdj.be>2013-05-07 09:28:09 +0200
committerJasper Van der Jeugt <m@jaspervdj.be>2013-05-07 09:28:09 +0200
commitd32307aa1cbf6718845eeeb2eb6ba3b1c7661bde (patch)
treef982a64bc0cbde3f58e4894af25e19b942a9b5b3 /src/Hakyll/Web/Template/Internal.hs
parentcf138a415b0fbfa5153deec693f1310547f359b2 (diff)
downloadhakyll-d32307aa1cbf6718845eeeb2eb6ba3b1c7661bde.tar.gz
Add partials to template system
Diffstat (limited to 'src/Hakyll/Web/Template/Internal.hs')
-rw-r--r--src/Hakyll/Web/Template/Internal.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Hakyll/Web/Template/Internal.hs b/src/Hakyll/Web/Template/Internal.hs
index 1c81670..138010e 100644
--- a/src/Hakyll/Web/Template/Internal.hs
+++ b/src/Hakyll/Web/Template/Internal.hs
@@ -39,6 +39,7 @@ data TemplateElement
| Escaped
| If String Template (Maybe Template) -- key, then branch, else branch
| For String Template (Maybe Template) -- key, body, separator
+ | Partial String -- filename
deriving (Show, Eq, Typeable)
@@ -49,12 +50,14 @@ instance Binary TemplateElement where
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
+ put (Partial p) = putWord8 5 >> put p
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
+ 5 -> Partial <$> get
_ -> error $
"Hakyll.Web.Template.Internal: Error reading cached template"