summaryrefslogtreecommitdiff
path: root/src/Hakyll/Web/Template/Context.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Hakyll/Web/Template/Context.hs')
-rw-r--r--src/Hakyll/Web/Template/Context.hs14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/Hakyll/Web/Template/Context.hs b/src/Hakyll/Web/Template/Context.hs
index 2b85b30..7751423 100644
--- a/src/Hakyll/Web/Template/Context.hs
+++ b/src/Hakyll/Web/Template/Context.hs
@@ -7,6 +7,7 @@ module Hakyll.Web.Template.Context
, functionField
, defaultContext
+ , teaserContext
, bodyField
, metadataField
, urlField
@@ -40,7 +41,7 @@ import Hakyll.Core.Identifier
import Hakyll.Core.Item
import Hakyll.Core.Metadata
import Hakyll.Core.Provider
-import Hakyll.Core.Util.String (splitAll)
+import Hakyll.Core.Util.String (splitAll, needlePrefix)
import Hakyll.Web.Html
@@ -90,6 +91,17 @@ defaultContext =
titleField "title" `mappend`
missingField
+--------------------------------------------------------------------------------
+teaserContext :: Snapshot -> Context String
+teaserContext snapshot = field "teaser" $ \item ->
+ (needlePrefix teaserSeparator . itemBody) <$>
+ loadSnapshot (itemIdentifier item) snapshot
+
+
+--------------------------------------------------------------------------------
+teaserSeparator :: String
+teaserSeparator = "<!-- teaser_end -->"
+
--------------------------------------------------------------------------------
bodyField :: String -> Context String