@@ -9,19 +9,25 @@ import System.Directory (doesDirectoryExist, removeDirectoryRecursive)
10-- | Main function to run hakyll.
10-- | Main function to run hakyll.
11hakyll :: IO () -> IO ()
11hakyll :: IO () -> IO ()
12−hakyll action = do
12+hakyll buildFunction = do
13 args <- getArgs
13 args <- getArgs
14− case args of [] -> action
14+ case args of [] -> build buildFunction
15 ["clean"] -> clean
15 ["clean"] -> clean
16 ["server", p] -> server (read p)
16 ["server", p] -> server (read p)
17 ["server"] -> server 8000
17 ["server"] -> server 8000
21+build :: IO () -> IO ()
22+build buildFunction = do putStrLn "Generating..."
20-- | Clean up directories.
25-- | Clean up directories.
21clean :: IO ()
26clean :: IO ()
22clean = do remove' "_cache"
27clean = do remove' "_cache"
23 remove' "_site"
28 remove' "_site"
29+ where remove' dir = do putStrLn $ "Removing " ++ dir ++ "..."
24− where remove' dir = do exists <- doesDirectoryExist dir
30+ exists <- doesDirectoryExist dir
25 if exists then removeDirectoryRecursive dir
31 if exists then removeDirectoryRecursive dir
26 else return ()
32 else return ()