summaryrefslogtreecommitdiff
path: root/src/Hakyll/Core/ResourceProvider
diff options
context:
space:
mode:
Diffstat (limited to 'src/Hakyll/Core/ResourceProvider')
-rw-r--r--src/Hakyll/Core/ResourceProvider/Internal.hs16
-rw-r--r--src/Hakyll/Core/ResourceProvider/Metadata.hs2
-rw-r--r--src/Hakyll/Core/ResourceProvider/MetadataCache.hs8
-rw-r--r--src/Hakyll/Core/ResourceProvider/Modified.hs6
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