on master help sign in
Use resourceFilePath for copyFileCompiler
9b30522Jasper Van der Jeugt
src/Hakyll/Core/File.hs+8−11
@@ -24,8 +24,8 @@ import System.Random (randomIO)
24import Hakyll.Core.Compiler
24import Hakyll.Core.Compiler
25import Hakyll.Core.Compiler.Internal
25import Hakyll.Core.Compiler.Internal
26import Hakyll.Core.Configuration
26import Hakyll.Core.Configuration
27−import Hakyll.Core.Identifier
28import Hakyll.Core.Item
27import Hakyll.Core.Item
28+import Hakyll.Core.Provider
29import qualified Hakyll.Core.Store as Store
29import qualified Hakyll.Core.Store as Store
30import Hakyll.Core.Util.File
30import Hakyll.Core.Util.File
31import Hakyll.Core.Writable
31import Hakyll.Core.Writable
@@ -33,24 +33,21 @@ import Hakyll.Core.Writable
33
33
34--------------------------------------------------------------------------------
34--------------------------------------------------------------------------------
35-- | This will copy any file directly by using a system call
35-- | This will copy any file directly by using a system call
36−data CopyFile = CopyFile
36+newtype CopyFile = CopyFile FilePath
37− deriving (Show, Eq, Ord, Typeable)
37+ deriving (Binary, Eq, Ord, Show, Typeable)
38−
39−
40−--------------------------------------------------------------------------------
41−instance Binary CopyFile where
42− put CopyFile = return ()
43− get = return CopyFile
44
38
45
39
46--------------------------------------------------------------------------------
40--------------------------------------------------------------------------------
47instance Writable CopyFile where
41instance Writable CopyFile where
48− write dst item = copyFile (toFilePath $ itemIdentifier item) dst
42+ write dst (Item _ (CopyFile src)) = copyFile src dst
49
43
50
44
51--------------------------------------------------------------------------------
45--------------------------------------------------------------------------------
52copyFileCompiler :: Compiler (Item CopyFile)
46copyFileCompiler :: Compiler (Item CopyFile)
53−copyFileCompiler = makeItem CopyFile
47+copyFileCompiler = do
48+ identifier <- getUnderlying
49+ provider <- compilerProvider <$> compilerAsk
50+ makeItem $ CopyFile $ resourceFilePath provider identifier
54
51
55
52
56--------------------------------------------------------------------------------
53--------------------------------------------------------------------------------
src/Hakyll/Core/Provider.hs+1
@@ -9,6 +9,7 @@ module Hakyll.Core.Provider
9 -- * Querying resource properties
9 -- * Querying resource properties
10 , Internal.resourceList
10 , Internal.resourceList
11 , Internal.resourceExists
11 , Internal.resourceExists
12+ , Internal.resourceFilePath
12 , Internal.resourceModified
13 , Internal.resourceModified
13 , Internal.resourceModificationTime
14 , Internal.resourceModificationTime
14
15