diff options
Diffstat (limited to 'src/Hakyll/Core/Run.hs')
-rw-r--r-- | src/Hakyll/Core/Run.hs | 34 |
1 files changed, 20 insertions, 14 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 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 |