@@ -37,11 +37,18 @@ type DependencyLookup = Identifier -> CompiledItem
37-- | Environment in which a compiler runs
37-- | Environment in which a compiler runs
39data CompilerEnvironment = CompilerEnvironment
39data CompilerEnvironment = CompilerEnvironment
40+ { -- | Target identifier
40− { compilerIdentifier :: Identifier -- ^ Target identifier
41+ compilerIdentifier :: Identifier
42+ , -- | Resource provider
41− , compilerResourceProvider :: ResourceProvider -- ^ Resource provider
43+ compilerResourceProvider :: ResourceProvider
44+ , -- | Dependency lookup
42− , compilerDependencyLookup :: DependencyLookup -- ^ Dependency lookup
45+ compilerDependencyLookup :: DependencyLookup
43− , compilerRoute :: Maybe FilePath -- ^ Site route
47+ compilerRoute :: Maybe FilePath
48+ , -- | Compiler store
44− , compilerStore :: Store -- ^ Compiler store
49+ compilerStore :: Store
50+ , -- | Flag indicating if the underlying resource was modified
51+ compilerResourceModified :: Bool
47-- | The compiler monad
54-- | The compiler monad
@@ -76,8 +83,9 @@ runCompilerJob :: Compiler () a -- ^ Compiler to run
76 -> DependencyLookup -- ^ Dependency lookup table
83 -> DependencyLookup -- ^ Dependency lookup table
77 -> Maybe FilePath -- ^ Route
84 -> Maybe FilePath -- ^ Route
78 -> Store -- ^ Store
85 -> Store -- ^ Store
86+ -> Bool -- ^ Was the resource modified?
80−runCompilerJob compiler identifier provider lookup' route store =
88+runCompilerJob compiler identifier provider lookup' route store modified =
81 runReaderT (unCompilerM $ compilerJob compiler ()) env
89 runReaderT (unCompilerM $ compilerJob compiler ()) env
83 env = CompilerEnvironment
91 env = CompilerEnvironment
@@ -86,6 +94,7 @@ runCompilerJob compiler identifier provider lookup' route store =
86 , compilerDependencyLookup = lookup'
94 , compilerDependencyLookup = lookup'
87 , compilerRoute = route
95 , compilerRoute = route
88 , compilerStore = store
96 , compilerStore = store
97+ , compilerResourceModified = modified
91runCompilerDependencies :: Compiler () a
100runCompilerDependencies :: Compiler () a