diff options
| author | John MacFarlane <[email protected]> | 2025-03-05 13:24:05 -0800 |
|---|---|---|
| committer | John MacFarlane <[email protected]> | 2025-03-05 13:24:05 -0800 |
| commit | e73b9ee1d80b0732d2e422b3ab30260b646e47a2 (patch) | |
| tree | 14412825be46f92bd34f133cd8952704e9aff199 /src | |
| parent | b58381a0d498a3c6a1e45f69807366e8674448d7 (diff) | |
Disable citations extension in writers if `--citeproc` is used.
Otherwise we get undesirable results, as the format's native
citation mechanism is used instead of (or in addition to) the
citeproc-generated citations. Closes #10662.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Text/Pandoc/App/OutputSettings.hs | 7 | ||||
| -rw-r--r-- | src/Text/Pandoc/Filter.hs | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/Text/Pandoc/App/OutputSettings.hs b/src/Text/Pandoc/App/OutputSettings.hs index 38cd35455..3824ecbda 100644 --- a/src/Text/Pandoc/App/OutputSettings.hs +++ b/src/Text/Pandoc/App/OutputSettings.hs @@ -38,6 +38,7 @@ import System.FilePath import System.IO (stdout) import Text.Pandoc.Chunks (PathTemplate(..)) import Text.Pandoc +import Text.Pandoc.Filter (Filter(CiteprocFilter)) import Text.Pandoc.App.Opt (Opt (..)) import Text.Pandoc.App.CommandLineOptions (engines) import Text.Pandoc.Format (FlavoredFormat (..), applyExtensionsDiff, @@ -121,7 +122,7 @@ optToOutputSettings scriptingEngine opts = do then getAndCompile (tp <.> T.unpack format) else throwError e) - (writer, writerExts, mtemplate) <- + (writer, writerExts', mtemplate) <- if "lua" `T.isSuffixOf` format then do let path = T.unpack format @@ -150,6 +151,10 @@ optToOutputSettings scriptingEngine opts = do tmpl <- processCustomTemplate (compileDefaultTemplate format) return (w, wexts, tmpl) + -- see #10662: + let writerExts = if CiteprocFilter `elem` optFilters opts + then disableExtension Ext_citations writerExts' + else writerExts' let addSyntaxMap existingmap f = do res <- liftIO (parseSyntaxDefinition f) diff --git a/src/Text/Pandoc/Filter.hs b/src/Text/Pandoc/Filter.hs index 7b51f7239..36700d5f6 100644 --- a/src/Text/Pandoc/Filter.hs +++ b/src/Text/Pandoc/Filter.hs @@ -41,7 +41,7 @@ import Control.Monad (foldM, when) data Filter = LuaFilter FilePath | JSONFilter FilePath | CiteprocFilter -- built-in citeproc - deriving (Show, Generic) + deriving (Show, Generic, Eq) instance FromJSON Filter where parseJSON node = |
