@@ -10,6 +10,8 @@ import qualified Data.Map as M
1010import qualified Data.List as L
1111import Data.Maybe (fromMaybe)
1212
13+import Control.Parallel.Strategies (rnf, ($|))
14+
1315import System.FilePath (FilePath, takeExtension)
1416import System.IO
1517
@@ -110,13 +112,14 @@ readPage pagePath = do
110112
111113 -- Render file
112114 let rendered = (renderFunction $ takeExtension path) body
113− seq rendered $ hClose handle
114− let page = fromContext $ M.fromList $
115+ page = fromContext $ M.fromList $
115116 [ ("body", rendered)
116117 , ("url", url)
117118 , ("path", pagePath)
118119 ] ++ context
119120
121+ seq (($|) id rnf rendered) $ hClose handle
122+
120123 -- Cache if needed
121124 if getFromCache then return () else cachePage page
122125 return page