@@ -7,6 +7,7 @@ module Hakyll.Web.Template.Context
77 , functionField
88
99 , defaultContext
10+ , teaserContext
1011 , bodyField
1112 , metadataField
1213 , urlField
@@ -40,7 +41,7 @@ import Hakyll.Core.Identifier
4041import Hakyll.Core.Item
4142import Hakyll.Core.Metadata
4243import Hakyll.Core.Provider
43−import Hakyll.Core.Util.String (splitAll)
44+import Hakyll.Core.Util.String (splitAll, needlePrefix)
4445import Hakyll.Web.Html
4546
4647
@@ -90,6 +91,17 @@ defaultContext =
9091 titleField "title" `mappend`
9192 missingField
9293
94+--------------------------------------------------------------------------------
95+teaserContext :: Snapshot -> Context String
96+teaserContext snapshot = field "teaser" $ \item ->
97+ (needlePrefix teaserSeparator . itemBody) <$>
98+ loadSnapshot (itemIdentifier item) snapshot
99+
100+
101+--------------------------------------------------------------------------------
102+teaserSeparator :: String
103+teaserSeparator = "<!-- teaser_end -->"
104+
93105
94106--------------------------------------------------------------------------------
95107bodyField :: String -> Context String