summaryrefslogtreecommitdiff
path: root/src/Hakyll/Util.hs
diff options
context:
space:
mode:
authorChris Wells <chris@mathematicaster.org>2025-03-25 07:17:53 -0500
committerChris Wells <chris@mathematicaster.org>2025-03-25 07:17:53 -0500
commite2a0c8d336f2644218573bdec0f83cd675944c5f (patch)
treefaa2748f0523e2c78264dfdeaa8a57cb230b4855 /src/Hakyll/Util.hs
parentd315c17b89d333d54cb2c608b7d3b3dcacb95507 (diff)
downloadmain-e2a0c8d336f2644218573bdec0f83cd675944c5f.tar
main-e2a0c8d336f2644218573bdec0f83cd675944c5f.tar.gz
main-e2a0c8d336f2644218573bdec0f83cd675944c5f.tar.bz2
main-e2a0c8d336f2644218573bdec0f83cd675944c5f.tar.lz
main-e2a0c8d336f2644218573bdec0f83cd675944c5f.tar.xz
main-e2a0c8d336f2644218573bdec0f83cd675944c5f.tar.zst
main-e2a0c8d336f2644218573bdec0f83cd675944c5f.zip
More work on papers
Diffstat (limited to 'src/Hakyll/Util.hs')
-rw-r--r--src/Hakyll/Util.hs15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/Hakyll/Util.hs b/src/Hakyll/Util.hs
index edbdb16..35169fa 100644
--- a/src/Hakyll/Util.hs
+++ b/src/Hakyll/Util.hs
@@ -1,7 +1,12 @@
module Hakyll.Util
- ( dropParentRoute
+ (
+ -- * Route utils
+ dropParentRoute
, modifyDirRoute
, modifyDirRoute_
+ -- * Context utils
+ , transformContext
+ , transformContext_
) where
import Prolog
@@ -17,3 +22,11 @@ modifyDirRoute f = customRoute $ f . splitDirectories . toFilePath
modifyDirRoute_ :: ([FilePath] -> [FilePath]) -> Routes
modifyDirRoute_ f = modifyDirRoute $ joinPath . f
+
+-- | General contramap
+transformContext :: (Item b -> Compiler (Item a)) -> Context a -> Context b
+transformContext f (Context c) = Context $ \n args itm -> c n args =<< f itm
+
+-- | Slightly more general contramap
+transformContext_ :: (b -> Compiler a) -> Context a -> Context b
+transformContext_ = transformContext . traverse