diff options
Diffstat (limited to 'src/Hakyll/Core/ResourceProvider')
-rw-r--r-- | src/Hakyll/Core/ResourceProvider/Internal.hs | 16 | ||||
-rw-r--r-- | src/Hakyll/Core/ResourceProvider/Metadata.hs | 2 | ||||
-rw-r--r-- | src/Hakyll/Core/ResourceProvider/MetadataCache.hs | 8 | ||||
-rw-r--r-- | src/Hakyll/Core/ResourceProvider/Modified.hs | 6 |
4 files changed, 16 insertions, 16 deletions
diff --git a/src/Hakyll/Core/ResourceProvider/Internal.hs b/src/Hakyll/Core/ResourceProvider/Internal.hs index 02ff98c..628d1b5 100644 --- a/src/Hakyll/Core/ResourceProvider/Internal.hs +++ b/src/Hakyll/Core/ResourceProvider/Internal.hs @@ -33,9 +33,9 @@ import Hakyll.Core.Identifier -- | Responsible for retrieving and listing resources data ResourceProvider = ResourceProvider { -- | A list of all files found - resourceSet :: Set (Identifier ()) + resourceSet :: Set Identifier , -- | Cache keeping track of modified files - resourceModifiedCache :: IORef (Map (Identifier ()) Bool) + resourceModifiedCache :: IORef (Map Identifier Bool) , -- | Underlying persistent store for caching resourceStore :: Store } @@ -55,32 +55,32 @@ newResourceProvider store ignore directory = do -------------------------------------------------------------------------------- -resourceList :: ResourceProvider -> [Identifier ()] +resourceList :: ResourceProvider -> [Identifier] resourceList = S.toList . resourceSet -------------------------------------------------------------------------------- -- | Check if a given resource exists -resourceExists :: ResourceProvider -> Identifier a -> Bool +resourceExists :: ResourceProvider -> Identifier -> Bool resourceExists provider = - (`S.member` resourceSet provider) . setVersion Nothing . castIdentifier + (`S.member` resourceSet provider) . setVersion Nothing -------------------------------------------------------------------------------- -- | Each resource may have an associated metadata resource (with a @.metadata@ -- filename) -resourceMetadataResource :: Identifier a -> Identifier () +resourceMetadataResource :: Identifier -> Identifier resourceMetadataResource = fromFilePath . flip addExtension "metadata" . toFilePath -------------------------------------------------------------------------------- -- | Get the raw body of a resource as string -resourceString :: Identifier a -> IO String +resourceString :: Identifier -> IO String resourceString = readFile . toFilePath -------------------------------------------------------------------------------- -- | Get the raw body of a resource of a lazy bytestring -resourceLBS :: Identifier a -> IO BL.ByteString +resourceLBS :: Identifier -> IO BL.ByteString resourceLBS = BL.readFile . toFilePath diff --git a/src/Hakyll/Core/ResourceProvider/Metadata.hs b/src/Hakyll/Core/ResourceProvider/Metadata.hs index 2b0615c..50af0c9 100644 --- a/src/Hakyll/Core/ResourceProvider/Metadata.hs +++ b/src/Hakyll/Core/ResourceProvider/Metadata.hs @@ -24,7 +24,7 @@ import Hakyll.Core.Util.String -------------------------------------------------------------------------------- -loadMetadata :: ResourceProvider -> Identifier a -> IO (Metadata, Maybe String) +loadMetadata :: ResourceProvider -> Identifier -> IO (Metadata, Maybe String) loadMetadata rp identifier = do hasHeader <- probablyHasMetadataHeader fp (md, body) <- if hasHeader diff --git a/src/Hakyll/Core/ResourceProvider/MetadataCache.hs b/src/Hakyll/Core/ResourceProvider/MetadataCache.hs index 85062a0..959cdde 100644 --- a/src/Hakyll/Core/ResourceProvider/MetadataCache.hs +++ b/src/Hakyll/Core/ResourceProvider/MetadataCache.hs @@ -15,7 +15,7 @@ import qualified Hakyll.Core.Store as Store -------------------------------------------------------------------------------- -resourceMetadata :: ResourceProvider -> Identifier a -> IO Metadata +resourceMetadata :: ResourceProvider -> Identifier -> IO Metadata resourceMetadata rp r = do load rp r Store.Found md <- Store.get (resourceStore rp) @@ -24,7 +24,7 @@ resourceMetadata rp r = do -------------------------------------------------------------------------------- -resourceBody :: ResourceProvider -> Identifier a -> IO String +resourceBody :: ResourceProvider -> Identifier -> IO String resourceBody rp r = do load rp r Store.Found bd <- Store.get (resourceStore rp) @@ -33,14 +33,14 @@ resourceBody rp r = do -------------------------------------------------------------------------------- -resourceInvalidateMetadataCache :: ResourceProvider -> Identifier a -> IO () +resourceInvalidateMetadataCache :: ResourceProvider -> Identifier -> IO () resourceInvalidateMetadataCache rp r = do Store.delete (resourceStore rp) [name, toFilePath r, "metadata"] Store.delete (resourceStore rp) [name, toFilePath r, "body"] -------------------------------------------------------------------------------- -load :: ResourceProvider -> Identifier a -> IO () +load :: ResourceProvider -> Identifier -> IO () load rp r = do mmd <- Store.get store mdk :: IO (Store.Result Metadata) case mmd of diff --git a/src/Hakyll/Core/ResourceProvider/Modified.hs b/src/Hakyll/Core/ResourceProvider/Modified.hs index 0da3d0f..761f13c 100644 --- a/src/Hakyll/Core/ResourceProvider/Modified.hs +++ b/src/Hakyll/Core/ResourceProvider/Modified.hs @@ -27,7 +27,7 @@ import qualified Hakyll.Core.Store as Store -------------------------------------------------------------------------------- -- | A resource is modified if it or its metadata has changed -resourceModified :: ResourceProvider -> Identifier a -> IO Bool +resourceModified :: ResourceProvider -> Identifier -> IO Bool resourceModified rp r | not exists = return False | otherwise = do @@ -47,7 +47,7 @@ resourceModified rp r return m where - normalized = castIdentifier $ setVersion Nothing r + normalized = setVersion Nothing r exists = resourceExists rp r store = resourceStore rp cacheRef = resourceModifiedCache rp @@ -79,5 +79,5 @@ fileDigest = fmap MD5.hashlazy . BL.readFile -------------------------------------------------------------------------------- -resourceModificationTime :: Identifier a -> IO UTCTime +resourceModificationTime :: Identifier -> IO UTCTime resourceModificationTime = getModificationTime . toFilePath |