on fbe95ce help sign in
24 lines 793 B history raw
1-- | A concrete 'ResourceProvider' that gets it's resources from the filesystem
2--
3module Hakyll.Core.Resource.Provider.File
4 ( fileResourceProvider
5 ) where
7import Control.Applicative ((<$>))
9import qualified Data.ByteString.Lazy as LB
11import Hakyll.Core.Resource
12import Hakyll.Core.Resource.Provider
13import Hakyll.Core.Util.File
14import Hakyll.Core.Configuration
16-- | Create a filesystem-based 'ResourceProvider'
17--
18fileResourceProvider :: HakyllConfiguration -> IO ResourceProvider
19fileResourceProvider configuration = do
20 -- Retrieve a list of paths
21 list <- map Resource . filter (not . shouldIgnoreFile configuration) <$>
22 getRecursiveContents False "."
23 makeResourceProvider list (readFile . unResource)
24 (LB.readFile . unResource)