@@ -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--