From a26f84dab5a49ce0fa00c7a0acfe84059451db5b Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Tue, 12 Jan 2010 14:48:16 +0100 Subject: Added pure renderAndConcat function. --- src/Text/Hakyll/Render.hs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/Text/Hakyll/Render.hs') diff --git a/src/Text/Hakyll/Render.hs b/src/Text/Hakyll/Render.hs index c55e5d8..d8deea2 100644 --- a/src/Text/Hakyll/Render.hs +++ b/src/Text/Hakyll/Render.hs @@ -10,7 +10,7 @@ module Text.Hakyll.Render , css ) where -import Control.Monad (unless, mapM, foldM) +import Control.Monad (unless, mapM) import System.Directory (copyFile) import System.IO @@ -64,14 +64,10 @@ renderAndConcatWith :: Renderable a -> FilePath -> [a] -> IO String -renderAndConcatWith manipulation templatePath renderables = - foldM concatRender' [] renderables - where - concatRender' :: Renderable a => String -> a -> IO String - concatRender' chunk renderable = do - rendered <- renderWith manipulation templatePath renderable - let body = getBody rendered - return $ chunk ++ body +renderAndConcatWith manipulation templatePath renderables = do + template <- readFile templatePath + contexts <- mapM toContext renderables + return $ pureRenderAndConcatWith manipulation template contexts -- | Chain a render action for a page with a number of templates. This will -- also write the result to the site destination. This is the preferred way -- cgit v1.2.3