diff options
Diffstat (limited to 'src/Hakyll/Web/Template/Context.hs')
-rw-r--r-- | src/Hakyll/Web/Template/Context.hs | 14 |
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 |