From 01b89d87f4d69a3d5a9cefbb6ff3f5808531e648 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Tue, 17 Dec 2019 11:10:16 -0800 Subject: Templates: strip directory before trying to find partial in data files. Closes #5987. --- src/Text/Pandoc/Templates.hs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/Text') diff --git a/src/Text/Pandoc/Templates.hs b/src/Text/Pandoc/Templates.hs index daf9c02fb..f04a73b58 100644 --- a/src/Text/Pandoc/Templates.hs +++ b/src/Text/Pandoc/Templates.hs @@ -25,7 +25,7 @@ module Text.Pandoc.Templates ( Template ) where import Prelude -import System.FilePath ((<.>), ()) +import System.FilePath ((<.>), (), takeFileName) import Text.DocTemplates (Template, TemplateMonad(..), compileTemplate, renderTemplate) import Text.Pandoc.Class (PandocMonad, readDataFile, fetchItem, CommonState(..), getCommonState, modifyCommonState) @@ -48,7 +48,7 @@ newtype WithPartials m a = WithPartials { runWithPartials :: m a } instance PandocMonad m => TemplateMonad (WithDefaultPartials m) where getPartial fp = WithDefaultPartials $ - UTF8.toText <$> readDataFile fp + UTF8.toText <$> readDataFile ("templates" takeFileName fp) instance PandocMonad m => TemplateMonad (WithPartials m) where getPartial fp = WithPartials $ getTemplate fp @@ -68,7 +68,8 @@ getTemplate tp = UTF8.toText <$> `catchError` (\e -> case e of PandocResourceNotFound _ -> - readDataFile ("templates" tp) + -- see #5987 on reason for takeFileName + readDataFile ("templates" takeFileName tp) _ -> throwError e)) -- | Get default template for the specified writer. -- cgit v1.2.3