@@ -37,11 +37,18 @@ type DependencyLookup = Identifier -> CompiledItem
3737-- | Environment in which a compiler runs
3838--
3939data CompilerEnvironment = CompilerEnvironment
40− { compilerIdentifier :: Identifier -- ^ Target identifier
41− , compilerResourceProvider :: ResourceProvider -- ^ Resource provider
42− , compilerDependencyLookup :: DependencyLookup -- ^ Dependency lookup
43− , compilerRoute :: Maybe FilePath -- ^ Site route
44− , compilerStore :: Store -- ^ Compiler store
40+ { -- | Target identifier
41+ compilerIdentifier :: Identifier
42+ , -- | Resource provider
43+ compilerResourceProvider :: ResourceProvider
44+ , -- | Dependency lookup
45+ compilerDependencyLookup :: DependencyLookup
46+ , -- | Site route
47+ compilerRoute :: Maybe FilePath
48+ , -- | Compiler store
49+ compilerStore :: Store
50+ , -- | Flag indicating if the underlying resource was modified
51+ compilerResourceModified :: Bool
4552 }
4653
4754-- | The compiler monad
@@ -76,8 +83,9 @@ runCompilerJob :: Compiler () a -- ^ Compiler to run
7683 -> DependencyLookup -- ^ Dependency lookup table
7784 -> Maybe FilePath -- ^ Route
7885 -> Store -- ^ Store
86+ -> Bool -- ^ Was the resource modified?
7987 -> IO a
80−runCompilerJob compiler identifier provider lookup' route store =
88+runCompilerJob compiler identifier provider lookup' route store modified =
8189 runReaderT (unCompilerM $ compilerJob compiler ()) env
8290 where
8391 env = CompilerEnvironment
@@ -86,6 +94,7 @@ runCompilerJob compiler identifier provider lookup' route store =
8694 , compilerDependencyLookup = lookup'
8795 , compilerRoute = route
8896 , compilerStore = store
97+ , compilerResourceModified = modified
8998 }
9099
91100runCompilerDependencies :: Compiler () a