Receive list of used resources in Run module

This commit is contained in:
Jasper Van der Jeugt 2011-02-15 18:43:22 +01:00
parent 5a591ee24c
commit 3346123ca6
2 changed files with 17 additions and 4 deletions

View file

@ -32,9 +32,9 @@ import Hakyll.Core.Writable
import Hakyll.Core.Store
import Hakyll.Core.Configuration
-- | Run all rules needed
-- | Run all rules needed, return the rule set used
--
run :: HakyllConfiguration -> Rules -> IO ()
run :: HakyllConfiguration -> Rules -> IO RuleSet
run configuration rules = do
store <- makeStore $ storeDirectory configuration
provider <- fileResourceProvider
@ -46,6 +46,7 @@ run configuration rules = do
state' = runReaderT reader $ env ruleSet provider store
evalStateT state' state
return ruleSet
where
env ruleSet provider store = RuntimeEnvironment
{ hakyllConfiguration = configuration

View file

@ -6,13 +6,15 @@ module Hakyll.Main
) where
import Control.Concurrent (forkIO)
import Control.Monad (when)
import Control.Monad (when, forM_)
import System.Environment (getProgName, getArgs)
import System.Directory (doesDirectoryExist, removeDirectoryRecursive)
import qualified Data.Set as S
import Hakyll.Core.Configuration
import Hakyll.Core.Run
import Hakyll.Core.Rules
import Hakyll.Core.Rules.Internal
import Hakyll.Web.Preview.INotify
import Hakyll.Web.Preview.Server
@ -41,7 +43,9 @@ hakyllWith configuration rules = do
-- | Build the site
--
build :: HakyllConfiguration -> Rules -> IO ()
build = run
build configuration rules = do
_ <- run configuration rules
return ()
-- | Remove the output directories
--
@ -80,11 +84,19 @@ help = do
--
preview :: HakyllConfiguration -> Rules -> Int -> IO ()
preview configuration rules port = do
-- Build once, keep the rule set
ruleSet <- run configuration rules
-- Debug: show the resources used
forM_ (S.toList $ rulesResources ruleSet) $ putStrLn . show
{-
-- Fork a thread polling for changes
_ <- forkIO $ previewPoll configuration "." $ build configuration rules
-- Run the server in the main thread
server configuration port
-}
-- | Rebuild the site
--