summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hakyll.cabal1
-rw-r--r--src/Text/Hakyll/Render/Internal.hs13
2 files changed, 5 insertions, 9 deletions
diff --git a/hakyll.cabal b/hakyll.cabal
index ddbf65e..a8eacd2 100644
--- a/hakyll.cabal
+++ b/hakyll.cabal
@@ -34,7 +34,6 @@ library
mtl >= 1.1,
old-locale >= 1,
time >= 1,
- deepseq >= 1,
binary >= 0.5
exposed-modules: Text.Hakyll
Text.Hakyll.Hakyll
diff --git a/src/Text/Hakyll/Render/Internal.hs b/src/Text/Hakyll/Render/Internal.hs
index ecde1d7..03210ac 100644
--- a/src/Text/Hakyll/Render/Internal.hs
+++ b/src/Text/Hakyll/Render/Internal.hs
@@ -11,7 +11,6 @@ module Text.Hakyll.Render.Internal
import qualified Data.Map as M
import Text.Hakyll.Context (Context, ContextManipulation)
-import Control.DeepSeq (deepseq)
import Control.Monad.Reader (liftIO)
import Data.List (isPrefixOf, foldl')
import Data.Char (isAlphaNum)
@@ -56,20 +55,18 @@ pureRenderWith manipulation template context =
-- final render (just before writing).
let contextIgnoringRoot = M.insert "root" "$root" (manipulation context)
body = regularSubstitute template contextIgnoringRoot
- -- Force the body to be rendered.
- in body `deepseq` M.insert "body" body context
+ in M.insert "body" body context
-- | A pure renderAndConcat function.
pureRenderAndConcatWith :: ContextManipulation -- ^ Manipulation to apply.
-> [String] -- ^ Templates to use.
-> [Context] -- ^ Different renderables.
-> String
-pureRenderAndConcatWith manipulation templates contexts =
- foldl' renderAndConcat [] contexts
+pureRenderAndConcatWith manipulation templates =
+ concatMap renderAndConcat
where
- renderAndConcat chunk context =
- let rendered = pureRenderChainWith manipulation templates context
- in chunk ++ fromMaybe "" (M.lookup "body" rendered)
+ renderAndConcat = fromMaybe "" . M.lookup "body"
+ . pureRenderChainWith manipulation templates
-- | A pure renderChain function.
pureRenderChainWith :: ContextManipulation