@@ -5,7 +5,11 @@ module Main
55
66
77--------------------------------------------------------------------------------
8+import Control.Monad (forM_)
89import System.Directory (copyFile)
10+import System.Environment (getArgs, getProgName)
11+import System.Exit (exitFailure)
12+import System.FilePath ((</>))
913
1014
1115--------------------------------------------------------------------------------
@@ -16,8 +20,18 @@ import Paths_hakyll
1620--------------------------------------------------------------------------------
1721main :: IO ()
1822main = do
19− let dstDir = "."
20− srcDir <- getDataFileName "example"
21− files <- getRecursiveContents srcDir
22− print files
23− return ()
23+ progName <- getProgName
24+ args <- getArgs
25+ srcDir <- getDataFileName "example"
26+ files <- getRecursiveContents srcDir
27+
28+ case args of
29+ [dstDir] -> forM_ files $ \file -> do
30+ let dst = dstDir </> file
31+ src = srcDir </> file
32+ putStrLn $ "Creating " ++ dst
33+ makeDirectories dst
34+ copyFile src dst
35+ _ -> do
36+ putStrLn $ "Usage: " ++ progName ++ " <directory>"
37+ exitFailure