@@ -5,12 +5,26 @@ module Hakyll.Core.Configuration
5 , defaultHakyllConfiguration
5 , defaultHakyllConfiguration
8+import System.FilePath (takeFileName)
9+import Data.List (isPrefixOf, isSuffixOf)
8data HakyllConfiguration = HakyllConfiguration
11data HakyllConfiguration = HakyllConfiguration
9 { -- | Directory in which the output written
12 { -- | Directory in which the output written
10 destinationDirectory :: FilePath
13 destinationDirectory :: FilePath
11 , -- | Directory where hakyll's internal store is kept
14 , -- | Directory where hakyll's internal store is kept
12 storeDirectory :: FilePath
15 storeDirectory :: FilePath
13− } deriving (Show)
16+ , -- | Function to determine ignored files
18+ -- In 'defaultHakyllConfiguration', the following files are ignored:
20+ -- * files starting with a @.@
22+ -- * files ending with a @~@
24+ -- * files ending with @.swp@
26+ ignoreFile :: FilePath -> Bool
15-- | Default configuration for a hakyll application
29-- | Default configuration for a hakyll application
@@ -18,4 +32,13 @@ defaultHakyllConfiguration :: HakyllConfiguration
18defaultHakyllConfiguration = HakyllConfiguration
32defaultHakyllConfiguration = HakyllConfiguration
19 { destinationDirectory = "_site"
33 { destinationDirectory = "_site"
20 , storeDirectory = "_cache"
34 , storeDirectory = "_cache"
35+ , ignoreFile = ignoreFile'
39+ | "." `isPrefixOf` fileName = True
40+ | "~" `isSuffixOf` fileName = True
41+ | ".swp" `isSuffixOf` fileName = True
44+ fileName = takeFileName path