From 7bf3450caf5900a5a3f11c0358dbffbf72f5ef1a Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Fri, 7 Jan 2011 14:48:47 +0100 Subject: Run metacompilers instead of ignoring them --- src/Hakyll/Core/Run.hs | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'src') 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 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 "" - - -- Continue for the remaining compilers - unHakyll $ runCompilers compilers + 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 + + liftIO $ putStrLn "" + + -- 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 -- cgit v1.2.3