git.iko.soy/typeable/pandoc
on master help sign in
Templates: strip directory before trying to find partial in data files.

Closes #5987.

commit01b89d87f4d69a3d5a9cefbb6ff3f5808531e648 authorJohn MacFarlane <jgm@berkeley.edu> dateTue 17 Dec 2019, 11:10 (7 years ago) parent20cf4e4
1 file changed+4−3
src/Text/Pandoc/Templates.hs+4−3
src/Text/Pandoc/Templates.hs+4−3
@@ -25,7 +25,7 @@ module Text.Pandoc.Templates ( Template
2525 ) where
2626
2727import Prelude
28−import System.FilePath ((<.>), (</>))
28+import System.FilePath ((<.>), (</>), takeFileName)
2929import Text.DocTemplates (Template, TemplateMonad(..), compileTemplate, renderTemplate)
3030import Text.Pandoc.Class (PandocMonad, readDataFile, fetchItem,
3131 CommonState(..), getCommonState, modifyCommonState)
@@ -48,7 +48,7 @@ newtype WithPartials m a = WithPartials { runWithPartials :: m a }
4848
4949instance PandocMonad m => TemplateMonad (WithDefaultPartials m) where
5050 getPartial fp = WithDefaultPartials $
51− UTF8.toText <$> readDataFile fp
51+ UTF8.toText <$> readDataFile ("templates" </> takeFileName fp)
5252
5353instance PandocMonad m => TemplateMonad (WithPartials m) where
5454 getPartial fp = WithPartials $ getTemplate fp
@@ -68,7 +68,8 @@ getTemplate tp = UTF8.toText <$>
6868 `catchError`
6969 (\e -> case e of
7070 PandocResourceNotFound _ ->
71− readDataFile ("templates" </> tp)
71+ -- see #5987 on reason for takeFileName
72+ readDataFile ("templates" </> takeFileName tp)
7273 _ -> throwError e))
7374
7475-- | Get default template for the specified writer.