on master help sign in
Receive list of used resources in Run module
commit3346123ca661d578ccb458e7135f8b68867bf107 authorJasper Van der Jeugt <jaspervdj@gmail.com> dateTue 15 Feb 2011, 18:43 (16 years ago) parent5a591ee
2 files changed+17−4
src/Hakyll/Core/Run.hs+3−2 src/Hakyll/Main.hs+14−2
src/Hakyll/Core/Run.hs+3−2
@@ -32,9 +32,9 @@ import Hakyll.Core.Writable
3232import Hakyll.Core.Store
3333import Hakyll.Core.Configuration
3434
35−-- | Run all rules needed
35+-- | Run all rules needed, return the rule set used
3636--
37−run :: HakyllConfiguration -> Rules -> IO ()
37+run :: HakyllConfiguration -> Rules -> IO RuleSet
3838run configuration rules = do
3939 store <- makeStore $ storeDirectory configuration
4040 provider <- fileResourceProvider
@@ -46,6 +46,7 @@ run configuration rules = do
4646 state' = runReaderT reader $ env ruleSet provider store
4747
4848 evalStateT state' state
49+ return ruleSet
4950 where
5051 env ruleSet provider store = RuntimeEnvironment
5152 { hakyllConfiguration = configuration
src/Hakyll/Main.hs+14−2
@@ -6,13 +6,15 @@ module Hakyll.Main
66 ) where
77
88import Control.Concurrent (forkIO)
9−import Control.Monad (when)
9+import Control.Monad (when, forM_)
1010import System.Environment (getProgName, getArgs)
1111import System.Directory (doesDirectoryExist, removeDirectoryRecursive)
12+import qualified Data.Set as S
1213
1314import Hakyll.Core.Configuration
1415import Hakyll.Core.Run
1516import Hakyll.Core.Rules
17+import Hakyll.Core.Rules.Internal
1618import Hakyll.Web.Preview.INotify
1719import Hakyll.Web.Preview.Server
1820
@@ -41,7 +43,9 @@ hakyllWith configuration rules = do
4143-- | Build the site
4244--
4345build :: HakyllConfiguration -> Rules -> IO ()
44−build = run
46+build configuration rules = do
47+ _ <- run configuration rules
48+ return ()
4549
4650-- | Remove the output directories
4751--
@@ -80,11 +84,19 @@ help = do
8084--
8185preview :: HakyllConfiguration -> Rules -> Int -> IO ()
8286preview configuration rules port = do
87+ -- Build once, keep the rule set
88+ ruleSet <- run configuration rules
89+
90+ -- Debug: show the resources used
91+ forM_ (S.toList $ rulesResources ruleSet) $ putStrLn . show
92+
93+ {-
8394 -- Fork a thread polling for changes
8495 _ <- forkIO $ previewPoll configuration "." $ build configuration rules
8596
8697 -- Run the server in the main thread
8798 server configuration port
99+ -}
88100
89101-- | Rebuild the site
90102--