From 7bf3450caf5900a5a3f11c0358dbffbf72f5ef1a Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Fri, 7 Jan 2011 14:48:47 +0100 Subject: [PATCH] Run metacompilers instead of ignoring them --- src/Hakyll/Core/Run.hs | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/Hakyll/Core/Run.hs b/src/Hakyll/Core/Run.hs index 31280db..e850d99 100644 --- a/src/Hakyll/Core/Run.hs +++ b/src/Hakyll/Core/Run.hs @@ -141,17 +141,23 @@ runCompilers ((id', compiler) : compilers) = Hakyll $ do result <- liftIO $ runCompiler compiler id' provider url store isModified liftIO $ putStrLn $ "Generated target: " ++ show id' - let CompileRule compiled = result + case result of + -- Compile rule for one item, easy stuff + CompileRule compiled -> do + case url of + Nothing -> return () + Just r -> liftIO $ do + putStrLn $ "Routing " ++ show id' ++ " to " ++ r + let path = "_site" r + makeDirectories path + write path compiled - case url of - Nothing -> return () - Just r -> liftIO $ do - putStrLn $ "Routing " ++ show id' ++ " to " ++ r - let path = "_site" r - makeDirectories path - write path compiled + liftIO $ putStrLn "" - liftIO $ putStrLn "" + -- Continue for the remaining compilers + unHakyll $ runCompilers compilers - -- Continue for the remaining compilers - unHakyll $ runCompilers compilers + -- Metacompiler, slightly more complicated + MetaCompileRule newCompilers -> do + -- Actually I was just kidding, it's not hard at all + unHakyll $ addNewCompilers compilers newCompilers