@@ -3,7 +3,7 @@
3module Hakyll.Core.Run where
3module Hakyll.Core.Run where
5import Control.Arrow ((&&&))
5import Control.Arrow ((&&&))
6−import Control.Monad (msum, foldM, forM, forM_)
6+import Control.Monad (foldM, forM_)
7import qualified Data.Map as M
7import qualified Data.Map as M
9import Hakyll.Core.Route
9import Hakyll.Core.Route
@@ -12,18 +12,19 @@ import Hakyll.Core.ResourceProvider
12import Hakyll.Core.ResourceProvider.FileResourceProvider
12import Hakyll.Core.ResourceProvider.FileResourceProvider
13import Hakyll.Core.Rules
13import Hakyll.Core.Rules
14import Hakyll.Core.Target
14import Hakyll.Core.Target
15−import Hakyll.Core.Identifier
16import Hakyll.Core.DirectedGraph
15import Hakyll.Core.DirectedGraph
17import Hakyll.Core.DirectedGraph.DependencySolver
16import Hakyll.Core.DirectedGraph.DependencySolver
18import Hakyll.Core.Writable
17import Hakyll.Core.Writable
18+import Hakyll.Core.Store
20hakyll :: Writable a => Rules a -> IO ()
20hakyll :: Writable a => Rules a -> IO ()
21hakyll rules = do
21hakyll rules = do
22+ store <- makeStore "_store"
22 provider <- fileResourceProvider
23 provider <- fileResourceProvider
23− hakyllWith rules provider
24+ hakyllWith rules provider store
25−hakyllWith :: Writable a => Rules a -> ResourceProvider -> IO ()
26+hakyllWith :: Writable a => Rules a -> ResourceProvider -> Store -> IO ()
26−hakyllWith rules provider = do
27+hakyllWith rules provider store = do
27 let -- Get the rule set
28 let -- Get the rule set
28 ruleSet = runRules rules provider
29 ruleSet = runRules rules provider
@@ -63,6 +64,6 @@ hakyllWith rules provider = do
63 putStrLn "DONE."
64 putStrLn "DONE."
65 addTarget map' (id', targ) = do
66 addTarget map' (id', targ) = do
66− result <- runTarget targ id' (map' M.!) provider
67+ result <- runTarget targ id' (map' M.!) provider store
67 putStrLn $ "Generated target: " ++ show id'
68 putStrLn $ "Generated target: " ++ show id'
68 return $ M.insert id' result map'
69 return $ M.insert id' result map'