diff options
author | Jasper Van der Jeugt <m@jaspervdj.be> | 2013-01-08 12:47:55 +0100 |
---|---|---|
committer | Jasper Van der Jeugt <m@jaspervdj.be> | 2013-01-08 12:47:55 +0100 |
commit | 50371ab5c198509c710a289430e1ad752eac786a (patch) | |
tree | 85ce5deeaee185fbf752a398f0583914c4e84b00 /src | |
parent | 91da7902518e7a1eb5a386408a53ef04d19e3de6 (diff) | |
download | hakyll-50371ab5c198509c710a289430e1ad752eac786a.tar.gz |
Add preprocess rule
Diffstat (limited to 'src')
-rw-r--r-- | src/Hakyll/Core/Rules.hs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Hakyll/Core/Rules.hs b/src/Hakyll/Core/Rules.hs index 450df83..8037ffb 100644 --- a/src/Hakyll/Core/Rules.hs +++ b/src/Hakyll/Core/Rules.hs @@ -25,6 +25,8 @@ module Hakyll.Core.Rules , route -- * Advanced usage + , preprocess + , Dependency (..) , rulesExtraDependencies ) where @@ -33,6 +35,7 @@ module Hakyll.Core.Rules import Control.Applicative ((<$>)) import Control.Monad.Reader (ask, local) import Control.Monad.State (get, modify, put) +import Control.Monad.Trans (liftIO) import Control.Monad.Writer (censor, tell) import Data.Maybe (fromMaybe) import Data.Monoid (mempty) @@ -158,6 +161,13 @@ route route' = Rules $ modify $ \s -> s {rulesRoute = Just route'} -------------------------------------------------------------------------------- +-- | Execute an 'IO' action immediately while the rules are being evaluated. +-- This should be avoided if possible, but occasionally comes in useful. +preprocess :: IO a -> Rules a +preprocess = Rules . liftIO + + +-------------------------------------------------------------------------------- -- | Advanced usage: add extra dependencies to compilers. Basically this is -- needed when you're doing unsafe tricky stuff in the rules monad, but you -- still want correct builds. |