From 4fb6f81d8314140ad65a6099209106c92db3cfba Mon Sep 17 00:00:00 2001 From: Mirek Kratochvil Date: Fri, 20 Oct 2023 09:04:58 +0200 Subject: support multiple template directories closes #17 --- reploy.hs | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'reploy.hs') diff --git a/reploy.hs b/reploy.hs index 8f94c40..2b431ae 100644 --- a/reploy.hs +++ b/reploy.hs @@ -118,19 +118,18 @@ pageTemplates = do -- | Compile a single template in a directory compileTemplate :: - FilePath - -> FilePath - -> Site (Either Text.Parsec.Error.ParseError Mu.Template) -compileTemplate templdir templ = + FilePath -> Site (Either Text.Parsec.Error.ParseError Mu.Template) +compileTemplate templ = do + tds <- use templateDirs io $ do - putStrLn $ "T <- " ++ (templdir templ) - Mu.automaticCompile [templdir] templ + putStrLn $ "T <- " ++ templ + Mu.automaticCompile tds templ -- | Use a template set from a given directory. -sourceTemplates :: FilePath -> Site () -sourceTemplates templdir = do +sourceTemplates :: Site () +sourceTemplates = do ts <- pageTemplates - templs' <- fmap sequence . traverse (compileTemplate templdir) $ ts + templs' <- fmap sequence . traverse compileTemplate $ ts case templs' of Left err -> error $ "template compilation: " ++ show err Right templs -> templates .= M.fromList (zip ts templs) @@ -492,7 +491,7 @@ main = do use sourceDirs >>= traverse sourcePages use sourceDirs >>= traverse sourceTagMeta sourceTags - use templateDir >>= sourceTemplates + sourceTemplates use pages >>= traverse (uncurry installPage) . M.assocs renderTags renderLists -- cgit v1.2.3