diff options
| -rw-r--r-- | Tags.hs | 2 | ||||
| -rw-r--r-- | Utils.hs | 12 | ||||
| -rw-r--r-- | reploy.hs | 2 |
3 files changed, 13 insertions, 3 deletions
@@ -14,7 +14,7 @@ import qualified Data.Yaml as Y import Lens.Micro import Lens.Micro.Aeson import Lens.Micro.Mtl -import System.FilePath ((</>), joinPath, splitDirectories, takeFileName) +import System.FilePath (joinPath, splitDirectories, takeFileName) import AesonUtils import Types @@ -28,7 +28,7 @@ import System.Directory , doesDirectoryExist , getDirectoryContents ) -import System.FilePath ((</>), splitDirectories, takeDirectory) +import System.FilePath (splitDirectories, takeDirectory) import Text.Pandoc.Definition import qualified Text.Pandoc.Walk import Types @@ -96,6 +96,16 @@ unAbsolute = dropWhile (== '/') withPandocBlocks :: ([Block] -> [Block]) -> Pandoc -> Pandoc withPandocBlocks f (Pandoc meta blocks) = Pandoc meta (f blocks) +infixr 5 </> + +a </> b@('/':_) = + error + $ "internal error: unchecked concatenation of absolute path: " + ++ a + ++ " </> " + ++ b +a </> b = (System.FilePath.</>) a b + -- | Get all contents of a directory. (Interned from Hakyll.) getRecursiveContents :: (FilePath -> IO Bool) -- ^ Ignore this file/directory @@ -306,7 +306,7 @@ installRedirect target' from = do target <- rootedPageLink target' tname <- use redirectTemplate templ <- use $ templates . to (M.! fromString tname) - file <- indexFilename from + file <- indexFilename (unAbsolute from) checkTarget file io $ do putStrLn $ "@ -> " ++ file ++ " -> " ++ target |
