diff options
Diffstat (limited to 'reploy.hs')
| -rw-r--r-- | reploy.hs | 21 |
1 files changed, 12 insertions, 9 deletions
@@ -18,7 +18,7 @@ -- | The main site deployment executable. module Main where -import Control.Monad ((>=>), filterM, join, unless, when) +import Control.Monad (filterM, join, unless, when) import Control.Monad.Extra (ifM, whenM) import Control.Monad.Trans.State.Lazy import qualified Data.Aeson as AE @@ -333,22 +333,25 @@ installFile fp = do copy fp file pure loc --- | Simply copy a strictly named asset. -installAsset :: FilePath -> Site () -installAsset fp = do +-- | Simply copy an explicitly named asset in the given asset dir +installAsset :: FilePath -> FilePath -> Site () +installAsset ad fp = do od <- use outputDir - ad <- use assetDir let [src, dst] = map (</> fp) [ad, od] checkTarget dst io $ do putStrLn $ "A -> " ++ src ++ " -> " ++ dst copy src dst --- | Copy all files from asset directory. +-- | Copy all files from a given asset directory. +installAssetDir :: FilePath -> Site () +installAssetDir ad = + io (getRecursiveContents (pure . const False) ad) >>= + traverse_ (installAsset ad) + +-- | Copy all files from the asset directories. installAssets :: Site () -installAssets = - use assetDir >>= - (io . getRecursiveContents (pure . const False) >=> traverse_ installAsset) +installAssets = use assetdirs >>= traverse installAssetDir -- | Load tag names from a directory and add them to `tagNames`. sourceTagnames :: FilePath -> Site () |
