summaryrefslogtreecommitdiff
path: root/src/Hakyll/Core/Resource/Provider
diff options
context:
space:
mode:
authorJasper Van der Jeugt <m@jaspervdj.be>2012-11-09 16:34:45 +0100
committerJasper Van der Jeugt <m@jaspervdj.be>2012-11-09 16:34:45 +0100
commit1319bbfe4ab3ddd321bcbb902bba7392ad868324 (patch)
tree5fdcad316015db237b18ff7e22e0e73c5044cc6f /src/Hakyll/Core/Resource/Provider
parentdac3fac342c2fb8610b6f1d83cbfd97a70cf17f1 (diff)
downloadhakyll-1319bbfe4ab3ddd321bcbb902bba7392ad868324.tar.gz
Remove Resource type
Diffstat (limited to 'src/Hakyll/Core/Resource/Provider')
-rw-r--r--src/Hakyll/Core/Resource/Provider/Internal.hs84
1 files changed, 0 insertions, 84 deletions
diff --git a/src/Hakyll/Core/Resource/Provider/Internal.hs b/src/Hakyll/Core/Resource/Provider/Internal.hs
deleted file mode 100644
index fb93fcc..0000000
--- a/src/Hakyll/Core/Resource/Provider/Internal.hs
+++ /dev/null
@@ -1,84 +0,0 @@
---------------------------------------------------------------------------------
-module Hakyll.Core.Resource.Provider.Internal
- ( ResourceProvider (..)
- , newResourceProvider
-
- , resourceList
- , resourceExists
- , resourceMetadataResource
-
- , resourceString
- , resourceLBS
- ) where
-
-
---------------------------------------------------------------------------------
-import Control.Applicative ((<$>))
-import qualified Data.ByteString.Lazy as BL
-import Data.IORef
-import Data.Map (Map)
-import qualified Data.Map as M
-import Data.Set (Set)
-import qualified Data.Set as S
-import System.FilePath (addExtension)
-
-
---------------------------------------------------------------------------------
-import Hakyll.Core.Resource
-import Hakyll.Core.Store
-import Hakyll.Core.Util.File
-
-
---------------------------------------------------------------------------------
--- | Responsible for retrieving and listing resources
-data ResourceProvider = ResourceProvider
- { -- | A list of all files found
- resourceSet :: Set Resource
- , -- | Cache keeping track of modified files
- resourceModifiedCache :: IORef (Map Resource Bool)
- , -- | Underlying persistent store for caching
- resourceStore :: Store
- }
-
-
---------------------------------------------------------------------------------
--- | Create a resource provider
-newResourceProvider :: Store -- ^ Store to use
- -> (FilePath -> Bool) -- ^ Should we ignore this file?
- -> FilePath -- ^ Search directory
- -> IO ResourceProvider -- ^ Resulting provider
-newResourceProvider store ignore directory = do
- list <- map resource . filter (not . ignore) <$>
- getRecursiveContents False directory
- cache <- newIORef M.empty
- return $ ResourceProvider (S.fromList list) cache store
-
-
---------------------------------------------------------------------------------
-resourceList :: ResourceProvider -> [Resource]
-resourceList = S.toList . resourceSet
-
-
---------------------------------------------------------------------------------
--- | Check if a given resiyrce exists
-resourceExists :: ResourceProvider -> Resource -> Bool
-resourceExists provider = (`S.member` resourceSet provider)
-
-
---------------------------------------------------------------------------------
--- | Each resource may have an associated metadata resource (with a @.metadata@
--- filename)
-resourceMetadataResource :: Resource -> Resource
-resourceMetadataResource = resource . flip addExtension "metadata" . unResource
-
-
---------------------------------------------------------------------------------
--- | Get the raw body of a resource as string
-resourceString :: Resource -> IO String
-resourceString = readFile . unResource
-
-
---------------------------------------------------------------------------------
--- | Get the raw body of a resource of a lazy bytestring
-resourceLBS :: Resource -> IO BL.ByteString
-resourceLBS = BL.readFile . unResource