@@ -60,10 +60,17 @@ import Hakyll.Core.Util.String
60type UsedMetadata = Bool
60type UsedMetadata = Bool
63+--------------------------------------------------------------------------------
64+data RoutesRead = RoutesRead
65+ { routesProvider :: Provider
66+ , routesUnderlying :: Identifier
63--------------------------------------------------------------------------------
70--------------------------------------------------------------------------------
64-- | Type used for a route
71-- | Type used for a route
65newtype Routes = Routes
72newtype Routes = Routes
66− { unRoutes :: Provider -> Identifier -> IO (Maybe FilePath, UsedMetadata)
73+ { unRoutes :: RoutesRead -> Identifier -> IO (Maybe FilePath, UsedMetadata)
@@ -81,7 +88,8 @@ instance Monoid Routes where
81-- | Apply a route to an identifier
88-- | Apply a route to an identifier
82runRoutes :: Routes -> Provider -> Identifier
89runRoutes :: Routes -> Provider -> Identifier
83 -> IO (Maybe FilePath, UsedMetadata)
90 -> IO (Maybe FilePath, UsedMetadata)
84−runRoutes = unRoutes
91+runRoutes routes provider identifier =
92+ unRoutes routes (RoutesRead provider identifier) identifier
87--------------------------------------------------------------------------------
95--------------------------------------------------------------------------------
@@ -156,9 +164,9 @@ gsubRoute pattern replacement = customRoute $
156--------------------------------------------------------------------------------
164--------------------------------------------------------------------------------
157-- | Get access to the metadata in order to determine the route
165-- | Get access to the metadata in order to determine the route
158metadataRoute :: (Metadata -> Routes) -> Routes
166metadataRoute :: (Metadata -> Routes) -> Routes
159−metadataRoute f = Routes $ \p i -> do
167+metadataRoute f = Routes $ \r i -> do
160− metadata <- resourceMetadata p i
168+ metadata <- resourceMetadata (routesProvider r) (routesUnderlying r)
161− unRoutes (f metadata) p i
169+ unRoutes (f metadata) r i
164--------------------------------------------------------------------------------
172--------------------------------------------------------------------------------