summaryrefslogtreecommitdiff
path: root/src/Hakyll/Core/Util/File.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Hakyll/Core/Util/File.hs')
-rw-r--r--src/Hakyll/Core/Util/File.hs11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/Hakyll/Core/Util/File.hs b/src/Hakyll/Core/Util/File.hs
index 0e34d7c..20cfbbc 100644
--- a/src/Hakyll/Core/Util/File.hs
+++ b/src/Hakyll/Core/Util/File.hs
@@ -25,12 +25,13 @@ makeDirectories = createDirectoryIfMissing True . takeDirectory
--------------------------------------------------------------------------------
-- | Get all contents of a directory.
-getRecursiveContents :: FilePath -- ^ Directory to search
- -> IO [FilePath] -- ^ List of files found
-getRecursiveContents top = go ""
+getRecursiveContents :: (FilePath -> Bool) -- ^ Ignore this file/directory
+ -> FilePath -- ^ Directory to search
+ -> IO [FilePath] -- ^ List of files found
+getRecursiveContents ignore top = go ""
where
- isProper = (`notElem` [".", ".."])
- go dir = do
+ isProper x = notElem x [".", ".."] && not (ignore x)
+ go dir = do
dirExists <- doesDirectoryExist (top </> dir)
if not dirExists
then return []