summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJasper Van der Jeugt <m@jaspervdj.be>2012-12-25 23:26:16 +0100
committerJasper Van der Jeugt <m@jaspervdj.be>2012-12-25 23:26:16 +0100
commitf61c5a7278613486c214c65080c003682f033c85 (patch)
tree1cf674fc96aac272c46f1058980611839837c927 /src
parent6a797b33efd846245d5ba6baebba5732223ae49e (diff)
downloadhakyll-f61c5a7278613486c214c65080c003682f033c85.tar.gz
Fix match/version thingy
Diffstat (limited to 'src')
-rw-r--r--src/Hakyll/Core/Rules.hs19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/Hakyll/Core/Rules.hs b/src/Hakyll/Core/Rules.hs
index ace9cce..2782c88 100644
--- a/src/Hakyll/Core/Rules.hs
+++ b/src/Hakyll/Core/Rules.hs
@@ -81,13 +81,10 @@ tellResources resources' = Rules $ tell $
--------------------------------------------------------------------------------
-match :: Pattern -> Rules b -> Rules b
-match pattern = Rules . censor matchRoutes . local addPattern . unRules
+-- | Make sure routes are consistent with the compilers in this section
+fixRoutes :: Rules b -> Rules b
+fixRoutes = Rules . censor matchRoutes . unRules
where
- addPattern env = env
- { rulesPattern = rulesPattern env `mappend` pattern
- }
-
-- Create a fast pattern for routing that matches exactly the compilers
-- created in the block given to match
matchRoutes ruleSet = ruleSet
@@ -97,10 +94,18 @@ match pattern = Rules . censor matchRoutes . local addPattern . unRules
fastPattern = fromList [id' | (id', _) <- rulesCompilers ruleSet]
+--------------------------------------------------------------------------------
+match :: Pattern -> Rules b -> Rules b
+match pattern = fixRoutes . Rules . local addPattern . unRules
+ where
+ addPattern env = env
+ { rulesPattern = rulesPattern env `mappend` pattern
+ }
+
--------------------------------------------------------------------------------
version :: String -> Rules a -> Rules a
-version v = Rules . local setVersion' . unRules
+version v = fixRoutes . Rules . local setVersion' . unRules
where
setVersion' env = env {rulesVersion = Just v}