on df8e221 help sign in
hakyll/src/Hakyll/Core/ResourceProvider/FileResourceProvider.hs
24 lines 738 B history raw
1-- | A concrete 'ResourceProvider' that gets it's resources from the filesystem
2--
3module Hakyll.Core.ResourceProvider.FileResourceProvider
4 ( fileResourceProvider
5 ) where
7import Control.Applicative ((<$>))
9import qualified Data.ByteString.Lazy as LB
11import Hakyll.Core.ResourceProvider
12import Hakyll.Core.Identifier
13import Hakyll.Core.Util.File
15-- | Create a filesystem-based 'ResourceProvider'
16--
17fileResourceProvider :: IO ResourceProvider
18fileResourceProvider = do
19 list <- map parseIdentifier <$> getRecursiveContents "."
20 return $ ResourceProvider
21 { resourceList = list
22 , resourceString = readFile . toFilePath
23 , resourceLazyByteString = LB.readFile . toFilePath
24 }