diff options
| author | Jasper Van der Jeugt <m@jaspervdj.be> | 2012-11-09 16:34:45 +0100 |
|---|---|---|
| committer | Jasper Van der Jeugt <m@jaspervdj.be> | 2012-11-09 16:34:45 +0100 |
| commit | 1319bbfe4ab3ddd321bcbb902bba7392ad868324 (patch) | |
| tree | 5fdcad316015db237b18ff7e22e0e73c5044cc6f /src/Hakyll/Core/Resource/Provider | |
| parent | dac3fac342c2fb8610b6f1d83cbfd97a70cf17f1 (diff) | |
| download | hakyll-1319bbfe4ab3ddd321bcbb902bba7392ad868324.tar.gz | |
Remove Resource type
Diffstat (limited to 'src/Hakyll/Core/Resource/Provider')
| -rw-r--r-- | src/Hakyll/Core/Resource/Provider/Internal.hs | 84 |
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 |
