From eacead3eb316dd8e2d75737589dc017de36326fb Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Fri, 19 Mar 2021 22:57:48 -0700 Subject: Fix fallback to default partials on templates. If the directory containing a template does not contain the partial, it should be sought in the default data files. Closes #7164. --- src/Text/Pandoc/Templates.hs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Text/Pandoc/Templates.hs b/src/Text/Pandoc/Templates.hs index e83f26329..7fd896641 100644 --- a/src/Text/Pandoc/Templates.hs +++ b/src/Text/Pandoc/Templates.hs @@ -34,6 +34,7 @@ import Control.Monad.Except (catchError, throwError) import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Error +import System.IO.Error (isDoesNotExistError) -- | Wrap a Monad in this if you want partials to -- be taken only from the default data files. @@ -70,6 +71,9 @@ getTemplate tp = UTF8.toText <$> PandocResourceNotFound _ -> -- see #5987 on reason for takeFileName readDataFile ("templates" takeFileName tp) + PandocIOError _ ioe | isDoesNotExistError ioe -> + -- see #5987 on reason for takeFileName + readDataFile ("templates" takeFileName tp) _ -> throwError e)) -- | Get default template for the specified writer. -- cgit v1.2.3