@@ -24,8 +24,8 @@ import System.Random (randomIO)
2424import Hakyll.Core.Compiler
2525import Hakyll.Core.Compiler.Internal
2626import Hakyll.Core.Configuration
27−import Hakyll.Core.Identifier
2827import Hakyll.Core.Item
28+import Hakyll.Core.Provider
2929import qualified Hakyll.Core.Store as Store
3030import Hakyll.Core.Util.File
3131import Hakyll.Core.Writable
@@ -33,24 +33,21 @@ import Hakyll.Core.Writable
3333
3434--------------------------------------------------------------------------------
3535-- | This will copy any file directly by using a system call
36−data CopyFile = CopyFile
37− deriving (Show, Eq, Ord, Typeable)
38−
39−
40−--------------------------------------------------------------------------------
41−instance Binary CopyFile where
42− put CopyFile = return ()
43− get = return CopyFile
36+newtype CopyFile = CopyFile FilePath
37+ deriving (Binary, Eq, Ord, Show, Typeable)
4438
4539
4640--------------------------------------------------------------------------------
4741instance Writable CopyFile where
48− write dst item = copyFile (toFilePath $ itemIdentifier item) dst
42+ write dst (Item _ (CopyFile src)) = copyFile src dst
4943
5044
5145--------------------------------------------------------------------------------
5246copyFileCompiler :: Compiler (Item CopyFile)
53−copyFileCompiler = makeItem CopyFile
47+copyFileCompiler = do
48+ identifier <- getUnderlying
49+ provider <- compilerProvider <$> compilerAsk
50+ makeItem $ CopyFile $ resourceFilePath provider identifier
5451
5552
5653--------------------------------------------------------------------------------