From e5202ce852dbafd8a54ea0dce2de6fe5ab6ef5b1 Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Mon, 11 Jan 2010 09:19:23 +0100 Subject: Added some strictness. --- hakyll.cabal | 3 ++- src/Text/Hakyll/Page.hs | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/hakyll.cabal b/hakyll.cabal index f1d0ad7..f5568d6 100644 --- a/hakyll.cabal +++ b/hakyll.cabal @@ -34,7 +34,8 @@ library network >= 2, mtl >= 1.1, old-locale >= 1, - time >= 1 + time >= 1, + parallel >= 1 exposed-modules: Text.Hakyll Text.Hakyll.Render Text.Hakyll.Renderable diff --git a/src/Text/Hakyll/Page.hs b/src/Text/Hakyll/Page.hs index f70d898..c5ddc3a 100644 --- a/src/Text/Hakyll/Page.hs +++ b/src/Text/Hakyll/Page.hs @@ -10,6 +10,8 @@ import qualified Data.Map as M import qualified Data.List as L import Data.Maybe (fromMaybe) +import Control.Parallel.Strategies (rnf, ($|)) + import System.FilePath (FilePath, takeExtension) import System.IO @@ -110,13 +112,14 @@ readPage pagePath = do -- Render file let rendered = (renderFunction $ takeExtension path) body - seq rendered $ hClose handle - let page = fromContext $ M.fromList $ + page = fromContext $ M.fromList $ [ ("body", rendered) , ("url", url) , ("path", pagePath) ] ++ context + seq (($|) id rnf rendered) $ hClose handle + -- Cache if needed if getFromCache then return () else cachePage page return page -- cgit v1.2.3