@@ -1,4 +1,12 @@
1−module Text.Hakyll.Page where
1+module Text.Hakyll.Page
3import qualified Data.Map as M
11import qualified Data.Map as M
4import qualified Data.List as L
12import qualified Data.List as L
@@ -18,7 +26,7 @@ getBody :: Page -> String
18getBody context = fromMaybe "" $ M.lookup "body" context
26getBody context = fromMaybe "" $ M.lookup "body" context
20readConfig :: [String] -> Page
28readConfig :: [String] -> Page
21−readConfig lines = M.fromList $ map (trim . break (== ':')) lines
29+readConfig = M.fromList . map (trim . break (== ':'))
22 where trim (key, value) = (key, dropWhile (`elem` ": ") value)
30 where trim (key, value) = (key, dropWhile (`elem` ": ") value)
24extractContext :: String -> Page
32extractContext :: String -> Page
@@ -45,3 +53,8 @@ readPage path = do
45 url = addExtension (dropExtension path) ".html"
53 url = addExtension (dropExtension path) ".html"
46 return $ addContext "url" url $ addContext "body" body $ context
54 return $ addContext "url" url $ addContext "body" body $ context
56+pageFromList :: [(String, String)] -> Page
57+pageFromList = M.fromList
59+concatPages :: [Page] -> String
60+concatPages = concat . map getBody